mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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>
This commit is contained in:
parent
e9fd4cb7dc
commit
81a812539c
14 changed files with 107 additions and 52 deletions
|
@ -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());
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue