diff options
author | Willem Ferguson <willemferguson@zoology.up.ac.za> | 2018-03-14 17:13:37 +0200 |
---|---|---|
committer | Lubomir I. Ivanov <neolit123@gmail.com> | 2018-04-28 20:11:22 +0300 |
commit | 81a812539c95f2e709995d446065803c09e9136a (patch) | |
tree | e75422bbd34a909e3f897e3200e6624ad83e6b9a /desktop-widgets/preferences | |
parent | e9fd4cb7dca13c01f85ad63b667100ee15d7dc6d (diff) | |
download | subsurface-81a812539c95f2e709995d446065803c09e9136a.tar.gz |
Plot OC-pO2 graph for SCR dives
This commit allows plotting the OC-equivalent pO2 graph for PSCR
dives. This happens in both the cases where there is no external
O2-monitoring AND when there is external pO2 monitoring. The
calculations are only done for PSCR dives and is achieved as
follows:
1) Within plot-info create a pressure-t called OC_pO2 in
profile.h and populate this variable with the open-circuit
pO2 values in profile.c.
2) Create a new partialPressureGasItem ocpo2GasItem in
profilewidget2.h and, in profilewidget2.cpp, initialise it
to read the plot-info OC_pO2 values and enable its
display by using the setVisible method. The
diveplotdatamodel was also touched in order to achieve
this.
3) Create a pref button that controls the display of OC-pO2 for SCR dives
4) Change the colour of the OC-pO2 grpah to orange
5) Change the connection of the crr_OC_pO2 signal to be appropriate
6) rename the OC_pO2 attribute to scr_OC-pO2
Signed-off-by: Willem Ferguson <willemferguson@zoology.up.ac.za>
Diffstat (limited to 'desktop-widgets/preferences')
-rw-r--r-- | desktop-widgets/preferences/preferences_graph.cpp | 2 | ||||
-rw-r--r-- | desktop-widgets/preferences/preferences_graph.ui | 113 |
2 files changed, 63 insertions, 52 deletions
diff --git a/desktop-widgets/preferences/preferences_graph.cpp b/desktop-widgets/preferences/preferences_graph.cpp index ccc9aee65..91cd773d8 100644 --- a/desktop-widgets/preferences/preferences_graph.cpp +++ b/desktop-widgets/preferences/preferences_graph.cpp @@ -40,6 +40,7 @@ void PreferencesGraph::refreshSettings() ui->vpmb_conservatism->setValue(prefs.vpmb_conservatism); ui->show_ccr_setpoint->setChecked(prefs.show_ccr_setpoint); ui->show_ccr_sensors->setChecked(prefs.show_ccr_sensors); + ui->show_scr_ocpo2->setChecked(prefs.show_scr_ocpo2); ui->defaultSetpoint->setValue((double)prefs.defaultsetpoint / 1000.0); ui->psro2rate->setValue(prefs.o2consumption / 1000.0); ui->pscrfactor->setValue(lrint(1000.0 / prefs.pscr_ratio)); @@ -71,6 +72,7 @@ void PreferencesGraph::syncSettings() tech->setVpmbConservatism(ui->vpmb_conservatism->value()); tech->setShowCCRSetpoint(ui->show_ccr_setpoint->isChecked()); tech->setShowCCRSensors(ui->show_ccr_sensors->isChecked()); + tech->setShowSCROCpO2(ui->show_scr_ocpo2->isChecked()); tech->setDisplayUnusedTanks(ui->display_unused_tanks->isChecked()); tech->setShowAverageDepth(ui->show_average_depth->isChecked()); tech->setShowIcd(ui->show_icd->isChecked()); diff --git a/desktop-widgets/preferences/preferences_graph.ui b/desktop-widgets/preferences/preferences_graph.ui index e711ea1c7..020ae498f 100644 --- a/desktop-widgets/preferences/preferences_graph.ui +++ b/desktop-widgets/preferences/preferences_graph.ui @@ -158,18 +158,72 @@ <item row="5" column="1" colspan="2"> <widget class="QCheckBox" name="show_ccr_sensors"> <property name="text"> - <string>Show individual O₂ sensor values when viewing pO₂</string> + <string>Show O₂ sensor values when viewing pO₂</string> </property> </widget> </item> <item row="6" column="1" colspan="2"> <widget class="QCheckBox" name="show_ccr_setpoint"> <property name="text"> - <string>Show setpoints when viewing pO₂</string> + <string>Show CCR setpoints when viewing pO₂</string> </property> </widget> </item> <item row="7" column="0"> + <widget class="QLabel" name="pSCR"> + <property name="text"> + <string>pSCR options:</string> + </property> + </widget> + </item> + <item row="7" column="1"> + <widget class="QLabel" name="MetabolicRate"> + <property name="text"> + <string>pSCR metabolic rate O₂</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + <item row="7" column="2"> + <widget class="QDoubleSpinBox" name="psro2rate"> + <property name="suffix"> + <string>ℓ/min</string> + </property> + <property name="decimals"> + <number>3</number> + </property> + </widget> + </item> + <item row="7" column="3"> + <widget class="QLabel" name="label_28"> + <property name="text"> + <string>Dilution ratio</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + <item row="7" column="4"> + <widget class="QSpinBox" name="pscrfactor"> + <property name="suffix"> + <string/> + </property> + <property name="prefix"> + <string>1:</string> + </property> + </widget> + </item> + <item row="8" column="1"> + <widget class="QCheckBox" name="show_scr_ocpo2"> + <property name="text"> + <string>Show equivalent OC pO₂ with pSCR pO₂</string> + </property> + </widget> + </item> + <item row="9" column="0"> <widget class="QCheckBox" name="show_icd"> <property name="text"> <string>Show warnings for isobaric counterdiffusion</string> @@ -195,16 +249,6 @@ </property> </widget> </item> - <item row="4" column="4"> - <widget class="QSpinBox" name="pscrfactor"> - <property name="suffix"> - <string/> - </property> - <property name="prefix"> - <string>1:</string> - </property> - </widget> - </item> <item row="3" column="0"> <widget class="QRadioButton" name="buehlmann"> <property name="text"> @@ -225,16 +269,6 @@ </property> </widget> </item> - <item row="4" column="3"> - <widget class="QLabel" name="label_28"> - <property name="text"> - <string>Dilution ratio</string> - </property> - <property name="alignment"> - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> <item row="3" column="2"> <widget class="QSpinBox" name="gflow"> <property name="suffix"> @@ -271,16 +305,6 @@ </property> </widget> </item> - <item row="4" column="1"> - <widget class="QLabel" name="MetabolicRate"> - <property name="text"> - <string>Metabolic rate O₂</string> - </property> - <property name="alignment"> - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> <item row="0" column="0" colspan="2"> <widget class="QCheckBox" name="red_ceiling"> <property name="enabled"> @@ -291,16 +315,6 @@ </property> </widget> </item> - <item row="4" column="2"> - <widget class="QDoubleSpinBox" name="psro2rate"> - <property name="suffix"> - <string>ℓ/min</string> - </property> - <property name="decimals"> - <number>3</number> - </property> - </widget> - </item> <item row="2" column="0"> <widget class="QRadioButton" name="vpmb"> <property name="text"> @@ -321,13 +335,6 @@ </property> </widget> </item> - <item row="4" column="0"> - <widget class="QLabel" name="pSCR"> - <property name="text"> - <string>pSCR options:</string> - </property> - </widget> - </item> <item row="3" column="1"> <widget class="QLabel" name="label_GFlow"> <property name="text"> @@ -386,16 +393,18 @@ <tabstop>pheThreshold</tabstop> <tabstop>maxpo2</tabstop> <tabstop>defaultSetpoint</tabstop> - <tabstop>show_ccr_setpoint</tabstop> <tabstop>show_ccr_sensors</tabstop> + <tabstop>show_ccr_setpoint</tabstop> + <tabstop>psro2rate</tabstop> + <tabstop>pscrfactor</tabstop> + <tabstop>show_scr_ocpo2</tabstop> + <tabstop>show_icd</tabstop> <tabstop>red_ceiling</tabstop> <tabstop>vpmb</tabstop> <tabstop>vpmb_conservatism</tabstop> <tabstop>buehlmann</tabstop> <tabstop>gflow</tabstop> <tabstop>gfhigh</tabstop> - <tabstop>psro2rate</tabstop> - <tabstop>pscrfactor</tabstop> <tabstop>display_unused_tanks</tabstop> <tabstop>show_average_depth</tabstop> </tabstops> |