Actually, the LCD does re-initialise as expected, however, the backlight does not. Any ideas?
Thanks, any response would be appreciated.
EDIT - I'm using a 20x4 USB LCD from Sure Electronics
If I manually go into LCDS and turn off the backlight (though in reality it is off already), then back on, it comes back on.
Strange, my home-brew LCD using Matrix Orbital driver works fine with backlight on/off entering sleep or hibernate and resuming, although it's connected via serial port.
I haven't heard of any problems with other MO displays, so it could possibly be a quirk of the Sure Electronics implementation of the MO protocol... dunno.
LCD Smartie sends MO commands to turn on the backlight and set the brightness when the PC resumes from standby or restarts, so that shouldn't be a problem.
I have a Sure LCD (but I run it with my own firmware) and I noticed the same problem.
The cause is a RS232 buffer overflow in the PIC microcontrollers: modern PCs send simply too many characters and the slow microcontroller is not able to process them in time.
There is no workaround for this problem.
I've done a simple fix adding some delays in my own -unofficial- version of LCDsmartie.
Yeah, Smartie sends quite a few initialization commands on startup and wakeup. My Matrix-Orbital compatible LCD uses my own design based on a PIC16F628 and has no trouble with Smartie's flood of commands. It has a 32byte RX buffer and runs at 19200 baud so maybe that's slow enough to avoid problems.
My Sure LCD display runs on a PIC16F722 @ 20 MHz and the serial port has 32 bytes RX buffer like your one.
I feel I have to check for some bug .
May be the problem is on PC side, my system is based an Intel Core Duo @ 3.2 GHz, running Win 7 x64, and may be it's quite fast in filling the UART buffers.
On my system, the crash occurs when LCDsmartie sends the shutdown message, and adding a few millisecond delay between lines solves the problem.
Well, my little PIC backpack runs at a whopping 4Mhz. I've never had any trouble, but I have never tried it faster than 19200baud. That is plenty fast enough for most LCD info and even Winamp spectrum analyser looks OK, but I don't use that anyway. Maybe the LCD takes too long to process one or more of the commands, like "clear screen" takes a while.
I've had the same problem on a Sure 4x16 usb lcd. I use the matrix.dll display driver. The backlight doesn't switch on after a sleep/hibernate.
After spending a couple of weeks trying various things and failing miserably I wrote a replacement for the matrix driver and it works fine now. I used the initialisation strings provided for a matrix display for the test driver. Happy to share this if anyone has the same problem.
dperrow wrote:I've had the same problem on a Sure 4x16 usb lcd. I use the matrix.dll display driver. The backlight doesn't switch on after a sleep/hibernate.
After spending a couple of weeks trying various things and failing miserably I wrote a replacement for the matrix driver and it works fine now. I used the initialisation strings provided for a matrix display for the test driver. Happy to share this if anyone has the same problem.
Its good thing to have mods and updates ... can you provide the driver?
Can't seem to upload to this discussion group so I'll post it in plugin announcements. Some limitations though:
- Only ever used/tested on my media PC
- Scrolling doesn't look great on my display
- Limited error checking
- Use at your own risk
- Virtually no documentation
Feedback welcomed and if I get pressured I may fix some of the above.