mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	units: replace SURFACE_PRESSURE by 1_atm
Moreover, convert diveplan::surface_pressure from int to pressure_t. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
		
							parent
							
								
									ae81b42fe2
								
							
						
					
					
						commit
						dd5def35f5
					
				
					 11 changed files with 56 additions and 64 deletions
				
			
		|  | @ -2368,8 +2368,7 @@ bool dive::cache_is_valid() const | |||
| 
 | ||||
| pressure_t dive::get_surface_pressure() const | ||||
| { | ||||
| 	return surface_pressure.mbar > 0 ? surface_pressure | ||||
| 					 : pressure_t { .mbar = SURFACE_PRESSURE }; | ||||
| 	return surface_pressure.mbar > 0 ? surface_pressure : 1_atm; | ||||
| } | ||||
| 
 | ||||
| /* This returns the conversion factor that you need to multiply
 | ||||
|  | @ -2387,17 +2386,14 @@ static double salinity_to_specific_weight(int salinity) | |||
|  * and add that to the surface pressure (or to 1013 if that's unknown) */ | ||||
| static double calculate_depth_to_mbarf(int depth, pressure_t surface_pressure, int salinity) | ||||
| { | ||||
| 	double specific_weight; | ||||
| 	int mbar = surface_pressure.mbar; | ||||
| 
 | ||||
| 	if (!mbar) | ||||
| 		mbar = SURFACE_PRESSURE; | ||||
| 	if (!surface_pressure.mbar) | ||||
| 		surface_pressure = 1_atm; | ||||
| 	if (!salinity) | ||||
| 		salinity = SEAWATER_SALINITY; | ||||
| 	if (salinity < 500) | ||||
| 		salinity += FRESHWATER_SALINITY; | ||||
| 	specific_weight = salinity_to_specific_weight(salinity); | ||||
| 	return mbar + depth * specific_weight; | ||||
| 	double specific_weight = salinity_to_specific_weight(salinity); | ||||
| 	return surface_pressure.mbar + depth * specific_weight; | ||||
| } | ||||
| 
 | ||||
| int dive::depth_to_mbar(int depth) const | ||||
|  | @ -2452,7 +2448,7 @@ int dive::mbar_to_depth(int mbar) const | |||
| 		: dcs[0].surface_pressure; | ||||
| 
 | ||||
| 	if (!surface_pressure.mbar) | ||||
| 		surface_pressure.mbar = SURFACE_PRESSURE; | ||||
| 		surface_pressure = 1_atm; | ||||
| 
 | ||||
