mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Add Support for more OSTC 3 Settings
Adds support for more OSTC 3 Settings to the reading, writing, backup and restore functions. These settings are: last deco, units, sampling rate, salinity, dive mode colour and compass gain. Signed-off-by: Joseph W. Joshua <joejoshw@gmail.com> Signed-off-by: Thiago Macieira <thiago@macieira.org>
This commit is contained in:
parent
aad60ef6da
commit
09ec8a44e5
6 changed files with 867 additions and 60 deletions
|
@ -27,18 +27,47 @@ void ReadSettingsThread::run()
|
|||
m_deviceDetails->setLanguage(0);
|
||||
m_deviceDetails->setLastDeco(0);
|
||||
m_deviceDetails->setSerialNo("");
|
||||
m_deviceDetails->setCompassGain(0);
|
||||
m_deviceDetails->setSalinity(0);
|
||||
m_deviceDetails->setSamplingRate(0);
|
||||
m_deviceDetails->setUnits(0);
|
||||
|
||||
//Read general settings
|
||||
unsigned char uData[1] = {0};
|
||||
//LastDeco
|
||||
rc = hw_ostc3_device_config_read(m_data->device, 0x2D, uData, sizeof(uData));
|
||||
if (rc == DC_STATUS_SUCCESS)
|
||||
m_deviceDetails->setLastDeco(uData[0]);
|
||||
//Brightness
|
||||
rc = hw_ostc3_device_config_read(m_data->device, 0x2D, uData, sizeof(uData));
|
||||
if (rc == DC_STATUS_SUCCESS)
|
||||
m_deviceDetails->setBrightness(uData[0]);
|
||||
//Units
|
||||
rc = hw_ostc3_device_config_read(m_data->device, 0x2E, uData, sizeof(uData));
|
||||
if (rc == DC_STATUS_SUCCESS)
|
||||
m_deviceDetails->setUnits(uData[0]);
|
||||
//Sampling Rate
|
||||
rc = hw_ostc3_device_config_read(m_data->device, 0x2F, uData, sizeof(uData));
|
||||
if (rc == DC_STATUS_SUCCESS)
|
||||
m_deviceDetails->setSamplingRate(uData[0]);
|
||||
//Salinity
|
||||
rc = hw_ostc3_device_config_read(m_data->device, 0x30, uData, sizeof(uData));
|
||||
if (rc == DC_STATUS_SUCCESS)
|
||||
m_deviceDetails->setSalinity(uData[0]);
|
||||
//Dive mode colour
|
||||
rc = hw_ostc3_device_config_read(m_data->device, 0x31, uData, sizeof(uData));
|
||||
if (rc == DC_STATUS_SUCCESS)
|
||||
m_deviceDetails->setDiveModeColor(uData[0]);
|
||||
//Language
|
||||
rc = hw_ostc3_device_config_read(m_data->device, 0x32, uData, sizeof(uData));
|
||||
if (rc == DC_STATUS_SUCCESS)
|
||||
m_deviceDetails->setLanguage(uData[0]);
|
||||
//Date Format
|
||||
rc = hw_ostc3_device_config_read(m_data->device, 0x33, uData, sizeof(uData));
|
||||
if (rc == DC_STATUS_SUCCESS)
|
||||
m_deviceDetails->setDateFormat(uData[0]);
|
||||
|
||||
|
||||
//read firmware settings
|
||||
unsigned char fData[64] = {0};
|
||||
rc = hw_ostc3_device_version (m_data->device, fData, sizeof (fData));
|
||||
|
@ -88,15 +117,47 @@ void WriteSettingsThread::run()
|
|||
case DC_FAMILY_HW_OSTC3:
|
||||
supported = true;
|
||||
//write general settings
|
||||
|
||||
//custom text
|
||||
hw_ostc3_device_customtext(m_data->device, m_deviceDetails->customText().toUtf8().data());
|
||||
unsigned char data[1] = {0};
|
||||
|
||||
//last deco
|
||||
data[0] = m_deviceDetails->lastDeco();
|
||||
hw_ostc3_device_config_write(m_data->device, 0x2C, data, sizeof(data));
|
||||
|
||||
//brightness
|
||||
data[0] = m_deviceDetails->brightness();
|
||||
hw_ostc3_device_config_write(m_data->device, 0x2D, data, sizeof(data));
|
||||
|
||||
//units
|
||||
data[0] = m_deviceDetails->units();
|
||||
hw_ostc3_device_config_write(m_data->device, 0x2E, data, sizeof(data));
|
||||
|
||||
//sampling rate
|
||||
data[0] = m_deviceDetails->samplingRate();
|
||||
hw_ostc3_device_config_write(m_data->device, 0x2F, data, sizeof(data));
|
||||
|
||||
//salinity
|
||||
data[0] = m_deviceDetails->salinity();
|
||||
hw_ostc3_device_config_write(m_data->device, 0x30, data, sizeof(data));
|
||||
|
||||
//dive mode colour
|
||||
data[0] = m_deviceDetails->diveModeColor();
|
||||
hw_ostc3_device_config_write(m_data->device, 0x31, data, sizeof(data));
|
||||
|
||||
//language
|
||||
data[0] = m_deviceDetails->language();
|
||||
hw_ostc3_device_config_write(m_data->device, 0x32, data, sizeof(data));
|
||||
|
||||
//date format
|
||||
data[0] = m_deviceDetails->dateFormat();
|
||||
hw_ostc3_device_config_write(m_data->device, 0x33, data, sizeof(data));
|
||||
|
||||
//compass gain
|
||||
data[0] = m_deviceDetails->compassGain();
|
||||
hw_ostc3_device_config_write(m_data->device, 0x34, data, sizeof(data));
|
||||
|
||||
//sync date and time
|
||||
if (m_deviceDetails->syncTime()) {
|
||||
QDateTime timeToSet = QDateTime::currentDateTime();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue