From 37953d163efd7741bb328b23952df97b01f65a55 Mon Sep 17 00:00:00 2001 From: Anton Lundin Date: Thu, 3 Sep 2015 00:00:00 +0200 Subject: [PATCH] Enable the configuration of more OSTC3 settings This enables enables you to configure a couple of new settings in the OSTC3 devices. Signed-off-by: Anton Lundin Signed-off-by: Dirk Hohndel --- configuredivecomputer.cpp | 32 +++ configuredivecomputerthreads.cpp | 24 ++ devicedetails.cpp | 10 +- devicedetails.h | 8 + qt-ui/configuredivecomputerdialog.cpp | 16 ++ qt-ui/configuredivecomputerdialog.ui | 334 +++++++++++++++++--------- 6 files changed, 316 insertions(+), 108 deletions(-) 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