[PATCH 2/3] Add best mix function to planner cylinder model

Rick Walsh rickmwalsh at gmail.com
Sat May 21 02:32:08 PDT 2016


This allows calculation and selection of best mix in the planner cylinder
entry, by entering the gas depth, followed by "b" for best (trimix) mix, or
"bn" for best nitrox mix.

The UI is not intuitive, but it is quick and easy.  At the very least, it
should be documented.

Signed-off-by: Rick Walsh <rickmwalsh at gmail.com>
---
 qt-models/cylindermodel.cpp | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/qt-models/cylindermodel.cpp b/qt-models/cylindermodel.cpp
index 350d15a..1ad03f9 100644
--- a/qt-models/cylindermodel.cpp
+++ b/qt-models/cylindermodel.cpp
@@ -267,6 +267,15 @@ bool CylindersModel::setData(const QModelIndex &index, const QVariant &value, in
 		break;
 	case DEPTH:
 		if (CHANGED()) {
+			/* Calculate best nitrox mix for cylinder depth if input text ends with "bn",
+			 * or best (trimix) mix if input text ends with "b" */
+			if (vString.toLower().endsWith("bn")) {
+				cyl->gasmix.o2 = best_o2(string_to_depth(vString.toUtf8().data()), &displayed_dive);
+				cyl->gasmix.he.permille = 0;
+			} else if (vString.toLower().endsWith("b")) {
+				cyl->gasmix.o2 = best_o2(string_to_depth(vString.toUtf8().data()), &displayed_dive);
+				cyl->gasmix.he = best_He(string_to_depth(vString.toUtf8().data()), &displayed_dive);
+			}
 			cyl->depth = string_to_depth(vString.toUtf8().data());
 			changed = true;
 		}
-- 
2.5.5



More information about the subsurface mailing list