I have several different threads for a weather station I am building. There is a thread to update the display, and a thread for every sensor.
The two threads that I am having a problem are:
- A thread that uses GHIElectronics.NETMF.Hardware.OutputCompare to do SerialLCD (driver code found on this website)
- A thread reading a DS18B20 thermomter using GHIElectronics.NETMF.Hardware.OneWire.
The problem is that the OneWire thread is interfering with the LCD display thread by producing random jibberish characters on the screen. I have verified this by freezing the thermometer thread in the debugger while all other threads run. I currently have 2 other threads, one monitoring a BMP085 barometric pressure sensor (through I2C) and the other monitoring a HIH-4030 humidity sensor (through AnalogIn), and these do not interfere with the display thread.
Before I go too far into this, does anyone have experience with multiple threads on FEZ and the limitations? Or could this be a case of a software implementation of UART being interrupted by the other thread (temp thread) causing the problem? Although that wouldn’t make sense because I have 2 sensor threads (barometer and humidity) running that don’t mess with the display thread.
BTW: I am so happy with FEZ because I am a C#/.NET developer and it is so easy to build embedded software now with Visual Studio!!! ;D