diff --git a/configuredivecomputer.cpp b/configuredivecomputer.cpp
index 0d61ff44f..65cf3ce72 100644
--- a/configuredivecomputer.cpp
+++ b/configuredivecomputer.cpp
@@ -182,6 +182,14 @@ bool ConfigureDiveComputer::saveXMLBackup(QString fileName, DeviceDetails *detai
writer.writeTextElement("CalibrationGas", QString::number(details->calibrationGas));
writer.writeTextElement("FlipScreen", QString::number(details->flipScreen));
writer.writeTextElement("SetPointFallback", QString::number(details->setPointFallback));
+ writer.writeTextElement("LeftButtonSensitivity", QString::number(details->leftButtonSensitivity));
+ writer.writeTextElement("RightButtonSensitivity", QString::number(details->rightButtonSensitivity));
+ writer.writeTextElement("BottomGasConsumption", QString::number(details->bottomGasConsumption));
+ writer.writeTextElement("DecoGasConsumption", QString::number(details->decoGasConsumption));
+ writer.writeTextElement("ModWarning", QString::number(details->modWarning));
+ writer.writeTextElement("DynamicAscendRate", QString::number(details->dynamicAscendRate));
+ writer.writeTextElement("GraphicalSpeedIndicator", QString::number(details->graphicalSpeedIndicator));
+ writer.writeTextElement("AlwaysShowppO2", QString::number(details->alwaysShowppO2));
// Suunto vyper settings.
writer.writeTextElement("Altitude", QString::number(details->altitude));
@@ -463,6 +471,30 @@ bool ConfigureDiveComputer::restoreXMLBackup(QString fileName, DeviceDetails *de
if (settingName == "SetPointFallback")
details->setPointFallback = keyString.toInt();
+ if (settingName == "LeftButtonSensitivity")
+ details->leftButtonSensitivity = keyString.toInt();
+
+ if (settingName == "RightButtonSensitivity")
+ details->rightButtonSensitivity = keyString.toInt();
+
+ if (settingName == "BottomGasConsumption")
+ details->bottomGasConsumption = keyString.toInt();
+
+ if (settingName == "DecoGasConsumption")
+ details->decoGasConsumption = keyString.toInt();
+
+ if (settingName == "ModWarning")
+ details->modWarning = keyString.toInt();
+
+ if (settingName == "DynamicAscendRate")
+ details->dynamicAscendRate = keyString.toInt();
+
+ if (settingName == "GraphicalSpeedIndicator")
+ details->graphicalSpeedIndicator = keyString.toInt();
+
+ if (settingName == "AlwaysShowppO2")
+ details->alwaysShowppO2 = keyString.toInt();
+
if (settingName == "Altitude")
details->altitude = keyString.toInt();
diff --git a/configuredivecomputerthreads.cpp b/configuredivecomputerthreads.cpp
index cbd81c8d5..0941d25d6 100644
--- a/configuredivecomputerthreads.cpp
+++ b/configuredivecomputerthreads.cpp
@@ -46,6 +46,14 @@
#define OSTC3_CALIBRATION_GAS_O2 0x37
#define OSTC3_SETPOINT_FALLBACK 0x38
#define OSTC3_FLIP_SCREEN 0x39
+#define OSTC3_LEFT_BUTTON_SENSIVITY 0x3A
+#define OSTC3_RIGHT_BUTTON_SENSIVITY 0x3A
+#define OSTC3_BOTTOM_GAS_CONSUMPTION 0x3C
+#define OSTC3_DECO_GAS_CONSUMPTION 0x3D
+#define OSTC3_MOD_WARNING 0x3E
+#define OSTC3_DYNAMIC_ASCEND_RATE 0x3F
+#define OSTC3_GRAPHICAL_SPEED_INDICATOR 0x40
+#define OSTC3_ALWAYS_SHOW_PPO2 0x41
#define SUUNTO_VYPER_MAXDEPTH 0x1e
#define SUUNTO_VYPER_TOTAL_TIME 0x20
@@ -582,6 +590,14 @@ static dc_status_t read_ostc3_settings(dc_device_t *device, DeviceDetails *m_dev
READ_SETTING(OSTC3_CALIBRATION_GAS_O2, calibrationGas);
READ_SETTING(OSTC3_FLIP_SCREEN, flipScreen);
READ_SETTING(OSTC3_SETPOINT_FALLBACK, setPointFallback);
+ READ_SETTING(OSTC3_LEFT_BUTTON_SENSIVITY, leftButtonSensitivity);
+ READ_SETTING(OSTC3_RIGHT_BUTTON_SENSIVITY, rightButtonSensitivity);
+ READ_SETTING(OSTC3_BOTTOM_GAS_CONSUMPTION, bottomGasConsumption);
+ READ_SETTING(OSTC3_DECO_GAS_CONSUMPTION, decoGasConsumption);
+ READ_SETTING(OSTC3_MOD_WARNING, modWarning);
+ READ_SETTING(OSTC3_DYNAMIC_ASCEND_RATE, dynamicAscendRate);
+ READ_SETTING(OSTC3_GRAPHICAL_SPEED_INDICATOR, graphicalSpeedIndicator);
+ READ_SETTING(OSTC3_ALWAYS_SHOW_PPO2, alwaysShowppO2);
#undef READ_SETTING
@@ -808,6 +824,14 @@ static dc_status_t write_ostc3_settings(dc_device_t *device, DeviceDetails *m_de
WRITE_SETTING(OSTC3_CALIBRATION_GAS_O2, calibrationGas);
WRITE_SETTING(OSTC3_FLIP_SCREEN, flipScreen);
WRITE_SETTING(OSTC3_SETPOINT_FALLBACK, setPointFallback);
+ WRITE_SETTING(OSTC3_LEFT_BUTTON_SENSIVITY, leftButtonSensitivity);
+ WRITE_SETTING(OSTC3_RIGHT_BUTTON_SENSIVITY, rightButtonSensitivity);
+ WRITE_SETTING(OSTC3_BOTTOM_GAS_CONSUMPTION, bottomGasConsumption);
+ WRITE_SETTING(OSTC3_DECO_GAS_CONSUMPTION, decoGasConsumption);
+ WRITE_SETTING(OSTC3_MOD_WARNING, modWarning);
+ WRITE_SETTING(OSTC3_DYNAMIC_ASCEND_RATE, dynamicAscendRate);
+ WRITE_SETTING(OSTC3_GRAPHICAL_SPEED_INDICATOR, graphicalSpeedIndicator);
+ WRITE_SETTING(OSTC3_ALWAYS_SHOW_PPO2, alwaysShowppO2);
#undef WRITE_SETTING
diff --git a/devicedetails.cpp b/devicedetails.cpp
index 458491ec8..1ac56375d 100644
--- a/devicedetails.cpp
+++ b/devicedetails.cpp
@@ -65,6 +65,14 @@ DeviceDetails::DeviceDetails(QObject *parent) :
alarmTimeEnabled(false),
alarmTime(0),
alarmDepthEnabled(false),
- alarmDepth(0)
+ alarmDepth(0),
+ leftButtonSensitivity(0),
+ rightButtonSensitivity(0),
+ bottomGasConsumption(0),
+ decoGasConsumption(0),
+ modWarning(false),
+ dynamicAscendRate(false),
+ graphicalSpeedIndicator(false),
+ alwaysShowppO2(false)
{
}
diff --git a/devicedetails.h b/devicedetails.h
index 48d728399..1ed9914ef 100644
--- a/devicedetails.h
+++ b/devicedetails.h
@@ -83,6 +83,14 @@ public:
int alarmTime;
bool alarmDepthEnabled;
int alarmDepth;
+ int leftButtonSensitivity;
+ int rightButtonSensitivity;
+ int bottomGasConsumption;
+ int decoGasConsumption;
+ bool modWarning;
+ bool dynamicAscendRate;
+ bool graphicalSpeedIndicator;
+ bool alwaysShowppO2;
};
diff --git a/qt-ui/configuredivecomputerdialog.cpp b/qt-ui/configuredivecomputerdialog.cpp
index 0ac8ff701..6e01202a7 100644
--- a/qt-ui/configuredivecomputerdialog.cpp
+++ b/qt-ui/configuredivecomputerdialog.cpp
@@ -432,6 +432,14 @@ void ConfigureDiveComputerDialog::populateDeviceDetailsOSTC3()
deviceDetails->calibrationGas = ui.calibrationGasSpinBox->value();
deviceDetails->flipScreen = ui.flipScreenCheckBox->isChecked();
deviceDetails->setPointFallback = ui.setPointFallbackCheckBox->isChecked();
+ deviceDetails->leftButtonSensitivity = ui.leftButtonSensitivity->value();
+ deviceDetails->rightButtonSensitivity = ui.rightButtonSensitivity->value();
+ deviceDetails->bottomGasConsumption = ui.bottomGasConsumption->value();
+ deviceDetails->decoGasConsumption = ui.decoGasConsumption->value();
+ deviceDetails->modWarning = ui.modWarning->isChecked();
+ deviceDetails->dynamicAscendRate = ui.dynamicAscendRate->isChecked();
+ deviceDetails->graphicalSpeedIndicator = ui.graphicalSpeedIndicator->isChecked();
+ deviceDetails->alwaysShowppO2 = ui.alwaysShowppO2->isChecked();
//set gas values
gas gas1;
@@ -796,6 +804,14 @@ void ConfigureDiveComputerDialog::reloadValuesOSTC3()
ui.calibrationGasSpinBox->setValue(deviceDetails->calibrationGas);
ui.flipScreenCheckBox->setChecked(deviceDetails->flipScreen);
ui.setPointFallbackCheckBox->setChecked(deviceDetails->setPointFallback);
+ ui.leftButtonSensitivity->setValue(deviceDetails->leftButtonSensitivity);
+ ui.rightButtonSensitivity->setValue(deviceDetails->rightButtonSensitivity);
+ ui.bottomGasConsumption->setValue(deviceDetails->bottomGasConsumption);
+ ui.decoGasConsumption->setValue(deviceDetails->decoGasConsumption);
+ ui.modWarning->setChecked(deviceDetails->modWarning);
+ ui.dynamicAscendRate->setChecked(deviceDetails->dynamicAscendRate);
+ ui.graphicalSpeedIndicator->setChecked(deviceDetails->graphicalSpeedIndicator);
+ ui.alwaysShowppO2->setChecked(deviceDetails->alwaysShowppO2);
//load gas 1 values
ui.ostc3GasTable->setItem(0, 1, new QTableWidgetItem(QString::number(deviceDetails->gas1.oxygen)));
diff --git a/qt-ui/configuredivecomputerdialog.ui b/qt-ui/configuredivecomputerdialog.ui
index 22450f2f6..d5381cb89 100644
--- a/qt-ui/configuredivecomputerdialog.ui
+++ b/qt-ui/configuredivecomputerdialog.ui
@@ -224,6 +224,44 @@
Basic settings
+ -
+
+
-
+
+ English
+
+
+ -
+
+ German
+
+
+ -
+
+ French
+
+
+ -
+
+ Italian
+
+
+
+
+ -
+
+
-
+
+ m/°C
+
+
+ -
+
+ ft/°F
+
+
+
+
-
@@ -297,40 +335,6 @@
- -
-
-
-
-
- English
-
-
- -
-
- German
-
-
- -
-
- French
-
-
- -
-
- Italian
-
-
-
-
- -
-
-
- Dive mode
-
-
- diveModeComboBox
-
-
-
-
-
@@ -355,13 +359,13 @@
- -
-
+
-
+
- Date format
+ Dive mode
- dateFormatComboBox
+ diveModeComboBox
@@ -384,13 +388,13 @@
- -
-
+
-
+
- Brightness
+ Date format
- brightnessComboBox
+ dateFormatComboBox
@@ -413,6 +417,16 @@
+ -
+
+
+ Brightness
+
+
+ brightnessComboBox
+
+
+
-
@@ -423,20 +437,6 @@
- -
-
-
-
-
- m/°C
-
-
- -
-
- ft/°F
-
-
-
-
-
@@ -457,14 +457,18 @@
- -
-
-
- Compass gain
-
-
- compassGainComboBox
-
+
-
+
+
-
+
+ 2s
+
+
+ -
+
+ 10s
+
+
-
@@ -540,30 +544,6 @@
- -
-
-
-
-
- 2s
-
-
- -
-
- 10s
-
-
-
-
- -
-
-
- Dive mode color
-
-
- diveModeColour
-
-
-
-
-
@@ -595,6 +575,16 @@
+ -
+
+
+ Dive mode color
+
+
+ diveModeColour
+
+
+
-
@@ -612,6 +602,16 @@
+ -
+
+
+ Compass gain
+
+
+ compassGainComboBox
+
+
+
@@ -619,6 +619,20 @@
Advanced settings
+ -
+
+
+ Left button sensitivity
+
+
+
+ -
+
+
+ Always show ppO2
+
+
+
-
@@ -712,7 +726,7 @@
- -
+
-
Qt::Vertical
@@ -777,16 +791,6 @@
- -
-
-
- min
-
-
- 9
-
-
-
-
@@ -804,6 +808,16 @@
+ -
+
+
+ min
+
+
+ 9
+
+
+
-
@@ -830,6 +844,13 @@
+ -
+
+
+ Alt GFLow
+
+
+
-
@@ -849,6 +870,13 @@
+ -
+
+
+ Alt GFHigh
+
+
+
-
@@ -859,24 +887,116 @@
- -
-
+
-
+
- Alt GFLow
+ Flip screen
- -
-
+
-
+
- Alt GFHigh
+ Right button sensitivity
-
-
+
- Flip screen
+ Mod warning
+
+
+
+ -
+
+
+ Graphical speed indicator
+
+
+
+ -
+
+
+ Dynamic acend rate
+
+
+
+ -
+
+
+ Bottom gas consumption
+
+
+
+ -
+
+
+ Deco gas consumption
+
+
+
+ -
+
+
+ %
+
+
+ 20
+
+
+ 100
+
+
+ 40
+
+
+
+ -
+
+
+ %
+
+
+ 20
+
+
+ 100
+
+
+ 40
+
+
+
+ -
+
+
+ l/m
+
+
+ 5
+
+
+ 50
+
+
+ 20
+
+
+
+ -
+
+
+ l/m
+
+
+ 5
+
+
+ 50
+
+
+ 20