From 2432350064c6a9109501b3df21f56a9fe41aa686 Mon Sep 17 00:00:00 2001 From: "Joseph W. Joshua" Date: Sat, 7 Jun 2014 21:56:44 +0300 Subject: Add brightness setting Adds a setting to control the device's brightness. Currently I have only the OSTC 3. Will add more afterwards. Signed-off-by: Joseph W. Joshua Signed-off-by: Thiago Macieira --- qt-ui/configuredivecomputer.cpp | 16 ++++++++++++++++ qt-ui/configuredivecomputer.h | 1 + qt-ui/configuredivecomputerdialog.cpp | 6 ++++++ qt-ui/configuredivecomputerdialog.h | 2 ++ qt-ui/configuredivecomputerdialog.ui | 33 +++++++++++++++++++++++++++++++++ 5 files changed, 58 insertions(+) diff --git a/qt-ui/configuredivecomputer.cpp b/qt-ui/configuredivecomputer.cpp index f591efffa..8cc3a6953 100644 --- a/qt-ui/configuredivecomputer.cpp +++ b/qt-ui/configuredivecomputer.cpp @@ -34,6 +34,11 @@ void ConfigureDiveComputer::setDeviceDateAndTime(device_data_t *data, QDateTime writeSettingToDevice(data, "DateAndTime", dateAndTime); } +void ConfigureDiveComputer::setDeviceBrightness(device_data_t *data, int brighnessLevel) +{ + writeSettingToDevice(data, "Brightness", brighnessLevel); +} + void ConfigureDiveComputer::setState(ConfigureDiveComputer::states newState) { currentState = newState; @@ -151,6 +156,17 @@ void WriteSettingsThread::run() break; } } + if (m_settingName == "Brightness") { + switch (dc_device_get_type(data->device)) { + case DC_FAMILY_HW_OSTC3: + qDebug() << "Brightness"; + supported = true; + unsigned char packet[1] = { m_settingValue.toInt() }; + result = hw_ostc3_device_config_write(data->device, 0x2D, packet, sizeof (packet)); + break; + } + } + qDebug() << result; if (result != DC_STATUS_SUCCESS) { qDebug() << result; lastError = tr("An error occurred while sending data to the dive computer."); diff --git a/qt-ui/configuredivecomputer.h b/qt-ui/configuredivecomputer.h index 8b1c4b4c7..08c4e190f 100644 --- a/qt-ui/configuredivecomputer.h +++ b/qt-ui/configuredivecomputer.h @@ -56,6 +56,7 @@ public: void setDeviceName(device_data_t *data, QString newName); void setDeviceDateAndTime(device_data_t *data, QDateTime dateAndTime); + void setDeviceBrightness(device_data_t *data, int brighnessLevel); signals: void deviceSettings(QString settings); void message(QString msg); diff --git a/qt-ui/configuredivecomputerdialog.cpp b/qt-ui/configuredivecomputerdialog.cpp index b88715fc9..1d5b1d7f8 100644 --- a/qt-ui/configuredivecomputerdialog.cpp +++ b/qt-ui/configuredivecomputerdialog.cpp @@ -210,3 +210,9 @@ void ConfigureDiveComputerDialog::on_setDateAndTime_clicked() getDeviceData(); config->setDeviceDateAndTime(&device_data, QDateTime::currentDateTime()); } + +void ConfigureDiveComputerDialog::on_setBrightnessButton_clicked() +{ + getDeviceData(); + config->setDeviceBrightness(&device_data, ui->brightnessComboBox->currentIndex()); +} diff --git a/qt-ui/configuredivecomputerdialog.h b/qt-ui/configuredivecomputerdialog.h index 4c63c8c8f..7c4243ab8 100644 --- a/qt-ui/configuredivecomputerdialog.h +++ b/qt-ui/configuredivecomputerdialog.h @@ -32,6 +32,8 @@ private slots: void on_setDateAndTime_clicked(); + void on_setBrightnessButton_clicked(); + private: Ui::ConfigureDiveComputerDialog *ui; diff --git a/qt-ui/configuredivecomputerdialog.ui b/qt-ui/configuredivecomputerdialog.ui index 71fa541c3..cb4dacb23 100644 --- a/qt-ui/configuredivecomputerdialog.ui +++ b/qt-ui/configuredivecomputerdialog.ui @@ -110,6 +110,39 @@ + + + + Brightness: + + + + + + + + Eco + + + + + Medium + + + + + High + + + + + + + + ... + + + -- cgit v1.2.3-70-g09d2