From: Archilles <arc...@us...> - 2013-02-08 20:09:21
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Hello, i'm using a HD44780-based LCD with 16x2 on Debian Lenny. It's connected by "Winamp-Wiring" (http://www.modding-faq.de/index.php?artid=601&page=3) and works fine so far, but I noticed a problem when I wanted to change some of the widgets. Hence I stripped it down to a minimal configuration for debugging. ==================================== Expected Result (. means blank space): |20c.............| |1234567890abcdef| Actual Result: [20.......c......] [1234567890......] !root@urknall:~# uname -a Linux urknall 2.6.26-2-xen-686 #1 SMP Mon Mar 5 02:55:27 UTC 2012 i686 GNU/Linux !root@urknall:~# dpkg -l lcd4linux ii lcd4linux 0.10.1~rc2-2 Grabs information and displays it on an external lcd !root@urknall:~# cat /etc/lcd4linux.conf Display HD44780-16x2 { Driver 'HD44780' Model 'generic' UseBusy 1 Port '/dev/parport0' Size '16x2' Wire { RW 'AUTOFD' RS 'INIT' ENABLE 'STROBE' ENABLE2 'GND' GPO 'GND' BACKLIGHT 'GND' GPO 'GND' POWER 'GND' } } Widget MyTemperatureCPU { class 'Text' # expression file::readline('/tmp/stats/temperature_cpu.txt',1) expression '26' length 3 postfix 'c' update 10000 } Widget OneTwoThree { class 'Text' expression '1234567890abcdef' length 16 update 60000 } Layout Default { Row1 { Col1 'MyTemperatureCPU' } Row2 { Col1 'OneTwoThree' } } ==================================== I also tried a fresh compiled binary from SVN. The only change is that the first line is now completely omitted. If I comment "length" out, nothing changes. Different alignments are also useless, except "A" (not supported in lenny's version). The string is now scrolling, but still 10 chars long. "strlen" says 2 for row one and 16 for row two. ==================================== !root@urknall:~# /tmp/lcd4linux -Fvvq LCD4Linux 0.11.0-SVN-1158 starting cfg.c: Warning: key <Display:HD44780-16x2.Wire.GPO>: value <'GND'> overwritten with <'GND'> Dump of /etc/lcd4linux.conf: Display 'HD44780-16x2' Display:HD44780-16x2.Driver 'HD44780' Display:HD44780-16x2.Model 'generic' Display:HD44780-16x2.Port '/dev/parport0' Display:HD44780-16x2.Size '16x2' Display:HD44780-16x2.UseBusy 1 Display:HD44780-16x2.Wire.BACKLIGHT 'GND' Display:HD44780-16x2.Wire.ENABLE 'STROBE' Display:HD44780-16x2.Wire.ENABLE2 'GND' Display:HD44780-16x2.Wire.GPO 'GND' Display:HD44780-16x2.Wire.POWER 'GND' Display:HD44780-16x2.Wire.RS 'INIT' Display:HD44780-16x2.Wire.RW 'AUTOFD' Layout 'Default' Layout:Default.Row1.Col1 'MyTemperatureCPU' Layout:Default.Row2.Col1 'OneTwoThree' Widget:MyTemperatureCPU.class 'Text' Widget:MyTemperatureCPU.expression '26' Widget:MyTemperatureCPU.length 3 Widget:MyTemperatureCPU.postfix 'c' Widget:MyTemperatureCPU.update 10000 Widget:OneTwoThree.class 'Text' Widget:OneTwoThree.expression '1234567890abcdef' Widget:OneTwoThree.length 16 Widget:OneTwoThree.update 60000 lcd4linux.c: initializing driver HD44780 HD44780: $Rev: 1066 $ HD44780: using model 'generic' HD44780: using parallel port HD44780: using 1 Controller(s) HD44780: using 8 bit mode udelay: using gettimeofday() delay loop HD44780: using ppdev /dev/parport0 HD44780: wiring: DISPLAY:RS - PARPORT:INIT (Pin 16) HD44780: wiring: DISPLAY:RW - PARPORT:AUTOFD (Pin 14) HD44780: wiring: DISPLAY:ENABLE - PARPORT:STROBE (Pin 1) HD44780: wiring: DISPLAY:ENABLE2 - PARPORT:GND HD44780: wiring: DISPLAY:ENABLE3 - PARPORT:GND HD44780: wiring: DISPLAY:ENABLE4 - PARPORT:GND HD44780: wiring: DISPLAY:BACKLIGHT - PARPORT:GND HD44780: wiring: DISPLAY:GPO - PARPORT:GND HD44780: wiring: DISPLAY:GPI - PARPORT:GND HD44780: wiring: DISPLAY:POWER - PARPORT:GND HD44780: timing: CY = 1000 ns (default) HD44780: timing: PW = 450 ns (default) HD44780: timing: AS = 140 ns (default) HD44780: timing: AH = 20 ns (default) HD44780: timing: INIT1 = 4100 us (default) HD44780: timing: INIT2 = 100 us (default) HD44780: timing: EXEC = 80 us (default) HD44780: timing: WRCG = 120 us (default) HD44780: timing: CLEAR = 2250 us (default) HD44780: timing: HOME = 2250 us (default) HD44780: timing: ONOFF = 2250 us (default) HD44780: using busy-flag checking HD44780: using 0 GPI's and 0 GPO's initializing layout 'Default' layout.c: Layout:Default: migrating 'row1.col1' to 'Layer:1.row1.col1' layout.c: Layout:Default: migrating 'row2.col1' to 'Layer:1.row2.col1' Creating new timer group (10000 ms) widget 'MyTemperatureCPU': Class 'text', Parent '<root>', Layer 1, Row 0, Col 0 (to 0,10) Creating new timer group (60000 ms) widget 'OneTwoThree': Class 'text', Parent '<root>', Layer 1, Row 1, Col 0 (to 1,10) lcd4linux.c: starting main loop ^Clcd4linux.c: got signal 2 lcd4linux.c: leaving main loop HD44780: shutting down display. HD44780: shutting down GPIO driver. drv_generic_parport.c: closing ppdev /dev/parport0 ==================================== Is this normal or a nasty bug? I appreciate any ideas... Archilles -----BEGIN PGP SIGNATURE----- iEYEAREKAAYFAlEVV1cACgkQpMNJIpvEvUv0AACeLMNhvkOF7fhMF/zzX1aOiFWV rrsAoKelL6OpytPerdFs2d9K7y0ZYKY9 =tLxh -----END PGP SIGNATURE----- |