From 20a82e2b21ecfa6f00b624ebee2cf9958f3190cf Mon Sep 17 00:00:00 2001 From: Joakim Bygdell Date: Sat, 7 Mar 2015 16:37:12 +0100 Subject: Improve gas accounting in the panner When using gasmixes where the difference is less than 2% the planner can't caclulate casconsumptions correctly. This sets the minimum gasdifference to 1%. Fixes #795 Signed-off-by: Joakim Bygdell Signed-off-by: Dirk Hohndel --- planner.c | 4 ++-- qt-ui/diveplanner.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/planner.c b/planner.c index b6f0c4c5e..d5852dc7b 100644 --- a/planner.c +++ b/planner.c @@ -115,7 +115,7 @@ int get_gasidx(struct dive *dive, struct gasmix *mix) int gasidx = -1; while (++gasidx < MAX_CYLINDERS) - if (gasmix_distance(&dive->cylinder[gasidx].gasmix, mix) < 200) + if (gasmix_distance(&dive->cylinder[gasidx].gasmix, mix) < 100) return gasidx; return -1; } @@ -210,7 +210,7 @@ static int verify_gas_exists(struct gasmix mix_in) cyl = displayed_dive.cylinder + i; if (cylinder_nodata(cyl)) continue; - if (gasmix_distance(&cyl->gasmix, &mix_in) < 200) + if (gasmix_distance(&cyl->gasmix, &mix_in) < 100) return i; } fprintf(stderr, "this gas %s should have been on the cylinder list\nThings will fail now\n", gasname(&mix_in)); diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp index 434da1fab..7a35daa59 100644 --- a/qt-ui/diveplanner.cpp +++ b/qt-ui/diveplanner.cpp @@ -1112,7 +1112,7 @@ bool DivePlannerPointsModel::tankInUse(struct gasmix gasmix) continue; if (!p.entered) // removing deco gases is ok continue; - if (gasmix_distance(&p.gasmix, &gasmix) < 200) + if (gasmix_distance(&p.gasmix, &gasmix) < 100) return true; } return false; @@ -1139,7 +1139,7 @@ void DivePlannerPointsModel::tanksUpdated() struct gasmix gas; gas.o2.permille = oldGases.at(i).first; gas.he.permille = oldGases.at(i).second; - if (gasmix_distance(&gas, &p.gasmix) < 200) { + if (gasmix_distance(&gas, &p.gasmix) < 100) { p.gasmix.o2.permille = gases.at(i).first; p.gasmix.he.permille = gases.at(i).second; } -- cgit v1.2.3-70-g09d2