mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Implement OSTC4 specific settings
Signed-off-by: Anton Lundin <glance@acc.umu.se>
This commit is contained in:
parent
5a4e1a5586
commit
f14ad7f183
5 changed files with 142 additions and 35 deletions
|
@ -30,6 +30,7 @@
|
|||
#define OSTC3_AGF_LOW 0x27
|
||||
#define OSTC3_AGF_HIGH 0x28
|
||||
#define OSTC3_AGF_SELECTABLE 0x29
|
||||
#define OSTC4_VPM_CONSERVATISM 0x29
|
||||
#define OSTC3_SATURATION 0x2A
|
||||
#define OSTC3_DESATURATION 0x2B
|
||||
#define OSTC3_LAST_DECO 0x2C
|
||||
|
@ -48,9 +49,11 @@
|
|||
#define OSTC3_FLIP_SCREEN 0x39
|
||||
#define OSTC3_LEFT_BUTTON_SENSIVITY 0x3A
|
||||
#define OSTC3_RIGHT_BUTTON_SENSIVITY 0x3A
|
||||
#define OSTC4_BUTTON_SENSIVITY 0x3A
|
||||
#define OSTC3_BOTTOM_GAS_CONSUMPTION 0x3C
|
||||
#define OSTC3_DECO_GAS_CONSUMPTION 0x3D
|
||||
#define OSTC3_MOD_WARNING 0x3E
|
||||
#define OSTC4_TRAVEL_GAS_CONSUMPTION 0x3E
|
||||
#define OSTC3_DYNAMIC_ASCEND_RATE 0x3F
|
||||
#define OSTC3_GRAPHICAL_SPEED_INDICATOR 0x40
|
||||
#define OSTC3_ALWAYS_SHOW_PPO2 0x41
|
||||
|
@ -369,7 +372,7 @@ static dc_status_t read_ostc4_settings(dc_device_t *device, DeviceDetails *m_dev
|
|||
dc_status_t rc = DC_STATUS_SUCCESS;
|
||||
dc_event_progress_t progress;
|
||||
progress.current = 0;
|
||||
progress.maximum = 19;
|
||||
progress.maximum = 23;
|
||||
unsigned char hardware[1];
|
||||
|
||||
EMIT_PROGRESS();
|
||||
|
@ -572,12 +575,25 @@ static dc_status_t read_ostc4_settings(dc_device_t *device, DeviceDetails *m_dev
|
|||
READ_SETTING(OSTC3_DECO_TYPE, decoType);
|
||||
READ_SETTING(OSTC3_AGF_HIGH, aGFHigh);
|
||||
READ_SETTING(OSTC3_AGF_LOW, aGFLow);
|
||||
READ_SETTING(OSTC4_VPM_CONSERVATISM, vpmConservatism);
|
||||
READ_SETTING(OSTC3_SETPOINT_FALLBACK, setPointFallback);
|
||||
READ_SETTING(OSTC4_BUTTON_SENSIVITY, buttonSensitivity);
|
||||
READ_SETTING(OSTC3_BOTTOM_GAS_CONSUMPTION, bottomGasConsumption);
|
||||
READ_SETTING(OSTC3_DECO_GAS_CONSUMPTION, decoGasConsumption);
|
||||
READ_SETTING(OSTC4_TRAVEL_GAS_CONSUMPTION, travelGasConsumption);
|
||||
READ_SETTING(OSTC3_ALWAYS_SHOW_PPO2, alwaysShowppO2);
|
||||
READ_SETTING(OSTC3_SAFETY_STOP_LENGTH, safetyStopLength);
|
||||
READ_SETTING(OSTC3_SAFETY_STOP_START_DEPTH, safetyStopStartDepth);
|
||||
/*
|
||||
* Settings not yet implemented
|
||||
*
|
||||
* logbook offset 0x47 0..9000 low byte 0..9000 high byte
|
||||
* Extra display 0x71 0=0ff, 1=BigFont
|
||||
* Custom View Center 0x72 0..8 (..9 Bonex Version)
|
||||
* CV Center Fallback 0x73 0..20 sec
|
||||
* Custom View Corner 0x74 1..7
|
||||
* CV Corner Fallback 0x75 0..20 sec
|
||||
*/
|
||||
|
||||
#undef READ_SETTING
|
||||
|
||||
|
@ -624,7 +640,7 @@ static dc_status_t write_ostc4_settings(dc_device_t *device, DeviceDetails *m_de
|
|||
dc_status_t rc = DC_STATUS_SUCCESS;
|
||||
dc_event_progress_t progress;
|
||||
progress.current = 0;
|
||||
progress.maximum = 18;
|
||||
progress.maximum = 21;
|
||||
|
||||
//write gas values
|
||||
unsigned char gas1Data[4] = {
|
||||
|
@ -835,12 +851,25 @@ static dc_status_t write_ostc4_settings(dc_device_t *device, DeviceDetails *m_de
|
|||
WRITE_SETTING(OSTC3_DECO_TYPE, decoType);
|
||||
WRITE_SETTING(OSTC3_AGF_HIGH, aGFHigh);
|
||||
WRITE_SETTING(OSTC3_AGF_LOW, aGFLow);
|
||||
WRITE_SETTING(OSTC4_VPM_CONSERVATISM, vpmConservatism);
|
||||
WRITE_SETTING(OSTC3_SETPOINT_FALLBACK, setPointFallback);
|
||||
WRITE_SETTING(OSTC4_BUTTON_SENSIVITY, buttonSensitivity);
|
||||
WRITE_SETTING(OSTC3_BOTTOM_GAS_CONSUMPTION, bottomGasConsumption);
|
||||
WRITE_SETTING(OSTC3_DECO_GAS_CONSUMPTION, decoGasConsumption);
|
||||
WRITE_SETTING(OSTC4_TRAVEL_GAS_CONSUMPTION, travelGasConsumption);
|
||||
WRITE_SETTING(OSTC3_ALWAYS_SHOW_PPO2, alwaysShowppO2);
|
||||
WRITE_SETTING(OSTC3_SAFETY_STOP_LENGTH, safetyStopLength);
|
||||
WRITE_SETTING(OSTC3_SAFETY_STOP_START_DEPTH, safetyStopStartDepth);
|
||||
/*
|
||||
* Settings not yet implemented
|
||||
*
|
||||
* logbook offset 0x47 0..9000 low byte 0..9000 high byte
|
||||
* Extra display 0x71 0=0ff, 1=BigFont
|
||||
* Custom View Center 0x72 0..8 (..9 Bonex Version)
|
||||
* CV Center Fallback 0x73 0..20 sec
|
||||
* Custom View Corner 0x74 1..7
|
||||
* CV Corner Fallback 0x75 0..20 sec
|
||||
*/
|
||||
|
||||
#undef WRITE_SETTING
|
||||
|
||||
|
|
|
@ -28,6 +28,7 @@ DeviceDetails::DeviceDetails(QObject *parent) :
|
|||
aGFLow(0),
|
||||
aGFHigh(0),
|
||||
aGFSelectable(0),
|
||||
vpmConservatism(0),
|
||||
saturation(0),
|
||||
desaturation(0),
|
||||
lastDeco(0),
|
||||
|
@ -56,8 +57,10 @@ DeviceDetails::DeviceDetails(QObject *parent) :
|
|||
alarmDepth(0),
|
||||
leftButtonSensitivity(0),
|
||||
rightButtonSensitivity(0),
|
||||
buttonSensitivity(0),
|
||||
bottomGasConsumption(0),
|
||||
decoGasConsumption(0),
|
||||
travelGasConsumption(0),
|
||||
modWarning(false),
|
||||
dynamicAscendRate(false),
|
||||
graphicalSpeedIndicator(false),
|
||||
|
|
|
@ -60,6 +60,7 @@ public:
|
|||
int aGFLow;
|
||||
int aGFHigh;
|
||||
int aGFSelectable;
|
||||
int vpmConservatism;
|
||||
int saturation;
|
||||
int desaturation;
|
||||
int lastDeco;
|
||||
|
@ -88,8 +89,10 @@ public:
|
|||
int alarmDepth;
|
||||
int leftButtonSensitivity;
|
||||
int rightButtonSensitivity;
|
||||
int buttonSensitivity;
|
||||
int bottomGasConsumption;
|
||||
int decoGasConsumption;
|
||||
int travelGasConsumption;
|
||||
bool modWarning;
|
||||
bool dynamicAscendRate;
|
||||
bool graphicalSpeedIndicator;
|
||||
|
|
|
@ -811,9 +811,12 @@ void ConfigureDiveComputerDialog::populateDeviceDetailsOSTC4()
|
|||
deviceDetails->decoType = ui.decoTypeComboBox_4->currentIndex();
|
||||
deviceDetails->aGFHigh = ui.aGFHighSpinBox_4->value();
|
||||
deviceDetails->aGFLow = ui.aGFLowSpinBox_4->value();
|
||||
deviceDetails->vpmConservatism = ui.vpmConservatismSpinBox->value();
|
||||
deviceDetails->setPointFallback = ui.setPointFallbackCheckBox_4->isChecked();
|
||||
deviceDetails->buttonSensitivity = ui.buttonSensitivity_4->value();
|
||||
deviceDetails->bottomGasConsumption = ui.bottomGasConsumption_4->value();
|
||||
deviceDetails->decoGasConsumption = ui.decoGasConsumption_4->value();
|
||||
deviceDetails->travelGasConsumption = ui.travelGasConsumption_4->value();
|
||||
deviceDetails->alwaysShowppO2 = ui.alwaysShowppO2_4->isChecked();
|
||||
deviceDetails->tempSensorOffset = lrint(ui.tempSensorOffsetDoubleSpinBox_4->value() * 10);
|
||||
deviceDetails->safetyStopLength = ui.safetyStopLengthSpinBox_4->value();
|
||||
|
@ -1316,9 +1319,12 @@ void ConfigureDiveComputerDialog::reloadValuesOSTC4()
|
|||
ui.decoTypeComboBox_4->setCurrentIndex(deviceDetails->decoType);
|
||||
ui.aGFHighSpinBox_4->setValue(deviceDetails->aGFHigh);
|
||||
ui.aGFLowSpinBox_4->setValue(deviceDetails->aGFLow);
|
||||
ui.vpmConservatismSpinBox->setValue(deviceDetails->vpmConservatism);
|
||||
ui.setPointFallbackCheckBox_4->setChecked(deviceDetails->setPointFallback);
|
||||
ui.buttonSensitivity_4->setValue(deviceDetails->buttonSensitivity);
|
||||
ui.bottomGasConsumption_4->setValue(deviceDetails->bottomGasConsumption);
|
||||
ui.decoGasConsumption_4->setValue(deviceDetails->decoGasConsumption);
|
||||
ui.travelGasConsumption_4->setValue(deviceDetails->travelGasConsumption);
|
||||
ui.alwaysShowppO2_4->setChecked(deviceDetails->alwaysShowppO2);
|
||||
ui.tempSensorOffsetDoubleSpinBox_4->setValue((double)deviceDetails->tempSensorOffset / 10.0);
|
||||
ui.safetyStopLengthSpinBox_4->setValue(deviceDetails->safetyStopLength);
|
||||
|
|
|
@ -3261,14 +3261,37 @@
|
|||
<string>Advanced settings</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_8">
|
||||
<item row="12" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="alwaysShowppO2_4">
|
||||
<item row="12" column="3">
|
||||
<widget class="QLabel">
|
||||
<property name="text">
|
||||
<string>Always show pO₂</string>
|
||||
<string>Travel gas consumption</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<item row="11" column="4">
|
||||
<widget class="QSpinBox" name="buttonSensitivity_4">
|
||||
<property name="suffix">
|
||||
<string>%</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>70</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="11" column="3">
|
||||
<widget class="QLabel">
|
||||
<property name="text">
|
||||
<string>Button sensitivity</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel">
|
||||
<property name="text">
|
||||
<string>Future TTS</string>
|
||||
|
@ -3282,14 +3305,14 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<item row="2" column="3">
|
||||
<widget class="QLabel">
|
||||
<property name="text">
|
||||
<string>GFLow</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<item row="2" column="4">
|
||||
<widget class="QSpinBox" name="gfLowSpinBox_4">
|
||||
<property name="suffix">
|
||||
<string>%</string>
|
||||
|
@ -3305,14 +3328,14 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<item row="3" column="3">
|
||||
<widget class="QLabel">
|
||||
<property name="text">
|
||||
<string>GFHigh</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="4">
|
||||
<item row="3" column="4">
|
||||
<widget class="QSpinBox" name="gfHighSpinBox_4">
|
||||
<property name="suffix">
|
||||
<string>%</string>
|
||||
|
@ -3328,20 +3351,7 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="14" column="0">
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<item row="3" column="1">
|
||||
<widget class="QSpinBox" name="lastDecoSpinBox_4">
|
||||
<property name="suffix">
|
||||
<string> m</string>
|
||||
|
@ -3361,7 +3371,7 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="4">
|
||||
<item row="4" column="4">
|
||||
<widget class="QSpinBox" name="aGFLowSpinBox_4">
|
||||
<property name="suffix">
|
||||
<string>%</string>
|
||||
|
@ -3412,7 +3422,7 @@
|
|||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<item row="2" column="1">
|
||||
<widget class="QSpinBox" name="futureTTSSpinBox_4">
|
||||
<property name="suffix">
|
||||
<string> min</string>
|
||||
|
@ -3422,7 +3432,7 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel">
|
||||
<property name="text">
|
||||
<string>Last deco</string>
|
||||
|
@ -3432,14 +3442,14 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="3">
|
||||
<item row="4" column="3">
|
||||
<widget class="QLabel">
|
||||
<property name="text">
|
||||
<string>Alt GFLow</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="4">
|
||||
<item row="7" column="4">
|
||||
<widget class="QSpinBox" name="aGFHighSpinBox_4">
|
||||
<property name="suffix">
|
||||
<string>%</string>
|
||||
|
@ -3455,21 +3465,21 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="3">
|
||||
<item row="7" column="3">
|
||||
<widget class="QLabel">
|
||||
<property name="text">
|
||||
<string>Alt GFHigh</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="12" column="3">
|
||||
<item row="13" column="3">
|
||||
<widget class="QLabel">
|
||||
<property name="text">
|
||||
<string>Bottom gas consumption</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="13" column="3">
|
||||
<item row="14" column="3">
|
||||
<widget class="QLabel">
|
||||
<property name="text">
|
||||
<string>Deco gas consumption</string>
|
||||
|
@ -3477,7 +3487,7 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item row="12" column="4">
|
||||
<widget class="QSpinBox" name="bottomGasConsumption_4">
|
||||
<widget class="QSpinBox" name="travelGasConsumption_4">
|
||||
<property name="suffix">
|
||||
<string> ℓ/min</string>
|
||||
</property>
|
||||
|
@ -3493,6 +3503,22 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item row="13" column="4">
|
||||
<widget class="QSpinBox" name="bottomGasConsumption_4">
|
||||
<property name="suffix">
|
||||
<string> ℓ/min</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>20</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="14" column="4">
|
||||
<widget class="QSpinBox" name="decoGasConsumption_4">
|
||||
<property name="suffix">
|
||||
<string> ℓ/min</string>
|
||||
|
@ -3508,14 +3534,54 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="14" column="3">
|
||||
<item row="16" column="0">
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QCheckBox" name="alwaysShowppO2_4">
|
||||
<property name="text">
|
||||
<string>Always show pO₂</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel">
|
||||
<property name="text">
|
||||
<string>VPM conservatism</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QSpinBox" name="vpmConservatismSpinBox">
|
||||
<property name="prefix">
|
||||
<string>+</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>3</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QLabel">
|
||||
<property name="text">
|
||||
<string>Temperature sensor offset</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="14" column="4">
|
||||
<item row="1" column="4">
|
||||
<widget class="QDoubleSpinBox" name="tempSensorOffsetDoubleSpinBox_4">
|
||||
<property name="suffix">
|
||||
<string>°C</string>
|
||||
|
|
Loading…
Add table
Reference in a new issue