Interpretar Bluetooth.read();

Hola compañeros!

Soy bastante principiante en este mundo y ahora os daréis cuenta xD

Llevo unos días probando un modulo HC-05 ZS-040, por el momento he conseguido acceder al modo AT soldando un cable en el pin 34, como comentan en cientos de manuales, también conecte cables desde el pin 25 hasta el 33.

El resultado de conectar a estos pines me da el beneficio de disponer de:

1.- un led (pio 2) que me indica si hay usuarios conectados por bluetooth 2.- un led (pio 3) que me indica si esta el pin 34 en HIGH 3.- un led (pio 8) de estado (parpadea al mismo tiempo que los led de la placa hc-05)

Ademas, dispongo de 5 pines digitales externos al arduino, que serian los pio 4, 5, 6, 7 y 10. Por ejemplo, una vez que el modulo esta en modo normal, pongo en HIGH el pin 34 del modulo y envió el comando AT+PIO=X1,X2 (donde X1 es el numero PIO y X2 enciende o apaga con 1 o 0) y vuelvo a poner el pin34 del modulo en LOW.

NOTA:Esta información sobre los PIO no aparece en ningún manual de los que he leído, por lo que creo que sera de interés para los que se están iniciando con este tipo de módulos.

Pues, ahora mi intención es poder mandar los comando desde el terminal del movil, pero no se como interpretar lo que recibo en el monitor serial del pc.

Lo que me se ocurrió, fue modificar el código para crear un String con el que pueda trabajar, pero si envió ese String al serial del pc, solo recibo números.

// dentro del loop
if (Bluetooth.available()){ readLine(Bluetooth.read());  } // Envia de bluetooth a serial

// funcion para crear el Sctring
void readLine(int inChar){
  if(inChar == '\n'){ Serial.println(string); string=""; }
  else {string+=inChar;}  
}

Agradecería que alguien mas experimentado me ilumine sobre este tema, aunque deduzco que no debe ser complicado, tan solo que aun no se como hacerlo.

Gracias de antemano!

el error es muy simple Lees el puerto serie BT usando

readLine(Bluetooth.read());

pero luego defines esto

void readLine(int inChar){

y debe ser

void readLine(char inChar){

mil gracias surbyte...

hay que ver que poca vista puedo llegar a tener!

se nota que aun no tengo muy claro como definir las variables, ni siquiera se que significan los uint32_t por ej

esta notación es muy utilizada y solo indica esto mira que fácil uint32_t unsigned long o 32 bits sin signo el t es porque es una definición de tipo de variable o typedef

asi uint8_t es unsigned char o 8 bits sin signo y uint16_t es unsigned int o 16 bits sin signo