[SOLUCIONADO] Proyecto RaspDuino

Tu problema esta en como crees que ocurren las cosas en Arduino.
Tu envias el SlaveId y luego crees que se queda esperando a tu proximo envió desde Raspi.
Las cosas ocurren rápidamente y cuando intenta leer algo justamente devuelve ese -1 porque no hay nada.

Lo que debes hacer es enviar todo de una vez, un comando que incluya todo lo que pretendes enviarle
Supongamos
1234 donde 1 es SlaveId y 234 es el numero a enviar.

De lo contrario lo que tienes que hacer es una espera de datos delimitada por el caracter != '\n'

Si tu ejemplo en el primero caso espera todo menos '\n' entonces detectas el primer envio y tendrás SlaveId
Si luego repites y haces lo mismo pero sin irte o sea con un while(datoSerial !='\n') y no solo if() porque en segundo caso se procesa 1 dato recibido y en el primero me quedo hasta recibir el line feed.