Page 1 of 2 12 LastLast
Results 1 to 15 of 20

Thread: Connecting a LCD to the WL500g

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Jun 2004
    Location
    Portugal
    Posts
    5

    Connecting a LCD to the WL500g

    Hi

    Here's an image of my work in progress

    This is a HD44780 LCD connected to the parallel port of the ASUS WL-500g.
    I'm powering it from the USB port.
    I'm using OpenWRT as the firmware and lcdproc as the software to drive the LCD.
    lcdproc was patched to use ppdev (/dev/parports/0) with the HD44780 driver instead of using inb/outb x86 instructions to communicate with the parallel port.
    I also made a parallel port driver for the asus so that the binary 2.4.5 modules from the asus firmware aren't needed anymore.
    I'll release the source code of the parallel port driver and the patch to lcdproc soon
    Attached Images Attached Images  
    Last edited by Antiloop; 12-07-2004 at 00:22. Reason: attached image to post

  2. #2
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    Wow. Good work. The most important tihng for everyone is the parport_splink code.
    Have you checked it with LPT printer?

  3. #3
    Join Date
    Jun 2004
    Location
    Portugal
    Posts
    5
    No Oleg, the printer I have near by is USB.
    Writes do the data and control lines should be working. Reads from status lines, I hope so
    I've uploaded the source code to http://pwp.netcabo.pt/0246517002/parport_splink.c if you want to take a look.

    Don't include the parport_pc on the kernel or as a module, because if CONFIG_PARPORT_PC or CONFIG_PARPORT_PC_MODULE are defined lp.o and ppdev.o will use inline functions from parport_pc and you'll get kernel Oops (check include/linux/parport.h). I lost lots of time debugging this

    Do you know if it would be possible to use an IRQ or modes other than PARPORT_MODE_PCSPP? I looked at the Asus binary module and they seem to try to free irq 2 on module cleanup... That irq is being used by the USB controller on my Asus.

  4. #4
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    Quote Originally Posted by gryle
    No Oleg, the printer I have near by is USB.
    Writes do the data and control lines should be working. Reads from status lines, I hope so
    I've uploaded the source code to http://pwp.netcabo.pt/0246517002/parport_splink.c if you want to take a look.

    Don't include the parport_pc on the kernel or as a module, because if CONFIG_PARPORT_PC or CONFIG_PARPORT_PC_MODULE are defined lp.o and ppdev.o will use inline functions from parport_pc and you'll get kernel Oops (check include/linux/parport.h). I lost lots of time debugging this

    Do you know if it would be possible to use an IRQ or modes other than PARPORT_MODE_PCSPP? I looked at the Asus binary module and they seem to try to free irq 2 on module cleanup... That irq is being used by the USB controller on my Asus.
    Yes, the IRQ pin is physically connected to one of the GPIO pins, which can be enabled to generate IRQs. I've not checked for details yet. And yes, they're sharing IRQs. It also, possible to use other modes, including EPP, ECP, whatever. It's selected by accessing it at 0xbf800410 (so, in standard way +0x400).
    Let me know if you need other info.

  5. #5
    hello!
    i'm very interested in this, because i had the same idea.
    i will test all the shit if you provide everything.
    i have a gfx-lcd, but it's no problem, because i have found lcdproc-patches for it.
    i will code an alternative to lcdproc, because it is not very effective for glcds.

    ps: i still need a good buildroot with a g++, i'm too stupid to compile my own :-( .

  6. #6

    LCDproc HD44780 ppdev driver

    Gryle,

    I would love to take a look at your LCDproc HD44780 ppdev driver mods. I have been trying to figure this out for a while.

    Any chance you could post the code somewhere or maybe email me with it? (admin at purecom.com)

    Thanks!

  7. #7

    Problems with makefile

    Hello,

    does someone have a simple makefile for this parport_splink.c file ?
    I cant get the it working..
    Something must be missing...
    Error during compilation:

    In file included from /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/linux/sched.h:15,
    from /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/linux/mm.h:4,
    from /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/linux/pagemap.h:10,
    from /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/asm/io.h:15,
    from /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/linux/parport_pc.h:4,
    from parport_splink.c:14:
    /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/linux/timex.h:171: field `time' has incomplete type
    In file included from /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/linux/sched.h:18,
    from /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/linux/mm.h:4,
    from /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/linux/pagemap.h:10,
    from /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/asm/io.h:15,
    from /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/linux/parport_pc.h:4,
    from parport_splink.c:14:
    /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/asm/semaphore.h:31: parse error before "wait_queue_head_t"
    /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/asm/semaphore.h: In function `sema_init':
    /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/asm/semaphore.h:65: dereferencing pointer to incomplete type
    /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/asm/semaphore.h:66: dereferencing pointer to incomplete type
    /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/asm/semaphore.h:67: dereferencing pointer to incomplete type
    /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/asm/semaphore.h: In function `down':
    /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/asm/semaphore.h:93: dereferencing pointer to incomplete type
    /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/asm/semaphore.h: In function `down_interruptible':
    /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/asm/semaphore.h:104: dereferencing pointer to incomplete type
    /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/asm/semaphore.h: In function `down_trylock':
    /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/asm/semaphore.h:114: dereferencing pointer to incomplete type
    /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/asm/semaphore.h: In function `up':
    /opt/brcm/hndtools-mipsel-uclibc-0.9.19/include/asm/semaphore.h:185: dereferencing pointer to incomplete type

    and so on.....

    Thanks in advance.

    Gabriel
    Last edited by Randale91; 20-10-2004 at 18:37.

  8. #8
    look here on how to control the parallel port of that thing. The only problem is that it isn't working with oleg's firmware (not sure which one) because you can't remove the lp.o module without crashing the router. However, on OpenWrt works quite good.
    Maybe a patch from oleg?

    Anyway, here is the link:
    http://www.sephail.net/projects/openwrt/

  9. #9

    Lcd

    Maybe I cheated
    I used a atmega8 micro to handle the LCD and 4x4 keypad. It talks either serial (uart to uart so no rs232 tranciever) or I2C using 2 of the gpio lines (on boards with uart. A few bugs left with the I2C... There is a very low part count (one ceramic resonator with built in caps, 2 resistors to drop the 5v down to 3.3, the avr, backlight current limiting resistor, pot for contrast, and a 5v regulator)

    If anyone has a like project (maybe with a cheaper pic) PM me.

  10. #10
    what was your openwrt version? could u provide some king of guide to do the install?

  11. #11

    graphical (KS0108-based) LCD module

    Before I purchase, is there any reason why a KS0108-based LCD module, i.e. http://www.geocities.com/dinceraydin/lcd/gfxintro.htm, e.g. as implemented at http://www.compsys1.com/workbench/On...ontroller.html, would not be hardware compatible with the WL-500g parallel port?

    The only weirdnesses associated with the Asus || port (i.e. anyone more experienced than me at hardware hacking please say yes/no ;-) might be:
    - Bidirectionality for controller readiness signals;
    - There are dedicated pins to select one of the two controllers (CS1, CS2; one for each side of the LCD) - I have seen wirings to the line and init pins on a standard PC parallel port, which I guess are then manually controlled;
    ...and I'm happy to have to write my own driver - which will be interesting.

    Advice on preferable controllers, e.g. shouting at me to get a Toshiba T6963C based device (which afaics is smarter and already supported but more expensive), is welcome.

  12. #12
    Join Date
    Aug 2004
    Location
    Germany
    Posts
    377
    Hi

    Acording to the Datasheet of the used lpt port controller inside the asus the IO lines are bidirektional, and i think the asus lp driver makes use of this. But most lcd wireing use status lines for ingoing signals so this should be no problem if not. You can use LCDprog to controll various displays, but the ks0108 is not supported i think. You habe to look for some alternative then or try to get some compatible grafic lcd from ebay (like T6963C ).
    As you may have read, the asus lp driver is a bit complicated so i dont know if lcdproc will work, you can try this as i will do some time in the future.

    Greets

    Quote Originally Posted by Veri
    Before I purchase, is there any reason why a KS0108-based LCD module, i.e. http://www.geocities.com/dinceraydin/lcd/gfxintro.htm, e.g. as implemented at http://www.compsys1.com/workbench/On...ontroller.html, would not be hardware compatible with the WL-500g parallel port?

    The only weirdnesses associated with the Asus || port (i.e. anyone more experienced than me at hardware hacking please say yes/no ;-) might be:
    - Bidirectionality for controller readiness signals;
    - There are dedicated pins to select one of the two controllers (CS1, CS2; one for each side of the LCD) - I have seen wirings to the line and init pins on a standard PC parallel port, which I guess are then manually controlled;
    ...and I'm happy to have to write my own driver - which will be interesting.

    Advice on preferable controllers, e.g. shouting at me to get a Toshiba T6963C based device (which afaics is smarter and already supported but more expensive), is welcome.
    Last edited by WlanMan; 07-08-2005 at 19:56.
    My Stuff: WL-500g, Mapower H31x 10GB HD, Philips Webcam Vesta PRO, TerraTec Webcam PRO, USB Hub

  13. #13
    Join Date
    Feb 2005
    Location
    Germany - Frankfurt a.M.
    Posts
    299

    external display

    Hi,

    does anybody find the thread in which there was described how to add an external LCD???

    I can't find it.
    WL-500gP => 1.9.2.7-7g (2007-04-06)
    Running: thttpd, php 5.1, vsftp, rrdtool

    http://onlinefussballmanager.de/userbar/0/53647.png

  14. #14
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356

  15. #15
    Join Date
    Jun 2004
    Location
    Delft, The Netherlands
    Posts
    62

    Old Palm as external display

    I connected an old Palm IIIx (approx $25 on 2nd hand shop) through a serial port to the wl500gx, either using a usb to serial connector or the second internal serial port. Advantage is that you can allow input from the display through the hardware buttons on the Palm. Potentially, I have nice graphical capabilities (160x160), I can download email headers, rss feeds and so on to the Palm. Still need to develop some code for the Palm. A rudimentary PocketC program works fine for receiving and transmitting from and to the Asus. On asus a script can do all the work where using pipes to and from the serial ports takes care of the communication. Speeds up to 115200 bit/s are achievable.
    Currently I have not much time, but when I have something working, I will post it here.

Page 1 of 2 12 LastLast

Similar Threads

  1. Replies: 1
    Last Post: 19-09-2005, 13:36
  2. Connecting 3 WL500g in one network?
    By Maxven in forum WL-500g Q&A
    Replies: 3
    Last Post: 26-06-2005, 14:56
  3. Connecting WL500g to wireless ADSL router?
    By maurits in forum WL-500g Q&A
    Replies: 3
    Last Post: 28-03-2005, 22:03
  4. Connecting WL500g to Draytek2500We
    By Meuchi in forum WL-500g Q&A
    Replies: 8
    Last Post: 22-10-2004, 21:52

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •