mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Tests for minimum gas
Add automatic tests in TestPlan for minimum gas: - Copy minimum gas result (pressure) to diveplan. - Add cylinder size and working pressure for bottom gas to every dive in TestPlan Hint: Unrealistic cylinder sizes (100l, 200l) have to be used for the very long and deep dives in TestPlan - Add minimum gas check for every dive - Add two additional test dives in TestPlan which produce sane minimum gas results with 24l tank Hint: Deco check for these new dives is commented out at the moment Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
This commit is contained in:
parent
ce420d7720
commit
6f21d2749e
4 changed files with 205 additions and 24 deletions
|
|
@ -384,6 +384,7 @@ struct divedatapoint *create_dp(int time_incr, int depth, int cylinderid, int po
|
|||
dp->time = time_incr;
|
||||
dp->depth.mm = depth;
|
||||
dp->cylinderid = cylinderid;
|
||||
dp->minimum_gas.mbar = 0;
|
||||
dp->setpoint = po2;
|
||||
dp->entered = false;
|
||||
dp->next = NULL;
|
||||
|
|
@ -903,15 +904,14 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool
|
|||
* depth_to_bar(lastbottomdp->depth.mm, dive)
|
||||
+ prefs.sacfactor / 100.0 * cyl->deco_gas_used.mliter);
|
||||
/* Calculate minimum gas pressure for cyclinder. */
|
||||
pressure_t mingasp;
|
||||
mingasp.mbar = lrint(isothermal_pressure(&cyl->gasmix, 1.0,
|
||||
lastbottomdp->minimum_gas.mbar = lrint(isothermal_pressure(&cyl->gasmix, 1.0,
|
||||
mingasv.mliter, cyl->type.size.mliter) * 1000);
|
||||
/* Translate all results into correct units */
|
||||
mingas_volume = get_volume_units(mingasv.mliter, NULL, &unit);
|
||||
mingas_pressure = get_pressure_units(mingasp.mbar, &pressure_unit);
|
||||
mingas_pressure = get_pressure_units(lastbottomdp->minimum_gas.mbar, &pressure_unit);
|
||||
mingas_depth = get_depth_units(lastbottomdp->depth.mm, NULL, &depth_unit);
|
||||
/* Print it to results */
|
||||
if (cyl->start.mbar > mingasp.mbar) snprintf(mingas, sizeof(mingas),
|
||||
if (cyl->start.mbar > lastbottomdp->minimum_gas.mbar) snprintf(mingas, sizeof(mingas),
|
||||
translate("gettextFromC", "<br> — <span style='color: green;'>Minimum gas</span> (based on %.1fxSAC/+%dmin@%.0f%s): %.0f%s/%.0f%s"),
|
||||
prefs.sacfactor / 100.0, prefs.problemsolvingtime,
|
||||
mingas_depth, depth_unit,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue