From: Laurent H. <lau...@fr...> - 2014-04-07 14:23:10
|
Hi all I'm currently trying to use lcd4linux on a WR703N router with OpenWRT, with a 20x4 HD44780 LCD equipped with an I2C interface. Unfortunately, after several hours of struggle, I finally found that the I2C integrated (soldered) interface - model YwRobot LCM1602 - is finally not compatible with the plain HD44780-I2C driver :-( I got the same behavior as the TRAC ticket #295 described. These LCD + interfaces are sold by many vendors (mostly Chinese etc.) and under several brands. Actually, the 4 bits of data are assigned to the 4 HIGHER bits of the "abstracted Port", and RS, RW, and EN are assigned to the LOWER bits :-( Here is the corresponding table between the PCF8574 output pins and the LCD PCF 8574 LCD Pin Function Pin Function 4 P0 4 RS 5 P1 5 RW 6 P2 6 EN 7 P3 NC (backlight ?) 9 P4 11 D4 10 P5 12 D5 11 P6 13 D6 12 P7 14 D7 From what I read on the HD44780 wiki page, in 4 bits mode, the data bits are ALWAYS assigned to DB0-DB3, and it seems there is no way to assign them to DB4-DB7 (which in turn are always assigned to control signals). Can you help ? Thanks ! |
From: Michael R. <mi...@re...> - 2014-04-10 16:40:49
|
Hello Laurent, Although I never owned nor used a HD44780-i2c-display, I had a quick look at the sources: i2c should support "Soft-Wiring", this menas you shouldbe able to specify the signals in lcd4linux.conf But I don't know the syntax :-) just try some of the examples from the normal wiring, usind onnly DB0..DB7 try to strat lcd4linux with -fvv, ond look in the output for occurences like info("%s: wiring: [DISPLAY:%s]<==>[i2c:DB%d]", Driver, name, w); the soft-wiring code is in drv_generic_i2c.c, function unsigned char drv_generic_i2c_wire(const char *name, const char *deflt) good luck! :-) Am 2014-04-07 16:22, schrieb Laurent HAAS: > Hi all > > I'm currently trying to use lcd4linux on a WR703N router with OpenWRT, > with a 20x4 HD44780 LCD equipped with an I2C interface. > > Unfortunately, after several hours of struggle, I finally found that the > I2C integrated (soldered) interface - model YwRobot LCM1602 - is > finally not compatible with the plain HD44780-I2C driver :-( I got the > same behavior as the TRAC ticket #295 described. > > These LCD + interfaces are sold by many vendors (mostly Chinese etc.) > and under several brands. > > Actually, the 4 bits of data are assigned to the 4 HIGHER bits of the > "abstracted Port", and RS, RW, and EN are assigned to the LOWER bits :-( > > Here is the corresponding table between the PCF8574 output pins and the LCD > > PCF 8574 LCD > Pin Function Pin Function > 4 P0 4 RS > 5 P1 5 RW > 6 P2 6 EN > 7 P3 NC (backlight ?) > 9 P4 11 D4 > 10 P5 12 D5 > 11 P6 13 D6 > 12 P7 14 D7 > > From what I read on the HD44780 wiki page, in 4 bits mode, the data > bits are ALWAYS assigned to DB0-DB3, and it seems there is no way to > assign them to DB4-DB7 (which in turn are always assigned to control > signals). > > Can you help ? > > Thanks ! > > ------------------------------------------------------------------------------ > Put Bad Developers to Shame > Dominate Development with Jenkins Continuous Integration > Continuously Automate Build, Test & Deployment > Start a new project now. Try Jenkins in the cloud. > http://p.sf.net/sfu/13600_Cloudbees_APR > _______________________________________________ > Lcd4linux-users mailing list > Lcd...@li... > https://lists.sourceforge.net/lists/listinfo/lcd4linux-users > > -- Michael Reinelt <mi...@re...> http://home.pages.at/reinelt GPG-Key 0xDF13BA50 ICQ #288386781 |
From: Benjamin F. <bfu...@go...> - 2014-04-12 17:09:13
|
Hello Laurent, did you have any success? Am 10.04.2014 18:40, schrieb Michael Reinelt: > Hello Laurent, > > Although I never owned nor used a HD44780-i2c-display, I had a quick look at the sources: i2c should support > "Soft-Wiring", this menas you shouldbe able to specify the signals in lcd4linux.conf > > But I don't know the syntax :-) just try some of the examples from the normal wiring, usind onnly DB0..DB7 > > try to strat lcd4linux with -fvv, ond look in the output for occurences like > > info("%s: wiring: [DISPLAY:%s]<==>[i2c:DB%d]", Driver, name, w); > > the soft-wiring code is in drv_generic_i2c.c, function > unsigned char drv_generic_i2c_wire(const char *name, const char *deflt) > > > good luck! :-) > > > Am 2014-04-07 16:22, schrieb Laurent HAAS: >> Hi all >> >> I'm currently trying to use lcd4linux on a WR703N router with OpenWRT, >> with a 20x4 HD44780 LCD equipped with an I2C interface. >> >> Unfortunately, after several hours of struggle, I finally found that the >> I2C integrated (soldered) interface - model YwRobot LCM1602 - is >> finally not compatible with the plain HD44780-I2C driver :-( I got the >> same behavior as the TRAC ticket #295 described. >> >> These LCD + interfaces are sold by many vendors (mostly Chinese etc.) >> and under several brands. >> >> Actually, the 4 bits of data are assigned to the 4 HIGHER bits of the >> "abstracted Port", and RS, RW, and EN are assigned to the LOWER bits :-( >> >> Here is the corresponding table between the PCF8574 output pins and the LCD >> >> PCF 8574 LCD >> Pin Function Pin Function >> 4 P0 4 RS >> 5 P1 5 RW >> 6 P2 6 EN >> 7 P3 NC (backlight ?) >> 9 P4 11 D4 >> 10 P5 12 D5 >> 11 P6 13 D6 >> 12 P7 14 D7 >> >> From what I read on the HD44780 wiki page, in 4 bits mode, the data >> bits are ALWAYS assigned to DB0-DB3, and it seems there is no way to >> assign them to DB4-DB7 (which in turn are always assigned to control >> signals). >> >> Can you help ? >> >> Thanks ! >> >> ------------------------------------------------------------------------------ >> Put Bad Developers to Shame >> Dominate Development with Jenkins Continuous Integration >> Continuously Automate Build, Test & Deployment >> Start a new project now. Try Jenkins in the cloud. >> http://p.sf.net/sfu/13600_Cloudbees_APR >> _______________________________________________ >> Lcd4linux-users mailing list >> Lcd...@li... >> https://lists.sourceforge.net/lists/listinfo/lcd4linux-users >> >> > |