summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorGravatar Anton Lundin <glance@acc.umu.se>2017-04-27 21:25:04 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2017-05-04 10:50:15 -0700
commitf14ad7f183f0422ad09c455212e1822bd7bdd3ee (patch)
treef724ed6b540829fb697f35333a8d8c946f2cdef6 /core
parent5a4e1a55866ac943eecbd32c52583142d4e8921e (diff)
downloadsubsurface-f14ad7f183f0422ad09c455212e1822bd7bdd3ee.tar.gz
Implement OSTC4 specific settings
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Diffstat (limited to 'core')
-rw-r--r--core/configuredivecomputerthreads.cpp33
-rw-r--r--core/devicedetails.cpp3
-rw-r--r--core/devicedetails.h3
3 files changed, 37 insertions, 2 deletions
diff --git a/core/configuredivecomputerthreads.cpp b/core/configuredivecomputerthreads.cpp
index 7fdf84db0..39c3b5c63 100644
--- a/core/configuredivecomputerthreads.cpp
+++ b/core/configuredivecomputerthreads.cpp
@@ -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
diff --git a/core/devicedetails.cpp b/core/devicedetails.cpp
index e21983a79..18941a0e2 100644
--- a/core/devicedetails.cpp
+++ b/core/devicedetails.cpp
@@ -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),
diff --git a/core/devicedetails.h b/core/devicedetails.h
index ac12b6ca4..cb1a5ad1e 100644
--- a/core/devicedetails.h
+++ b/core/devicedetails.h
@@ -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;