633 Linux Demo Program Bug


New member
The serial LC+Keypad 633 demonstration program has a bug in it and I can't seem to figure it out.

When the keys on the 633 are pressed rapidly keystrokes are buffered but not displayed on the screen. Then when you press any other key it will not display the key you are pressing. Instead it will display the key you previously buffered.

Any help would be greatly appreciated.
John Van
Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.


New member
I was using the demo code as a foundation to build my project. If it can't/won't be fixed, is there some other sample code that I could use for my project?

CF Support

Are you working with the stock demo code? The stock linux code has a buffer problem which I should be able to look at today. I will attempt to port over the correctly working windows code. I'll PM you with the fixed code as soon as I get it fixed.
USB LCD Displays - Graphic and Character LCDs with a Keypad

CF Tech

You might want to take a look at the windows sample code--I know it is solid.

The 633 needs to be able to look at the serial stream without commiting to removing the bytes (PeekByte()), since until a complete packet is received, it is not safe to discard bytes (and parhaps part of a still yet incomplete packet). Basically the user code needs to pull all available bytes from the OS into its own buffer, then run CheckForPacket() on that buffer. Check for packet will return a packet, discard one byte, or return without any changes depending on the data in the user code's buffer.

I think there may be some weakness in the Linux implementation/port of that algorithim.