CFA-635 - Query LED brightness


New member
Why can't I query the LED brightness just like I can any other GPIO pin?

I'd like to be able to do it, and it would make sense given that they're set like any other GPIO that they should be readable like any other GPIO.

Is there any other way of doing it right now, or would it require a firmware change?

Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.


New member
I can?

Not that I can see:

The return packet will be:
type = 0x40 | 0x1E = 0x5E = 9410
data_length = 15
data[0] = fan 1-4 reporting status (as set by command 16)
data[1] = temperatures 1-8 reporting status (as set by command 19)
data[2] = temperatures 9-15 reporting status (as set by command 19)
data[3] = temperatures 16-23 reporting status (as set by command 19)
data[4] = temperatures 24-32 reporting status (as set by command 19)
data[5] = key presses (as set by command 23)
data[6] = key releases (as set by command 23)
data[7] = ATX Power Switch Functionality (as set by command 28), and
bit 0x08 will be set if the watchdog is active
data[8] = current watchdog counter (as set by command 29)
data[9] = fan RPM glitch delay[0] (as set by command 26)
data[10] = fan RPM glitch delay[1] (as set by command 26)
data[11] = fan RPM glitch delay[2] (as set by command 26)
data[12] = fan RPM glitch delay[3] (as set by command 26)
data[13] = contrast setting (as set by command 13)
data[14] = backlight setting (as set by command 14)
USB LCD Displays - Graphic and Character LCDs with a Keypad

CF Tech

D'oh. You said "LED" and I thought "Backlight LED".

The LEDs can be read back by command 35. I see that the docs say it does not work, but I just checked it and it does work OK. The return is two bytes, the first is the index (like used in command 34) and the second is the current setting.

We will make a note in the data sheet or revise it to correct this issue.


New member
I beg to differ; that's the first thing I tried. My CFA-635 returns an error code for any request for any GPIO numbered over four. The docs say that 5-255 are reserved, and so it appears to be.

CFALCD.Display: Display reported an error with command: Command type ReadGPIOPin
        Hex bytes: 23,01,05,E6,64,
        Expected return flag: 63
        Queued for sending: True
        Sent: True
        Received: True
        Errored: True
Error response: E3,00,B6,CC,
While you're fixing docs, the docs also say that the valid data length for command 23h (35d) is four, whereas the rest of the section implies one. Unless there's something I'm missing.