Hi!
Today I have finally received my LCD, a picoLCD 256x64. I was pretty
impressed how easy the switch from the X11 driver to the actual LCD was
-- kudos to all of you! Everthing works fine, however polling the
buttons using LCD::GPI(1) considerable slows down output on the LCD. I
had a look at "drv_picoLCDGraphic.c" and the problem seems to lie in the
function "drv_pLG_read()".
static int drv_pLG_read(unsigned char *data, int size)
{
return usb_interrupt_read(lcd, USB_ENDPOINT_IN + 1, (char *) data,
size, 1000);
}
When I change the timeout value from 1000 to 25 or so, keypress data are
still received, but there is no notable delay from polling. If however
I change timeout to 10000, there is a delay of ten seconds, leading me
to the suspicion that the polling times out in every single calls of
"usb_interrupt_read()". Is this a bug or actually a feature? ;)
Here's what I get when I start lcd4linux with "-Fvv" (skipping the
config file dump):
[config file dump]
plugin_cfg.c: Variable n = '0' (0)
lcd4linux.c: initializing driver picoLCDGraphic
picoLCDGraphic: $Rev: 1068 $
PICOLCD Graphic initialization
Setting display inverted to 0
picoLCDGraphic: scanning for picoLCD 256x64...
picoLCDGraphic: found picoLCD on bus 003 device 003
picoLCDGraphic: interface 0 already claimed by 'usbhid'
picoLCDGraphic: attempting to detach driver...
picoLCDGraphic: Manufacturer='ITUNER INC' Product='USB-LCD-256x64'
SerialNumber='Ver.00.03'
drv_picoLCDGraphic.c: drv_pLG_start(): allocated
drv_picoLCDGraphic.c: drv_pLG_start(): zeroed
Setting contrast to 230
Setting backlight to 1
In drv_pLG_clear
picoLCDGraphic: using 1 GPI's and 8 GPO's
initializing layout 'picoLCD'
[and now the usual stuff of entering main loop and so forth]
If anybody has got this LCD, I'll attach my config file. It basically
prints "uptime()" and the keypress state on a couple of lines.
I'll be off for a couple of days, so take your time... :)
Thanks,
Martin
--
www.mzuther.de
www.radix-musik.de
|