diff options
author | Anton Lundin <glance@acc.umu.se> | 2017-04-26 20:49:12 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2017-05-04 10:50:15 -0700 |
commit | 4cbf64bf99c7b47a9368f9f03399164b397c2ec8 (patch) | |
tree | 9745e798408aa5bf8df8ed0db73ffc24e51ed8d0 | |
parent | 0c276403ac1b080829b2169d84d42ebdbff2f875 (diff) | |
download | subsurface-4cbf64bf99c7b47a9368f9f03399164b397c2ec8.tar.gz |
Wire up a skeleton for configure OSTC 4
Signed-off-by: Anton Lundin <glance@acc.umu.se>
-rw-r--r-- | core/configuredivecomputerthreads.cpp | 38 | ||||
-rw-r--r-- | desktop-widgets/configuredivecomputerdialog.cpp | 18 | ||||
-rw-r--r-- | desktop-widgets/configuredivecomputerdialog.h | 2 |
3 files changed, 56 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; diff --git a/desktop-widgets/configuredivecomputerdialog.cpp b/desktop-widgets/configuredivecomputerdialog.cpp index ac1998dca..57f4451e7 100644 --- a/desktop-widgets/configuredivecomputerdialog.cpp +++ b/desktop-widgets/configuredivecomputerdialog.cpp @@ -480,6 +480,9 @@ void ConfigureDiveComputerDialog::populateDeviceDetails() case 2: populateDeviceDetailsOSTC(); break; + case 3: + populateDeviceDetailsOSTC4(); + break; } } @@ -785,6 +788,10 @@ void ConfigureDiveComputerDialog::populateDeviceDetailsSuuntoVyper() deviceDetails->alarmTime = ui.alarmTimeSpinBox->value(); } +void ConfigureDiveComputerDialog::populateDeviceDetailsOSTC4() +{ +} + void ConfigureDiveComputerDialog::readSettings() { ui.progressBar->setValue(0); @@ -865,6 +872,9 @@ void ConfigureDiveComputerDialog::reloadValues() case 2: reloadValuesOSTC(); break; + case 3: + reloadValuesOSTC4(); + break; } } @@ -1149,6 +1159,10 @@ void ConfigureDiveComputerDialog::reloadValuesSuuntoVyper() ui.alarmTimeSpinBox->setValue(deviceDetails->alarmTime); } +void ConfigureDiveComputerDialog::reloadValuesOSTC4() +{ +} + void ConfigureDiveComputerDialog::on_backupButton_clicked() { QString filename = existing_filename ?: prefs.default_filename; @@ -1227,6 +1241,10 @@ void ConfigureDiveComputerDialog::on_DiveComputerList_currentRowChanged(int curr selected_product = "OSTC 2N"; fw_upgrade_possible = true; break; + case 3: + selected_vendor = "Heinrichs Weikamp"; + selected_product = "OSTC 4"; + fw_upgrade_possible = true; default: /* Not Supported */ return; diff --git a/desktop-widgets/configuredivecomputerdialog.h b/desktop-widgets/configuredivecomputerdialog.h index 7daea3b11..d111b39a6 100644 --- a/desktop-widgets/configuredivecomputerdialog.h +++ b/desktop-widgets/configuredivecomputerdialog.h @@ -114,9 +114,11 @@ private: void populateDeviceDetailsOSTC3(); void populateDeviceDetailsOSTC(); void populateDeviceDetailsSuuntoVyper(); + void populateDeviceDetailsOSTC4(); void reloadValuesOSTC3(); void reloadValuesOSTC(); void reloadValuesSuuntoVyper(); + void reloadValuesOSTC4(); QString selected_vendor; QString selected_product; |