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 <joejoshw@gmail.com>
Signed-off-by: Thiago Macieira <thiago@macieira.org>
This commit is contained in:
Joseph W. Joshua 2014-06-07 21:56:44 +03:00 committed by Thiago Macieira
parent a7a74ae9a6
commit 2432350064
5 changed files with 58 additions and 0 deletions

View file

@ -34,6 +34,11 @@ void ConfigureDiveComputer::setDeviceDateAndTime(device_data_t *data, QDateTime
writeSettingToDevice(data, "DateAndTime", dateAndTime); writeSettingToDevice(data, "DateAndTime", dateAndTime);
} }
void ConfigureDiveComputer::setDeviceBrightness(device_data_t *data, int brighnessLevel)
{
writeSettingToDevice(data, "Brightness", brighnessLevel);
}
void ConfigureDiveComputer::setState(ConfigureDiveComputer::states newState) void ConfigureDiveComputer::setState(ConfigureDiveComputer::states newState)
{ {
currentState = newState; currentState = newState;
@ -151,6 +156,17 @@ void WriteSettingsThread::run()
break; 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) { if (result != DC_STATUS_SUCCESS) {
qDebug() << result; qDebug() << result;
lastError = tr("An error occurred while sending data to the dive computer."); lastError = tr("An error occurred while sending data to the dive computer.");

View file

@ -56,6 +56,7 @@ public:
void setDeviceName(device_data_t *data, QString newName); void setDeviceName(device_data_t *data, QString newName);
void setDeviceDateAndTime(device_data_t *data, QDateTime dateAndTime); void setDeviceDateAndTime(device_data_t *data, QDateTime dateAndTime);
void setDeviceBrightness(device_data_t *data, int brighnessLevel);
signals: signals:
void deviceSettings(QString settings); void deviceSettings(QString settings);
void message(QString msg); void message(QString msg);

View file

@ -210,3 +210,9 @@ void ConfigureDiveComputerDialog::on_setDateAndTime_clicked()
getDeviceData(); getDeviceData();
config->setDeviceDateAndTime(&device_data, QDateTime::currentDateTime()); config->setDeviceDateAndTime(&device_data, QDateTime::currentDateTime());
} }
void ConfigureDiveComputerDialog::on_setBrightnessButton_clicked()
{
getDeviceData();
config->setDeviceBrightness(&device_data, ui->brightnessComboBox->currentIndex());
}

View file

@ -32,6 +32,8 @@ private slots:
void on_setDateAndTime_clicked(); void on_setDateAndTime_clicked();
void on_setBrightnessButton_clicked();
private: private:
Ui::ConfigureDiveComputerDialog *ui; Ui::ConfigureDiveComputerDialog *ui;

View file

@ -110,6 +110,39 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Brightness:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="brightnessComboBox">
<item>
<property name="text">
<string>Eco</string>
</property>
</item>
<item>
<property name="text">
<string>Medium</string>
</property>
</item>
<item>
<property name="text">
<string>High</string>
</property>
</item>
</widget>
</item>
<item row="1" column="2">
<widget class="QToolButton" name="setBrightnessButton">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
</layout> </layout>
</item> </item>
<item> <item>