aboutsummaryrefslogtreecommitdiffstats
path: root/core/configuredivecomputerthreads.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/configuredivecomputerthreads.cpp')
-rw-r--r--core/configuredivecomputerthreads.cpp38
1 files changed, 36 insertions, 2 deletions
diff --git a/core/configuredivecomputerthreads.cpp b/core/configuredivecomputerthreads.cpp
index 1c445f02a..cbd16611b 100644
--- a/core/configuredivecomputerthreads.cpp
+++ b/core/configuredivecomputerthreads.cpp
@@ -361,6 +361,32 @@ static dc_status_t write_suunto_vyper_settings(dc_device_t *device, DeviceDetail
return rc;
}
+static dc_status_t read_ostc4_settings(dc_device_t *device, DeviceDetails *m_deviceDetails, dc_event_callback_t progress_cb, void *userdata)
+{
+ dc_status_t rc = DC_STATUS_SUCCESS;
+ dc_event_progress_t progress;
+ progress.current = 0;
+ progress.maximum = 1;
+ unsigned char hardware[1];
+
+ EMIT_PROGRESS();
+
+ return rc;
+}
+
+static dc_status_t write_ostc4_settings(dc_device_t *device, DeviceDetails *m_deviceDetails, dc_event_callback_t progress_cb, void *userdata)
+{
+ dc_status_t rc = DC_STATUS_SUCCESS;
+ dc_event_progress_t progress;
+ progress.current = 0;
+ progress.maximum = 1;
+
+ EMIT_PROGRESS();
+
+ return rc;
+}
+
+
#if DC_VERSION_CHECK(0, 5, 0)
static dc_status_t read_ostc3_settings(dc_device_t *device, DeviceDetails *m_deviceDetails, dc_event_callback_t progress_cb, void *userdata)
{
@@ -374,7 +400,6 @@ static dc_status_t read_ostc3_settings(dc_device_t *device, DeviceDetails *m_dev
rc = hw_ostc3_device_hardware (device, hardware, sizeof (hardware));
if (rc != DC_STATUS_SUCCESS)
return rc;
- EMIT_PROGRESS();
dc_descriptor_t *desc = get_descriptor(DC_FAMILY_HW_OSTC3, hardware[0]);
if (desc) {
@@ -384,6 +409,11 @@ static dc_status_t read_ostc3_settings(dc_device_t *device, DeviceDetails *m_dev
return DC_STATUS_UNSUPPORTED;
}
+ if (m_deviceDetails->model == "OSTC 4")
+ return read_ostc4_settings(device, m_deviceDetails, progress_cb, userdata);
+
+ EMIT_PROGRESS();
+
//Read gas mixes
gas gas1;
gas gas2;
@@ -1647,7 +1677,11 @@ void WriteSettingsThread::run()
break;
#if DC_VERSION_CHECK(0, 5, 0)
case DC_FAMILY_HW_OSTC3:
- rc = write_ostc3_settings(m_data->device, m_deviceDetails, DeviceThread::event_cb, this);
+ // FIXME: Is this the best way?
+ if (m_deviceDetails->model == "OSTC 4")
+ rc = write_ostc4_settings(m_data->device, m_deviceDetails, DeviceThread::event_cb, this);
+ else
+ rc = write_ostc3_settings(m_data->device, m_deviceDetails, DeviceThread::event_cb, this);
if (rc != DC_STATUS_SUCCESS)
emit error(tr("Failed!"));
break;