diff --git a/components/squeezelite/display.c b/components/squeezelite/display.c
index 75459d6f..76342ba0 100644
--- a/components/squeezelite/display.c
+++ b/components/squeezelite/display.c
@@ -646,12 +646,13 @@ static void grfb_handler(u8_t *data, int len) {
pkt->brightness = htons(pkt->brightness);
xSemaphoreTake(displayer.mutex, portMAX_DELAY);
-
- if (pkt->brightness < 0) {
+
+ // LMS driver sends 0..5 value, we assume driver is highly log
+ if (pkt->brightness <= 0) {
GDS_DisplayOff(display);
} else {
GDS_DisplayOn(display);
- GDS_SetContrast(display, pkt->brightness);
+ GDS_SetContrast(display, 255 * powf(pkt->brightness / 5.0f, 3));
}
xSemaphoreGive(displayer.mutex);
diff --git a/plugin/SqueezeESP32.zip b/plugin/SqueezeESP32.zip
index f5f08c89..1d8b8c75 100644
Binary files a/plugin/SqueezeESP32.zip and b/plugin/SqueezeESP32.zip differ
diff --git a/plugin/SqueezeESP32/Graphics.pm b/plugin/SqueezeESP32/Graphics.pm
index 2597a557..b23cf95b 100644
--- a/plugin/SqueezeESP32/Graphics.pm
+++ b/plugin/SqueezeESP32/Graphics.pm
@@ -88,7 +88,7 @@ sub displayWidth {
}
sub brightnessMap {
- return (65535, 10, 50, 100, 200);
+ return (0 .. 5);
}
=comment
diff --git a/plugin/SqueezeESP32/install.xml b/plugin/SqueezeESP32/install.xml
index a835ce52..7d20081e 100644
--- a/plugin/SqueezeESP32/install.xml
+++ b/plugin/SqueezeESP32/install.xml
@@ -10,6 +10,6 @@
PLUGIN_SQUEEZEESP32
PLUGIN_SQUEEZEESP32_DESC
Plugins::SqueezeESP32::Plugin
- 0.93
+ 0.94
Philippe
diff --git a/plugin/repo.xml b/plugin/repo.xml
index 52afc5ca..f13e8830 100644
--- a/plugin/repo.xml
+++ b/plugin/repo.xml
@@ -1,10 +1,10 @@
-
+
https://github.com/sle118/squeezelite-esp32
Philippe
- 42e9a5713355c5c7b8b318f4254a183e9bb86b8f
+ a9bf10b47d13508ba051e4067cdabc2c283f4824
philippe_44@outlook.com
SqueezeESP32 additional player id (100)
http://github.com/sle118/squeezelite-esp32/raw/master/plugin/SqueezeESP32.zip