mobile: add GF fields for ceiling calculation

Adds fields to the advanced preferences page to modify GFLow and GFHigh for
the Buhlmann decompression model for calculating ceilings. Updated preferences
code to set the Buhlmann parameters in core/deco.c when the GF prefs are
updated.

Signed-off-by: Doug Junkins <douglas.junkins@gmail.com>
This commit is contained in:
Doug Junkins 2021-01-19 07:50:08 -08:00 committed by Dirk Hohndel
parent 25cfd852b9
commit 31e26fd144
5 changed files with 30 additions and 2 deletions

View file

@ -1,3 +1,4 @@
- mobile: add GF fields to adjust Buhlmann algorithm parameters for calculated ceiling
- undo: save to git after editing weights [#3159]
- undo: reset dive-mode on undo of set-point addition
- desktop: complete rewrite of the statistics code, significantly expanding capabilities

View file

@ -62,6 +62,7 @@ void qPrefTechnicalDetails::set_gfhigh(int value)
if (value != prefs.gfhigh) {
prefs.gfhigh = value;
disk_gfhigh(true);
set_gf(-1, prefs.gfhigh);
emit instance()->gfhighChanged(value);
}
}
@ -82,6 +83,7 @@ void qPrefTechnicalDetails::set_gflow(int value)
if (value != prefs.gflow) {
prefs.gflow = value;
disk_gflow(true);
set_gf(prefs.gflow, -1);
emit instance()->gflowChanged(value);
}
}

View file

@ -68,7 +68,6 @@ void PreferencesGraph::syncSettings()
prefs.planner_deco_mode = ui->buehlmann->isChecked() ? BUEHLMANN : VPMB;
qPrefTechnicalDetails::set_gflow(ui->gflow->value());
qPrefTechnicalDetails::set_gfhigh(ui->gfhigh->value());
set_gf(ui->gflow->value(), ui->gfhigh->value());
qPrefTechnicalDetails::set_vpmb_conservatism(ui->vpmb_conservatism->value());
set_vpmb_conservatism(ui->vpmb_conservatism->value());
qPrefTechnicalDetails::set_show_ccr_setpoint(ui->show_ccr_setpoint->isChecked());

View file

@ -622,7 +622,7 @@ TemplatePage {
checked: PrefTechnicalDetails.dcceiling
onClicked: {
PrefTechnicalDetails.dcceiling = checked
rootItem.settingChanged()
rootItem.settingsChanged()
}
}
TemplateLabel {
@ -635,6 +635,30 @@ TemplatePage {
rootItem.settingsChanged()
}
}
TemplateLabel {
text: qsTr("GFLow")
}
TemplateTextField {
id: gfLow
text: PrefTechnicalDetails.gflow
inputMask: "99"
onEditingFinished: {
PrefTechnicalDetails.gflow = gfLow.text
rootItem.settingsChanged()
}
}
TemplateLabel {
text: qsTr("GFHigh")
}
TemplateTextField {
id: gfHigh
text: PrefTechnicalDetails.gfhigh
inputMask: "99"
onEditingFinished: {
PrefTechnicalDetails.gfhigh = gfHigh.text
rootItem.settingsChanged()
}
}
}
TemplateLine {
visible: sectionAdvanced.isExpanded

View file

@ -185,6 +185,8 @@ ProfileWidget2::ProfileWidget2(QWidget *parent) : QGraphicsView(parent),
auto tec = qPrefTechnicalDetails::instance();
connect(tec, &qPrefTechnicalDetails::calcalltissuesChanged , this, &ProfileWidget2::actionRequestedReplot);
connect(tec, &qPrefTechnicalDetails::calcceilingChanged , this, &ProfileWidget2::actionRequestedReplot);
connect(tec, &qPrefTechnicalDetails::gflowChanged , this, &ProfileWidget2::actionRequestedReplot);
connect(tec, &qPrefTechnicalDetails::gfhighChanged , this, &ProfileWidget2::actionRequestedReplot);
connect(tec, &qPrefTechnicalDetails::dcceilingChanged , this, &ProfileWidget2::actionRequestedReplot);
connect(tec, &qPrefTechnicalDetails::eadChanged , this, &ProfileWidget2::actionRequestedReplot);
connect(tec, &qPrefTechnicalDetails::calcceiling3mChanged , this, &ProfileWidget2::actionRequestedReplot);