(didn't fit in the last post-- just the serialLCD functions)
// LCD functions
void serLcdStartup() { delay(100); clearLCD(); delay(100); displayOff(); delay(100); displayOn(); delay(100); clearLCD(); delay(100);}
void scmd(){ Serial.print(0xFE, BYTE); } // command code
void displayOn(){ scmd(); Serial.print(0x0C, BYTE); }
void displayOff(){ scmd(); Serial.print(0x08, BYTE); }
void clearLCD(){ scmd(); Serial.print(0x01, BYTE); }
// Cursor positioning
void gotoLineOne(){ gotoLineOnePos(0); }
void gotoLineOnePos(int pos){ scmd(); Serial.print(128+pos, BYTE); }
void gotoLineOnePosClear(int pos, int digits){ gotoLineOnePos(pos);
while ( digits > 0) { Serial.print(" "); digits--; } gotoLineOnePos(pos); }
void gotoLineTwo(){ gotoLineTwoPos(0); }
void gotoLineTwoPos(int pos){ gotoLineOnePos(pos+64); }
void gotoLineTwoPosClear(int pos, int digits){ gotoLineOnePosClear(pos+64, digits); }
void cursorRight(){ scmd(); Serial.print(0x14, BYTE); }
void cursorLeft(){ scmd(); Serial.print(0x10, BYTE); }
void cursorRightX(int x){ int c; for (c=1; c<=x; c++){ cursorRight(); } }
void cursorLeftX(int x){ int c; for (c=1; c<=x; c++){ cursorLeft(); } }
// Scroll text
void scrollRight(){ scmd(); Serial.print(0x1C, BYTE); }
void scrollLeft(){ scmd(); Serial.print(0x18, BYTE); }
// Cursor display
void ulCursorOn(){ scmd(); Serial.print(0x0E, BYTE); }
void ulCursorOff(){ displayOn(); }
void bbCursorOn(){ scmd(); Serial.print(0x0D, BYTE); }
void bbCursorOff(){ displayOn(); }
// Backlight
void blcmd(){ Serial.print(0x7C, BYTE); }
void backlightLevel(int level) { // set the backlight to the level 0-
if (level > 29) { level = 29; }
blcmd(); Serial.print(128+level, BYTE); }
void backlightOn(){ backlightLevel(30); }
void backlightOff(){ backlightLevel(0); }
// Splash screen
void toggleSplash() { blcmd; Serial.print(0x09, BYTE); }
void setSplash() { blcmd; Serial.print(0x0A, BYTE); }
// Serial rate changing: MAKE SURE TO RESTART WITH THE RIGHT BAUD RATE!!!
void set2400baud(){ blcmd(); delay(100); Serial.print(0x0B, BYTE); }
void set4800baud(){ blcmd(); delay(100); Serial.print(0x0C, BYTE); }
void set9600baud(){ blcmd(); delay(100); Serial.print(0x0D, BYTE); }
void set14400baud(){ blcmd(); delay(100); Serial.print(0x0E, BYTE); }
void set19200baud(){ blcmd(); delay(100); Serial.print(0x0F, BYTE); }
void set38400baud(){ blcmd(); delay(100); Serial.print(0x10, BYTE); }