Does anyone have experience with multithreading and using the SerialLCD driver?
I am using the FEZ Panda II with a Serial LCD.
I have 4 threads running, three of them to monitor sensors and control motors, and one of them is to use the SerialLCD for displaying messages. I have found that if I’m in the middle of a method in SerialLCD and another thread is given control, the serial LCD timing is screwed up and I get funny characters printed out on the display. A SerialLCD.ClearScreen() doesn’t do any good as it seems like the LCD goes out to lunch, and I need to reboot the LCD hardware to get rid of the problem.
I do not have this problem if I freeze all other threads from running.
I assume that I will need to block all other threads from processing simply to run the Print method on the SerialLCD driver, or any other timing critical methods for that matter. The display certainly is a low priority task in my system.
Any thoughts on the best way to handle this?