I'm stumped. Attached code has one line at line #189
XBee.SendCommand(6,XBee.IODIGITAL,XBee.IOREAD,3);
Anytime this line exists in the compilation the LCD prints garbage. Comment the line out and the LCD works fine. Funny thing is I can't see that its ever even called anywhere.
In HandRemote.ino file GetItem()
case REMOTEPIN:
// Read Value from remote station
XBee.SendCommand(6,XBee.IODIGITAL,XBee.IOREAD,3); //WTF! This causes LCD to Stop working
Menu[i].ValueValid = false;
break;
Setup is this LCD connected to Arduino UNO:
DFRobot Wiki LCD Arduino_LCD_KeyPad_Shield__SKU__DFR0009_-DFRobot
Schematic http://image.dfrobot.com/image/data/DFR0009/LCDKeypad%20Shield%20V1.0%20SCH.pdf
( UPDATE ) Looks like the Serial Stream activates on first call - I had Serial Pins 8,9 which conflicted with the LCD. Seems to be working on non-used pin #s.
HandRemote.ino (14.9 KB)
PeerIOSerialControl.cpp (10.2 KB)
PeerIOSerialControl.h (1.92 KB)