From 2382ba74733cc597c8e37734da41f7626a2d0342 Mon Sep 17 00:00:00 2001 From: localhorst Date: Sat, 9 Feb 2019 23:06:14 +0100 Subject: [PATCH] added checkbox for adaptive Brightness --- FilmLightController/lightmux.cpp | 19 ++++++++++++-- FilmLightController/lightmux.h | 7 +++++ FilmLightController/mainwindow.cpp | 15 +++++++++-- FilmLightController/mainwindow.h | 3 +++ FilmLightController/mainwindow.ui | 30 ++++++++++++++++++++-- Screenshot/Screenshot_20190128_220642.png | Bin 14442 -> 22085 bytes 6 files changed, 68 insertions(+), 6 deletions(-) diff --git a/FilmLightController/lightmux.cpp b/FilmLightController/lightmux.cpp index c4ffa77..6fc45ff 100644 --- a/FilmLightController/lightmux.cpp +++ b/FilmLightController/lightmux.cpp @@ -6,6 +6,7 @@ LightMux::LightMux() brightness = 50; power_cold = 0; power_warm = 0; + power_combined = 0; } @@ -42,10 +43,10 @@ void LightMux::mux(){ power_cold = static_cast(double(power_cold * (double(brightness/100.0))) + .5); power_warm = static_cast(double(power_warm * (double(brightness/100.0))) + .5); - - qDebug("cold color: %i\nwarm color: %i\n", power_cold, power_warm); + power_combined = static_cast(double(power_cold+power_warm) / 2.0); + } @@ -126,6 +127,16 @@ void LightMux::setTemperature(int requested_val){ } } +void LightMux::toogleAdaptiveBrightness(){ + adaptive_brightness = !adaptive_brightness; + + if(adaptive_brightness){ + qDebug("adaptive brightness enabled\n"); + } else{ + qDebug("adaptive brightness disabled\n"); + } +} + int LightMux::getBrightness(){ return brightness; } @@ -149,3 +160,7 @@ int LightMux::getPowerCold(){ int LightMux::getPowerWarm(){ return power_warm; } + +int LightMux::getPowerCombined(){ + return power_combined; +} diff --git a/FilmLightController/lightmux.h b/FilmLightController/lightmux.h index a26bfc8..78b7102 100644 --- a/FilmLightController/lightmux.h +++ b/FilmLightController/lightmux.h @@ -15,6 +15,9 @@ private: int power_cold; // power of the cold LEDs of Panels in percent int power_warm; // power of the warm LEDs of Panels in percent + int power_combined; //combined power of both LEDs in percent + + bool adaptive_brightness; // true indecates adaptive brightness is enabled public: LightMux(); @@ -41,6 +44,10 @@ public: int getPowerCold(); int getPowerWarm(); + int getPowerCombined(); + + void toogleAdaptiveBrightness(); + }; #endif // LIGHTMUX_H diff --git a/FilmLightController/mainwindow.cpp b/FilmLightController/mainwindow.cpp index e631a5b..c37cbde 100644 --- a/FilmLightController/mainwindow.cpp +++ b/FilmLightController/mainwindow.cpp @@ -37,17 +37,23 @@ void MainWindow::updateUI() setLablePowerCold(lmux->getPowerCold()); setLablePowerWarm(lmux->getPowerWarm()); + setLablePowerCombined(lmux->getPowerCombined()); } void MainWindow::setLablePowerCold(int val) { - ui->labelPowerCold->setText("Output Power Cold: " + QString::number(val) + " %"); + ui->labelPowerCold->setText("Output Power Cold: " + QString::number(val) + "%"); } void MainWindow::setLablePowerWarm(int val) { - ui->labelPowerWarm->setText("Output Power Warm: " + QString::number(val) + " %"); + ui->labelPowerWarm->setText("Output Power Warm: " + QString::number(val) + "%"); +} + +void MainWindow::setLablePowerCombined(int val) +{ + ui->labelPowerCombined->setText("Combined Power: " + QString::number(val) + "%"); } void MainWindow::on_BtnIncreaseBrightness_clicked() @@ -104,3 +110,8 @@ void MainWindow::on_lineTemperature_returnPressed() } + +void MainWindow::on_checkBox_stateChanged() +{ + lmux->toogleAdaptiveBrightness(); +} diff --git a/FilmLightController/mainwindow.h b/FilmLightController/mainwindow.h index 8be85d3..3d4f5c5 100644 --- a/FilmLightController/mainwindow.h +++ b/FilmLightController/mainwindow.h @@ -18,6 +18,7 @@ public: ~MainWindow(); void setLablePowerCold(int val); void setLablePowerWarm(int val); + void setLablePowerCombined(int val); private slots: void on_BtnIncreaseBrightness_clicked(); @@ -36,6 +37,8 @@ private slots: void on_lineTemperature_returnPressed(); + void on_checkBox_stateChanged(); + private: Ui::MainWindow *ui; LightMux *lmux; diff --git a/FilmLightController/mainwindow.ui b/FilmLightController/mainwindow.ui index a72e8ed..ae6319f 100644 --- a/FilmLightController/mainwindow.ui +++ b/FilmLightController/mainwindow.ui @@ -230,7 +230,7 @@ 10 - 220 + 240 201 18 @@ -243,7 +243,7 @@ 10 - 250 + 270 211 18 @@ -272,6 +272,32 @@ + + + + 10 + 300 + 211 + 18 + + + + Combined Power: + + + + + + 10 + 210 + 151 + 24 + + + + adaptive brightness + + diff --git a/Screenshot/Screenshot_20190128_220642.png b/Screenshot/Screenshot_20190128_220642.png index 2f77cf181877c367bbeea8814c987f904a413532..0070257c132824d264927f48385d8f2ab6e4f70f 100644 GIT binary patch literal 22085 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 literal 14442 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 i`VX)7pTX}fUcQ!z@Lx&-|G)BgkUrDW*<