From cb69a93a4501b2a58e1f991c953b3c58d6ceeb67 Mon Sep 17 00:00:00 2001 From: jmccrohan Date: Sat, 27 May 2017 17:37:05 +0000 Subject: picoLCDGraphic: change backlight from bool to byte Based on patch submitted by Mike Edwards to Debian Bug #861993 (https://bugs.debian.org/861993). See excerpt from bug report below. ----------------------------------------- Dear Maintainer, Using driver 'picoLCDGraphic' in lcd4linux.conf, backlight can only be set to 0 or 1 (off/on). While the backlight of the picolcd is on at boot, the moment lcd4linux starts, the backlight turns off with either setting. Looking at the source for the driver, I found that somewhere along the line, the function to set the backlight had been changed to use an 8 bit value from 0 - 255, effectively making this a brightness setting: static int drv_pLG_backlight(int backlight) { unsigned char cmd[2] = { 0x91 }; /* set backlight */ if (backlight < 0) backlight = 0; if (backlight > 255) backlight = 255; cmd[1] = backlight; drv_pLG_send(cmd, 2); return backlight; } ... but the config option for backlight was still limited to only accepting a 0 or 1: if (cfg_number(section, "Backlight", 0, 0, 1, &value) > 0) { info("Setting backlight to %d", value); drv_pLG_backlight(value); } I've patched that if statement above to accept values between 0 and 255. Now, setting the config option for backlight to 255 in lcd4linux.conf does result in the backlight being turned on at full brightness. ----------------------------------------- Signed-off-by: Jonathan McCrohan git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1204 3ae390bd-cb1e-0410-b409-cd5a39f66f1f --- drv_picoLCDGraphic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drv_picoLCDGraphic.c b/drv_picoLCDGraphic.c index fa7e15b..1bbb4fa 100644 --- a/drv_picoLCDGraphic.c +++ b/drv_picoLCDGraphic.c @@ -539,7 +539,7 @@ static int drv_pLG_start(const char *section, const int quiet) drv_pLG_contrast(value); } - if (cfg_number(section, "Backlight", 0, 0, 1, &value) > 0) { + if (cfg_number(section, "Backlight", 0, 0, 255, &value) > 0) { info("Setting backlight to %d", value); drv_pLG_backlight(value); } -- cgit v1.2.3