summaryrefslogtreecommitdiffstats
path: root/dive.c
diff options
context:
space:
mode:
authorGravatar Robert C. Helling <helling@atdotde.de>2014-10-24 16:40:21 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-11-04 07:13:04 -0800
commit06ddfc01222879ee0463affe796dba05de33b368 (patch)
treef098f39a8ffb7321e3db08989960b9dd511a1b53 /dive.c
parentf31d34adfd9676d7ccb6544d4a2b50336295e917 (diff)
downloadsubsurface-06ddfc01222879ee0463affe796dba05de33b368.tar.gz
Prepare for PSCR calculations
Calculations for passive semi-closed rebreathers are pretty much like OC except the pO2 is lower bey a certain (SAC dependent) factor. This patch introduces the corresponding calculations in case dctype == PSCR which is so far never set and there is currently no UI for these calculations. As pO2 is SAC dependent it takes a certain attempt at getting it and drops to defaults from the prefs otherwise. As there is no UI at this point and I also don't have any dives, this has not received much testing, yet, but it compiles. At least. Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'dive.c')
-rw-r--r--dive.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/dive.c b/dive.c
index 9ec535d86..45b50b72d 100644
--- a/dive.c
+++ b/dive.c
@@ -1549,8 +1549,13 @@ int gasmix_distance(const struct gasmix *a, const struct gasmix *b)
* *mix = structure containing cylinder gas mixture information.
* This function called by: calculate_gas_information_new() in profile.c; add_segment() in deco.c.
*/
-extern void fill_pressures(struct gas_pressures *pressures, const double amb_pressure, const struct gasmix *mix, double po2)
+extern void fill_pressures(struct gas_pressures *pressures, const double amb_pressure, const struct gasmix *mix, double po2, enum dive_comp_type dctype, int sac)
{
+ if (!sac) {
+ /* The SAC has not yet been computer, so use the default *
+ * We might try harder... */
+ sac = prefs.bottomsac;
+ }
if (po2) { // This is probably a CCR dive where pressures->o2 is defined
if (po2 >= amb_pressure) {
pressures->o2 = amb_pressure;