| 	return rel_mbar_to_depth(mbar - surface_pressure.mbar); | ||||
| } | ||||
|  |  | |||
|  | @ -57,7 +57,7 @@ void dump_plan(struct diveplan *diveplan) | |||
| 	printf("\nDiveplan @ %04d-%02d-%02d %02d:%02d:%02d (surfpres %dmbar):\n", | ||||
| 	       tm.tm_year, tm.tm_mon + 1, tm.tm_mday, | ||||
| 	       tm.tm_hour, tm.tm_min, tm.tm_sec, | ||||
| 	       diveplan->surface_pressure); | ||||
| 	       diveplan->surface_pressure.mbar); | ||||
| 	dp = diveplan->dp; | ||||
| 	while (dp) { | ||||
| 		printf("\t%3u:%02u: %6dmm cylid: %2d setpoint: %d\n", FRACTION_TUPLE(dp->time, 60), dp->depth, dp->cylinderid, dp->setpoint); | ||||
|  | @ -216,7 +216,7 @@ static void create_dive_from_plan(struct diveplan &diveplan, struct dive *dive, | |||
| 	// dive-to-be-planned so we can restart
 | ||||
| 	reset_cylinders(dive, track_gas); | ||||
| 	dc->when = dive->when = diveplan.when; | ||||
| 	dc->surface_pressure.mbar = diveplan.surface_pressure; | ||||
| 	dc->surface_pressure = diveplan.surface_pressure; | ||||
| 	dc->salinity = diveplan.salinity; | ||||
| 	dc->samples.clear(); | ||||
| 	dc->events.clear(); | ||||
|  | @ -305,7 +305,7 @@ divedatapoint::divedatapoint(int time_incr, int depth, int cylinderid, int po2, | |||
| 	time(time_incr), | ||||
| 	depth{ .mm = depth }, | ||||
| 	cylinderid(cylinderid), | ||||
| 	minimum_gas = 0_bar; | ||||
| 	minimum_gas(0_bar), | ||||
| 	setpoint(po2), | ||||
| 	entered(entered), | ||||
| 	divemode(OC) | ||||
|  | @ -640,16 +640,14 @@ std::vector<decostop> plan(struct deco_state *ds, struct diveplan &diveplan, str | |||
| 	set_gf(diveplan.gflow, diveplan.gfhigh); | ||||
| 	set_vpmb_conservatism(diveplan.vpmb_conservatism); | ||||
| 
 | ||||
| 	if (!diveplan.surface_pressure) { | ||||
| 	if (diveplan.surface_pressure.mbar == 0) { | ||||
| 		// Lets use dive's surface pressure in planner, if have one...
 | ||||
| 		if (dc->surface_pressure.mbar) { // First from DC...
 | ||||
| 			diveplan.surface_pressure = dc->surface_pressure.mbar; | ||||
| 		} | ||||
| 		else if (dive->surface_pressure.mbar) { // After from user...
 | ||||
| 			diveplan.surface_pressure = dive->surface_pressure.mbar; | ||||
| 		} | ||||
| 		else { | ||||
| 			diveplan.surface_pressure = SURFACE_PRESSURE; | ||||
| 		if (dc->surface_pressure.mbar != 0) { // First from DC...
 | ||||
| 			diveplan.surface_pressure = dc->surface_pressure; | ||||
| 		} else if (dive->surface_pressure.mbar != 0) { // After from user...
 | ||||
| 			diveplan.surface_pressure = dive->surface_pressure; | ||||
| 		} else { | ||||
| 			diveplan.surface_pressure = 1_atm; | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
|  | @ -744,7 +742,7 @@ std::vector<decostop> plan(struct deco_state *ds, struct diveplan &diveplan, str | |||
| 			update_cylinder_pressure(dive, depth, depth, timestep, prefs.bottomsac, dive->get_cylinder(current_cylinder), false, divemode); | ||||
| 			clock += timestep; | ||||
| 		} while (trial_ascent(ds, 0, depth, 0, avg_depth, bottom_time, dive->get_cylinder(current_cylinder)->gasmix, | ||||
| 				      po2, diveplan.surface_pressure / 1000.0, dive, divemode) && | ||||
| 				      po2, diveplan.surface_pressure.mbar / 1000.0, dive, divemode) && | ||||
| 			 enough_gas(dive, current_cylinder) && clock < 6 * 3600); | ||||
| 
 | ||||
| 		// We did stay one timestep too many.
 | ||||
|  | @ -821,7 +819,7 @@ std::vector<decostop> plan(struct deco_state *ds, struct diveplan &diveplan, str | |||
| 		decostoptable.clear(); | ||||
| 		is_final_plan = (decoMode(true) == BUEHLMANN) || (previous_deco_time - ds->deco_time < 10);  // CVA time converges
 | ||||
| 		if (ds->deco_time != 10000000) | ||||
| 			vpmb_next_gradient(ds, ds->deco_time, diveplan.surface_pressure / 1000.0, true); | ||||
| 			vpmb_next_gradient(ds, ds->deco_time, diveplan.surface_pressure.mbar / 1000.0, true); | ||||
| 
 | ||||
| 		previous_deco_time = ds->deco_time; | ||||
| 		bottom_cache.restore(ds, true); | ||||
|  | @ -836,7 +834,7 @@ std::vector<decostop> plan(struct deco_state *ds, struct diveplan &diveplan, str | |||
| 		stopidx = bottom_stopidx; | ||||
| 		ds->first_ceiling_pressure.mbar = dive->depth_to_mbar( | ||||
| 					deco_allowed_depth(tissue_tolerance_calc(ds, dive, dive->depth_to_bar(depth), true), | ||||
| 							   diveplan.surface_pressure / 1000.0, dive, 1)); | ||||
| 							   diveplan.surface_pressure.mbar / 1000.0, dive, 1)); | ||||
| 		if (ds->max_bottom_ceiling_pressure.mbar > ds->first_ceiling_pressure.mbar) | ||||
| 			ds->first_ceiling_pressure.mbar = ds->max_bottom_ceiling_pressure.mbar; | ||||
| 
 | ||||
|  | @ -893,7 +891,7 @@ std::vector<decostop> plan(struct deco_state *ds, struct diveplan &diveplan, str | |||
| 				if (current_cylinder != gaschanges[gi].gasidx) { | ||||
| 					if (!prefs.switch_at_req_stop || | ||||
| 							!trial_ascent(ds, 0, depth, stoplevels[stopidx - 1], avg_depth, bottom_time, | ||||
| 							dive->get_cylinder(current_cylinder)->gasmix, po2, diveplan.surface_pressure / 1000.0, dive, divemode) || get_o2(dive->get_cylinder(current_cylinder)->gasmix) < 160) { | ||||
| 							dive->get_cylinder(current_cylinder)->gasmix, po2, diveplan.surface_pressure.mbar / 1000.0, dive, divemode) || get_o2(dive->get_cylinder(current_cylinder)->gasmix) < 160) { | ||||
| 						if (is_final_plan) | ||||
| 							plan_add_segment(diveplan, clock - previous_point_time, depth, current_cylinder, po2, false, divemode); | ||||
| 						stopping = true; | ||||
|  | @ -929,7 +927,7 @@ std::vector<decostop> plan(struct deco_state *ds, struct diveplan &diveplan, str | |||
| 			while (1) { | ||||
| 				/* Check if ascending to next stop is clear, go back and wait if we hit the ceiling on the way */ | ||||
| 				if (trial_ascent(ds, 0, depth, stoplevels[stopidx], avg_depth, bottom_time, | ||||
| 						dive->get_cylinder(current_cylinder)->gasmix, po2, diveplan.surface_pressure / 1000.0, dive, divemode)) { | ||||
| 						dive->get_cylinder(current_cylinder)->gasmix, po2, diveplan.surface_pressure.mbar / 1000.0, dive, divemode)) { | ||||
| 					decostoptable.push_back( decostop { depth, 0 }); | ||||
| 					break; /* We did not hit the ceiling */ | ||||
| 				} | ||||
|  | @ -971,7 +969,7 @@ std::vector<decostop> plan(struct deco_state *ds, struct diveplan &diveplan, str | |||
| 				} | ||||
| 
 | ||||
| 				int new_clock = wait_until(ds, dive, clock, clock, laststoptime * 2 + 1, timestep, depth, stoplevels[stopidx], avg_depth, | ||||
| 					bottom_time, dive->get_cylinder(current_cylinder)->gasmix, po2, diveplan.surface_pressure / 1000.0, divemode); | ||||
| 					bottom_time, dive->get_cylinder(current_cylinder)->gasmix, po2, diveplan.surface_pressure.mbar / 1000.0, divemode); | ||||
| 				laststoptime = new_clock - clock; | ||||
| 				/* Finish infinite deco */ | ||||
| 				if (laststoptime >= 48 * 3600 && depth >= 6000) { | ||||
|  |  | |||
|  | @ -39,7 +39,7 @@ struct diveplan { | |||
| 	diveplan &operator=(diveplan &&) = default; | ||||
| 
 | ||||
| 	timestamp_t when = 0; | ||||
| 	int surface_pressure = 0; /* mbar */ | ||||
| 	pressure_t surface_pressure; | ||||
| 	int bottomsac = 0;	/* ml/min */ | ||||
| 	int decosac = 0;	  /* ml/min */ | ||||
| 	int salinity = 0; | ||||
|  |  | |||
							
								
								
									
										15
									
								
								core/units.h
									
										
									
									
									
								
							
							
						
						
									
										15
									
								
								core/units.h
									
										
									
									
									
								
							|  | @ -15,7 +15,6 @@ | |||
| #define O2_DENSITY 1331 // mg/Liter
 | ||||
| #define N2_DENSITY 1165 | ||||
| #define HE_DENSITY 166 | ||||
| #define SURFACE_PRESSURE 1013 // mbar
 | ||||
| #define ZERO_C_IN_MKELVIN 273150 // mKelvin
 | ||||
| 
 | ||||
| #define M_OR_FT(_m, _f) ((prefs.units.length == units::METERS) ? ((_m) * 1000) : (feet_to_mm(_f))) | ||||
|  | @ -345,12 +344,12 @@ static inline double to_PSI(pressure_t pressure) | |||
| 
 | ||||
| static inline double bar_to_atm(double bar) | ||||
| { | ||||
| 	return bar / SURFACE_PRESSURE * 1000; | ||||
| 	return bar / (1_atm).mbar * 1000; | ||||
| } | ||||
| 
 | ||||
| static inline double mbar_to_atm(int mbar) | ||||
| { | ||||
| 	return (double)mbar / SURFACE_PRESSURE; | ||||
| 	return (double)mbar / (1_atm).mbar; | ||||
| } | ||||
| 
 | ||||
| static inline double mbar_to_PSI(int mbar) | ||||
|  | @ -359,15 +358,13 @@ static inline double mbar_to_PSI(int mbar) | |||
| 	return to_PSI(p); | ||||
| } | ||||
| 
 | ||||
| static inline int32_t altitude_to_pressure(int32_t altitude) 	// altitude in mm above sea level
 | ||||
| {						// returns atmospheric pressure in mbar
 | ||||
| 	return (int32_t) (1013.0 * exp(- altitude / 7800000.0)); | ||||
| static inline pressure_t altitude_to_pressure(int32_t altitude) { 	// altitude in mm above sea level
 | ||||
| 	return pressure_t { .mbar = int_cast<int32_t> (1013.0 * exp(- altitude / 7800000.0)) }; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| static inline int32_t pressure_to_altitude(int32_t pressure)	// pressure in mbar
 | ||||
| static inline int32_t pressure_to_altitude(pressure_t pressure) | ||||
| {						// returns altitude in mm above sea level
 | ||||
| 	return (int32_t) (log(1013.0 / pressure) * 7800000); | ||||
| 	return (int32_t) (log(1013.0 / pressure.mbar) * 7800000); | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  |  | |||
|  | @ -170,8 +170,9 @@ void DivePlannerWidget::settingsChanged() | |||
| 	ui.startTime->setDisplayFormat(QString::fromStdString(prefs.time_format)); | ||||
| } | ||||
| 
 | ||||
| void DivePlannerWidget::atmPressureChanged(const int pressure) | ||||
| void DivePlannerWidget::atmPressureChanged(int pressure_in_mbar) | ||||
| { | ||||
| 	pressure_t pressure { .mbar = pressure_in_mbar }; | ||||
| 	DivePlannerPointsModel::instance()->setSurfacePressure(pressure); | ||||
| 	ui.atmHeight->blockSignals(true); | ||||
| 	ui.atmHeight->setValue((int) get_depth_units((int) pressure_to_altitude(pressure), NULL, NULL)); | ||||
|  | @ -180,9 +181,9 @@ void DivePlannerWidget::atmPressureChanged(const int pressure) | |||
| 
 | ||||
| void DivePlannerWidget::heightChanged(const int height) | ||||
| {						// height is in ft or in meters
 | ||||
| 	int pressure = (int) (altitude_to_pressure(units_to_depth((double) height).mm)); | ||||
| 	pressure_t pressure = altitude_to_pressure(units_to_depth((double) height).mm); | ||||
| 	ui.ATMPressure->blockSignals(true); | ||||
| 	ui.ATMPressure->setValue(pressure); | ||||
| 	ui.ATMPressure->setValue(pressure.mbar); | ||||
| 	ui.ATMPressure->blockSignals(false); | ||||
| 	DivePlannerPointsModel::instance()->setSurfacePressure(pressure); | ||||
| } | ||||
|  |  | |||
|  | @ -439,18 +439,18 @@ void TabDiveInformation::updateTextBox(int event) // Either the text box has bee | |||
| 					altitudeVal = feet_to_mm(altitudeVal); // imperial: convert altitude from feet to mm
 | ||||
| 				else | ||||
| 					altitudeVal = altitudeVal * 1000;     // metric: convert altitude from meters to mm
 | ||||
| 				atmpress.mbar = altitude_to_pressure((int32_t) altitudeVal); // convert altitude (mm) to pressure (mbar)
 | ||||
| 				atmpress = altitude_to_pressure((int32_t) altitudeVal); // convert altitude (mm) to pressure (mbar)
 | ||||
| 				ui->atmPressVal->setText(QString::number(atmpress.mbar)); | ||||
| 				setIndexNoSignal(ui->atmPressType, 0);    // reset combobox to mbar
 | ||||
| 			} else { // i.e. event == COMBO_CHANGED, that is, "m" or "ft" was selected from combobox
 | ||||
| 				 // Show estimated altitude
 | ||||
| 				bool ok; | ||||
| 				double convertVal = 0.0010;	// Metric conversion fro mm to m
 | ||||
| 				int pressure_as_integer = ui->atmPressVal->text().toInt(&ok,10); | ||||
| 				pressure_t pressure = { .mbar = ui->atmPressVal->text().toInt(&ok,10) }; | ||||
| 				if (ok && ui->atmPressVal->text().length()) {  // Show existing atm press as an altitude:
 | ||||
| 					if (prefs.units.length == units::FEET) // For imperial units
 | ||||
| 						convertVal = mm_to_feet(1);    // convert from mm to ft
 | ||||
| 					ui->atmPressVal->setText(QString::number((int)(pressure_to_altitude(pressure_as_integer) * convertVal))); | ||||
| 					ui->atmPressVal->setText(QString::number((int)(pressure_to_altitude(pressure) * convertVal))); | ||||
| 				} | ||||
| 			} | ||||
| 			break; | ||||
|  |  | |||
|  | @ -410,7 +410,7 @@ bool CylindersModel::setData(const QModelIndex &index, const QVariant &value, in | |||
| 				cyl.gasmix.he.permille = 1000 - get_o2(cyl.gasmix); | ||||
| 			pressure_t modpO2; | ||||
| 			if (d->dcs[0].divemode == PSCR) | ||||
| 				modpO2.mbar = prefs.decopo2 + (1000 - get_o2(cyl.gasmix)) * SURFACE_PRESSURE * | ||||
| 				modpO2.mbar = prefs.decopo2 + (1000 - get_o2(cyl.gasmix)) * (1_atm).mbar * | ||||
| 						prefs.o2consumption / prefs.decosac / prefs.pscr_ratio; | ||||
| 			else | ||||
| 				modpO2.mbar = prefs.decopo2; | ||||
|  |  | |||
|  | @ -609,7 +609,7 @@ void DivePlannerPointsModel::setVpmbConservatism(int level) | |||
| 	} | ||||
| } | ||||
| 
 | ||||
| void DivePlannerPointsModel::setSurfacePressure(int pressure) | ||||
| void DivePlannerPointsModel::setSurfacePressure(pressure_t pressure) | ||||
| { | ||||
| 	diveplan.surface_pressure = pressure; | ||||
| 	emitDataChanged(); | ||||
|  | @ -621,7 +621,7 @@ void DivePlannerPointsModel::setSalinity(int salinity) | |||
| 	emitDataChanged(); | ||||
| } | ||||
| 
 | ||||
| int DivePlannerPointsModel::getSurfacePressure() const | ||||
| pressure_t DivePlannerPointsModel::getSurfacePressure() const | ||||
| { | ||||
| 	return diveplan.surface_pressure; | ||||
| } | ||||
|  |  | |||
|  | @ -52,7 +52,7 @@ public: | |||
| 	int ascratestopsDisplay() const; | ||||
| 	int ascratelast6mDisplay() const; | ||||
| 	int descrateDisplay() const; | ||||
| 	int getSurfacePressure() const; | ||||
| 	pressure_t getSurfacePressure() const; | ||||
| 	int gfLow() const; | ||||
| 	int gfHigh() const; | ||||
| 
 | ||||
|  | @ -74,7 +74,7 @@ slots: | |||
| 	void setGFHigh(const int gfhigh); | ||||
| 	void setGFLow(const int gflow); | ||||
| 	void setVpmbConservatism(int level); | ||||
| 	void setSurfacePressure(int pressure); | ||||
| 	void setSurfacePressure(pressure_t pressure); | ||||
| 	void setSalinity(int salinity); | ||||
| 	void setBottomSac(double sac); | ||||
| 	void setDecoSac(double sac); | ||||
|  |  | |||
|  | @ -34,8 +34,8 @@ void TestAirPressure::testReadAirPressure() | |||
| 
 | ||||
| void TestAirPressure::testConvertAltitudetoAirPressure() | ||||
| { | ||||
| 	QCOMPARE(891,altitude_to_pressure(1000000)); // 1000 m altitude in mm
 | ||||
| 	QCOMPARE(1013,altitude_to_pressure(0)); // sea level
 | ||||
| 	QCOMPARE(891, altitude_to_pressure(1000000).mbar); // 1000 m altitude in mm
 | ||||
| 	QCOMPARE(1013, altitude_to_pressure(0).mbar); // sea level
 | ||||
| } | ||||
| 
 | ||||
| void TestAirPressure::testWriteReadBackAirPressure() | ||||
|  |  | |||
|  | @ -41,7 +41,7 @@ diveplan setupPlan() | |||
| { | ||||
| 	diveplan dp; | ||||
| 	dp.salinity = 10300; | ||||
| 	dp.surface_pressure = 1013; | ||||
| 	dp.surface_pressure = 1_atm; | ||||
| 	dp.gfhigh = 100; | ||||
| 	dp.gflow = 100; | ||||
| 	dp.bottomsac = prefs.bottomsac; | ||||
|  | @ -76,7 +76,7 @@ diveplan setupPlanVpmb45m30mTx() | |||
| { | ||||
| 	diveplan dp; | ||||
| 	dp.salinity = 10300; | ||||
| 	dp.surface_pressure = 1013; | ||||
| 	dp.surface_pressure = 1_atm; | ||||
| 	dp.gfhigh = 100; | ||||
| 	dp.gflow = 100; | ||||
| 	dp.bottomsac = prefs.bottomsac; | ||||
|  | @ -111,7 +111,7 @@ diveplan setupPlanVpmb60m10mTx() | |||
| { | ||||
| 	diveplan dp; | ||||
| 	dp.salinity = 10300; | ||||
| 	dp.surface_pressure = 1013; | ||||
| 	dp.surface_pressure = 1_atm; | ||||
| 	dp.gfhigh = 100; | ||||
| 	dp.gflow = 100; | ||||
| 	dp.bottomsac = prefs.bottomsac; | ||||
|  | @ -146,7 +146,7 @@ diveplan setupPlanVpmb60m30minAir() | |||
| { | ||||
| 	diveplan dp; | ||||
| 	dp.salinity = 10300; | ||||
| 	dp.surface_pressure = 1013; | ||||
| 	dp.surface_pressure = 1_atm; | ||||
| 	dp.bottomsac = prefs.bottomsac; | ||||
| 	dp.decosac = prefs.decosac; | ||||
| 
 | ||||
|  | @ -168,7 +168,7 @@ diveplan setupPlanVpmb60m30minEan50() | |||
| { | ||||
| 	diveplan dp; | ||||
| 	dp.salinity = 10300; | ||||
| 	dp.surface_pressure = 1013; | ||||
| 	dp.surface_pressure = 1_atm; | ||||
| 	dp.bottomsac = prefs.bottomsac; | ||||
| 	dp.decosac = prefs.decosac; | ||||
| 
 | ||||
|  | @ -198,7 +198,7 @@ diveplan setupPlanVpmb60m30minTx() | |||
| { | ||||
| 	diveplan dp; | ||||
| 	dp.salinity = 10300; | ||||
| 	dp.surface_pressure = 1013; | ||||
| 	dp.surface_pressure = 1_atm; | ||||
| 	dp.bottomsac = prefs.bottomsac; | ||||
| 	dp.decosac = prefs.decosac; | ||||
| 
 | ||||
|  | @ -228,7 +228,7 @@ diveplan setupPlanVpmbMultiLevelAir() | |||
| { | ||||
| 	diveplan dp; | ||||
| 	dp.salinity = 10300; | ||||
| 	dp.surface_pressure = 1013; | ||||
| 	dp.surface_pressure = 1_atm; | ||||
| 	dp.bottomsac = prefs.bottomsac; | ||||
| 	dp.decosac = prefs.decosac; | ||||
| 
 | ||||
|  | @ -252,7 +252,7 @@ diveplan setupPlanVpmb100m60min() | |||
| { | ||||
| 	diveplan dp; | ||||
| 	dp.salinity = 10300; | ||||
| 	dp.surface_pressure = 1013; | ||||
| 	dp.surface_pressure = 1_atm; | ||||
| 	dp.bottomsac = prefs.bottomsac; | ||||
| 	dp.decosac = prefs.decosac; | ||||
| 
 | ||||
|  | @ -286,7 +286,7 @@ diveplan setupPlanVpmb100m10min() | |||
| { | ||||
| 	diveplan dp; | ||||
| 	dp.salinity = 10300; | ||||
| 	dp.surface_pressure = 1013; | ||||
| 	dp.surface_pressure = 1_atm; | ||||
| 	dp.bottomsac = prefs.bottomsac; | ||||
| 	dp.decosac = prefs.decosac; | ||||
| 
 | ||||
|  | @ -320,7 +320,7 @@ diveplan setupPlanVpmb30m20min() | |||
| { | ||||
| 	diveplan dp; | ||||
| 	dp.salinity = 10300; | ||||
| 	dp.surface_pressure = 1013; | ||||
| 	dp.surface_pressure = 1_atm; | ||||
| 	dp.bottomsac = prefs.bottomsac; | ||||
| 	dp.decosac = prefs.decosac; | ||||
| 
 | ||||
|  | @ -342,7 +342,7 @@ diveplan setupPlanVpmb100mTo70m30min() | |||
| { | ||||
| 	diveplan dp; | ||||
| 	dp.salinity = 10300; | ||||
| 	dp.surface_pressure = 1013; | ||||
| 	dp.surface_pressure = 1_atm; | ||||
| 	dp.bottomsac = prefs.bottomsac; | ||||
| 	dp.decosac = prefs.decosac; | ||||
| 
 | ||||
|  | @ -384,7 +384,7 @@ diveplan setupPlanSeveralGases() | |||
| { | ||||
| 	diveplan dp; | ||||
| 	dp.salinity = 10300; | ||||
| 	dp.surface_pressure = 1013; | ||||
| 	dp.surface_pressure = 1_atm; | ||||
| 	dp.bottomsac = prefs.bottomsac; | ||||
| 	dp.decosac = prefs.decosac; | ||||
| 
 | ||||
|  | @ -414,7 +414,7 @@ diveplan setupPlanCcr() | |||
| { | ||||
| 	diveplan dp; | ||||
| 	dp.salinity = 10300; | ||||
| 	dp.surface_pressure = 1013; | ||||
| 	dp.surface_pressure = 1_atm; | ||||
| 	dp.gflow = 50; | ||||
| 	dp.gfhigh = 70; | ||||
| 	dp.bottomsac = prefs.bottomsac; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue