AYUDA CON XBEE Y LCD

Buenas. Tengo el siguinte inconveniente quiza me puedan colaborar. Estoy trasmitiendo via serial con la libreria NewSerial temperatura de varios sensores para ser visualizados en una pantalla lcd. Para identificar cada sensor uso lo que llam banderas es decir antes de imprimir en el serial uso un identificador como el simbolo ~ , % en fin un Serial.print((char)45) por dar un ejemplo, Mi porblema es que los datos son visualizados erroneamente o no son visualizados en la pantalla, he probado con lcd nokia 5110 y una lcd 16x2 y 20,4 y tienen el mismo inconveniente. ademas dependiendo de donde ponga el lcd.setCurso aparec o no datos. Posteo el codigo. Si alguien conoce un proyecto similar que me pueda dar luces lo agardeceria mucho.

#include <PCD8544.h>
#include <NewSoftSerial.h>

NewSoftSerial mySerial(11, 12);


// A custom "degrees" symbol...
static const byte DEGREES_CHAR = 1;
static const byte degrees_glyph[] = { 0x00, 0x07, 0x05, 0x07, 0x00 };

// A bitmap graphic (10x2) of a thermometer...
static const byte THERMO_WIDTH = 10;
static const byte THERMO_HEIGHT = 2;
static const byte thermometer[] = { 0x00, 0x00, 0x48, 0xfe, 0x01, 0xfe, 0x00, 0x02, 0x05, 0x02,
                                    0x00, 0x00, 0x62, 0xff, 0xfe, 0xff, 0x60, 0x00, 0x00, 0x00};

static PCD8544 lcd;


int incomingByte; // almacenar el dato serie

void setup() {
  
Serial.begin(9600);
  mySerial.begin(9600);
  lcd.begin(84,48);
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Monitor de");
  lcd.setCursor(0, 1);
  lcd.print("Sensores");
  lcd.setCursor(0, 2);
  lcd.print("Termicos");
  delay(3000);
  lcd.clear();
  
 
   // Draw the thermometer bitmap at the bottom left corner...
  lcd.setCursor(0, 20/8 - THERMO_HEIGHT);
  lcd.drawBitmap(thermometer, THERMO_WIDTH, THERMO_HEIGHT);

}
  void loop() 
  {
  if (mySerial.available()) {    // wait a bit for the entire message to arrive
       while (mySerial.available()) {
      delay(10);   
      
      incomingByte = mySerial.read();

       if ( mySerial.read()==44){
        lcd.setCursor(20,1);
        lcd.write(incomingByte); 
        Serial.print(incomingByte);
        }

       if ( mySerial.read()==45){
        lcd.setCursor(30,4);
        lcd.write(incomingByte);
        Serial.print(incomingByte);
        }
      }
    }
  }