diff --git a/vscode/OmobiLEDdisplayBluetooth/include/LedDisplayController.h b/vscode/OmobiLEDdisplayBluetooth/include/LedDisplayController.h index a7c8a33..535f0d4 100644 --- a/vscode/OmobiLEDdisplayBluetooth/include/LedDisplayController.h +++ b/vscode/OmobiLEDdisplayBluetooth/include/LedDisplayController.h @@ -94,6 +94,7 @@ public: void setAutomaticBrightnessAdjustment(bool automaticBrightnessAdjustment); private: + // matrix objects TaskHandle_t displayUpdateTask; NeoPixelBrightnessBusGfx *matrix; diff --git a/vscode/OmobiLEDdisplayBluetooth/src/LedDisplayController.cpp b/vscode/OmobiLEDdisplayBluetooth/src/LedDisplayController.cpp index da2eb85..1dad8a2 100644 --- a/vscode/OmobiLEDdisplayBluetooth/src/LedDisplayController.cpp +++ b/vscode/OmobiLEDdisplayBluetooth/src/LedDisplayController.cpp @@ -2,6 +2,9 @@ LedDisplayController *ledDisplayControllerGlobal = nullptr; +static const uint8_t StepsFade = 255; +static const float RFade = (StepsFade*log10(2))/log10(255); + // -------------------- // - Public functions - // -------------------- @@ -188,7 +191,7 @@ void LedDisplayController::disp_scroll_text() void LedDisplayController::show_matrix(const char *text, int pos, const char *color) { //Serial.printf("TEXT: %s (pos=%d, color=%d)\n", text, pos, this->colorFromHex(String(color))); - this->matrix->SetBrightness(this->text_sets.disp_brightness); + this->matrix->SetBrightness(pow (2, (this->text_sets.disp_brightness / RFade)) - 1); this->matrix->setTextColor(this->colorFromHex(String(color))); this->matrix->setCursor(pos, 0); this->matrix->print(text);