ERROR: " this function was not decleared in this scope"

Buongiorno a tutti, sto scrivendo un main per un mdb slave. Anche avendo minimizzato il main, impostando dei valori fissi e non dipendenti dalla rete, mi esce quest'errore che non riesco a capire da cosa dipenda. Qualcuno può aiutarmi? é molto urgente. Vi ringrazio in anticipo.

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni e a leggere il regolamento se non lo hai già fatto: Regolamento Qui una serie di link utili, non inerenti al tuo problema: - qui una serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections - qui le pinout delle varie schede by xxxPighi: Pinout - qui una serie di link [u]generali[/u] utili: Link Utili

Non avendo la libreria NON possiamo compilare. L'errore dice molto di più. Anche quale riga. Posta gli errori in maniera completa (e usa tag code). Grazie

P.S.: Nell'IDE usa CTRL+T che lo indenta meglio e ... leva quelle numerose righe vuote, non è un temino che più lungo è meglio è.

ERRORE: Se usi CTRL+T vedrai che hai chiuso male le graffe. Tutte le tue funzioni sono dentro la loop()

#include <SoftwareSerial.h>

#include "MDB.h"


void setup() {
  // For debug LEDs
  DDRC |= 0b00111111; // PORTC LEDs for 6 commands in MDB_CommandHandler() switch-case

  MDB_Init();
  sei();
  Serial.begin(9600);

  uint16_t user_funds = 3;
  String http_code = "200";
  // String objects and indexes for parsing HTTP Response


  uint16_t item_cost = CSH_GetItemCost();
  uint16_t item_numb = CSH_GetVendAmount();

}

void loop() {



  MDB_CommandHandler();
  sessionHandler();
  // without this delay READER_ENABLE command won't be in RX Buffer
  // Establish the reason of this later (maybe something is wrong with RX buffer reading)
  if (CSH_GetDeviceState() == CSH_S_DISABLED)
    delay(10);

  void sessionHandler(void) {

    switch (CSH_GetDeviceState())
    {
      case CSH_S_ENABLED : RFID_readerHandler(); break;
      case CSH_S_VEND    : transactionHandler(); break;
      default : break;
    }

  };

  void RFID_readerHandler(void) {

    CSH_SetUserFunds(user_funds); // Set current user funds
    CSH_SetPollState(CSH_BEGIN_SESSION); // Set Poll Reply to BEGIN SESSION

  };

  void transactionHandler(void) {




    if (http_code != F("200"))
    {
      CSH_SetPollState(CSH_VEND_DENIED);
      CSH_SetDeviceState(CSH_S_SESSION_IDLE);
      Serial.println(F("Vend Denied"));
      return;
    } else {
      // If code is 200 -- tell VMC that vend is approved
      CSH_SetPollState(CSH_VEND_APPROVED);
      CSH_SetDeviceState(CSH_S_SESSION_IDLE);
      Serial.println(F("Vend Approved"));
    }
  }



}

Mi scusi se non mi sono presentato ma purtroppo ho molta fretta oggi. Lo farò appena avrò un momento libero.

Gli errori: "bozza.ino: In function ‘void loop()’:
bozza:31: error: ‘sessionHandler’ was not declared in this scope
bozza:37: error: a function-definition is not allowed here before ‘{’ token
bozza:76: error: expected ‘}’ at end of input
‘sessionHandler’ was not declared in this scope
"
PS: sto provando a modificare i post ma mi da dei limiti di tempo, scusi

Cosi dovrebbero essere a posto le graffe, e ti suggerisco di portarle sempre a capo:

#include "MDB.h"

void setup() 
{
  // For debug LEDs
  DDRC |= 0b00111111; // PORTC LEDs for 6 commands in MDB_CommandHandler() switch-case
  MDB_Init();
  sei();   
  Serial.begin(9600);
  uint16_t user_funds = 3;
  String http_code = "200";
  // String objects and indexes for parsing HTTP Response
  uint16_t item_cost = CSH_GetItemCost();
  uint16_t item_numb = CSH_GetVendAmount();
}

void loop() 
{
  MDB_CommandHandler();
  sessionHandler();
  // without this delay READER_ENABLE command won't be in RX Buffer
  // Establish the reason of this later (maybe something is wrong with RX buffer reading)
  if (CSH_GetDeviceState() == CSH_S_DISABLED)
    delay(10);
}

void sessionHandler(void)
{
  switch(CSH_GetDeviceState())
  {
  case CSH_S_ENABLED : 
    RFID_readerHandler(); 
    break;
  case CSH_S_VEND    : 
    transactionHandler(); 
    break;
  default : 
    break;
  }
}

void RFID_readerHandler(void)
{     
  CSH_SetUserFunds(user_funds); // Set current user funds
  CSH_SetPollState(CSH_BEGIN_SESSION); // Set Poll Reply to BEGIN SESSION
}

void transactionHandler(void)
{ 
  if (http_code != F("200"))
  {
    CSH_SetPollState(CSH_VEND_DENIED);
    CSH_SetDeviceState(CSH_S_SESSION_IDLE);
    Serial.println(F("Vend Denied"));
    return;
  }
  else
  {
    // If code is 200 -- tell VMC that vend is approved
    CSH_SetPollState(CSH_VEND_APPROVED);
    CSH_SetDeviceState(CSH_S_SESSION_IDLE);
    Serial.println(F("Vend Approved"));
  }
}

Okay, la ringrazio ho risolto tutto. Ora dovrebbe essere apposto, grazie ancora.

Di nulla. Per curiosità che fa la libreria MDB ?