Variable 'Was not declared in this scope'

Tengo un problema cuando ingreso este código:

#include <AltSoftSerial.h>
  AltSoftSerial altSerial;
  long xxxx[0];
  char simplePool[] = {2, 0, 1, 254, 255};  //Este es el mensaje ccTalk [Dirección de destino] [Nº de datos] [Dirección de origen] [Cabecera] [Checksum]
                                           
  char count = 0 ;
  
  
void setup() {
        Serial.begin(9600);
        Serial.println("AltSoftSerial Test Begin");
        altSerial.begin(9600);
        altSerial.println("Hello World");
        }

void loop() {
  
      for(unsigned char i = 1;i<17;i++){
        cctsend(request_coin_id,0,1,i);   cctsend(request_coin_id,2,1,i);
        while (RX_state < RXcomplete) {ccTalkReceive();}
        if (RX_state!=RXcomplete){
          Serial.println(RX_msg[RX_state]); //Show the error if any
          while(1); //stop
        }
      printASCIIdata();
      }


    //Get coin ID, filter garbage convert and store in
    for (unsigned char i = 1; i < 17; i++) {
      somedelay.startt(2); //for some unknown reason a little delay is needed between polls
      do {            
      } while (!somedelay.isready());
      cctsend(request_coin_id, 2, 1, i);
      while (RX_state < RXcomplete) {
        ccTalkReceive();
      }
      if (RX_state != RXcomplete) {
        Serial.print(RX_msg[RX_state]); //Show the error if any 
        Serial.print(" at coin channel ");
        Serial.println(i);
        break;
      }
      if ((RX_buffer[4]==32)&&(RX_buffer[4]==32)&&(RX_buffer[4]==32)&&(RX_buffer[4]==32)&&(RX_buffer[4]==32)&&(RX_buffer[4]==32)) continue;
      if ((RX_buffer[9]==46)&&(RX_buffer[9]==46)&&(RX_buffer[9]==46)&&(RX_buffer[9]==46)&&(RX_buffer[9]==46)&&(RX_buffer[9]==46)) continue;
      if ((65 > RX_buffer[4]) || (RX_buffer[4] > 90) || (65 > RX_buffer[5]) || (RX_buffer[5] > 90) || (65 > RX_buffer[9]) || (RX_buffer[9] > 90)) break;
      if ((48 > RX_buffer[6]) || (RX_buffer[6] > 57) || (65 > RX_buffer[7]) || (RX_buffer[7] > 90) || (65 > RX_buffer[8]) || (RX_buffer[8] > 90)) break;
      printASCIIdata(); //Print ASCII coin ID
      coin_value[i - 1] = (RX_buffer[6] - 48) * 100 + (RX_buffer[7] - 48) * 10 + RX_buffer[8] - 48;  
    }
    Serial.println("Coin values OK");
    Serial.println("Setting individual inhibits");
    cctsend(modify_inhibit_status, 2, 2, 255, 255); //just enable all channels  
    while (RX_state < RXcomplete) {
      ccTalkReceive();
    }
    if (RX_state != RXcomplete) {
      Serial.println(RX_msg[RX_state]); //Show the error if any
      Serial.println("No answer to modify_inhibit_status");
    }
    if (RX_buffer[3] == 0) Serial.println("OK");
    else {
      Serial.println("Error setting inhibits");
    }
    Serial.println("Setting master inhibit");
    cctsend(modify_master_inhibit_status, 2, 1, 1)
    while (RX_state < RXcomplete) {
      ccTalkReceive();
    }
    if (RX_state != RXcomplete) {
      Serial.println(RX_msg[RX_state]); //Show the error if any
      Serial.println("No answer to modify_master_inhibit_status");
    }
    if (RX_buffer[3] == 0) Serial.println("OK");
    else {
      Serial.println("Error setting master inhibit");
      //while(1);
    }

}

Me da el mismo error continuamente: ‘Was not declared in this scope’. Este error se repite:

  • RX_state
  • RXcomplete
  • RX_msg
  • RX_buffer
  • coin_value
  • modify_inhibit_status
  • modify_master_inhibit_status
  • ccTalkReceive
  • somedelay
  • printASCIIdata

Me imagino que será que falta declarar esto en alguna parte previa del código, pero no tengo mucha experiencia y no sé muy bien cómo hacerlo.

lo que te esta avisando es que no declaraste la variables ejemplo int RX_state;

Si, pero lo pongo y me sale un error que dice:

exit status 1
expected initializer before ‘int’

no te falta ningun ;

Esto pasa si se usa copiar y pegar sin haber entendido el código y/o si faltan conocimientos básicos.