Problème Uart soundboard adafruit

Bonjour!
Voila 3 heures que je galère à piloter une audio FX en serial. J'ai bien suivi l'installation donnée par adafruit (UG to Ground, TX to #5, RX to #6 and RST to #4))...Le programme n'arrive même pas à lancer la loop..

void setup() {
  
  Serial.begin(115200);
  Serial.println("Adafruit Sound Board!");
  
  // softwareserial at 9600 baud
  ss.begin(9600);
  // can also do Serial1.begin(9600)

  if (!sfx.reset()) {
    Serial.println("Not found");
    while (1);
  }
  Serial.println("SFX board found");
}

et me dit un "Not found". Surement une incompréhension du six.reset.

Peut être que quelqu'un à une idée?
Amicalement

Il doit manquer des choses en amont, genre déclaration des bibliothèques et des constantes, non ? Tu peux donner le lien du site Adafruit où tu as trouvé le code ?
Tu as bien installé la bibliothèque Adafruit_Soundboard_library ?

Le code est l'exemple fourni avec la bibliothèque. Voici le lien adafruit : Serial Audio Control | Adafruit Audio FX Sound Board | Adafruit Learning System

Dans le code se trouvent les lignes :

  if (!sfx.reset()) {
    Serial.println("Not found");
    while (1);
}

C'est donc la commande sfx.reset() qui provoque l'erreur.

Dans le fichier Adafruit_Soundboard.cpp on trouve le code de la fonction reset :

// Do a hard reset by bringing the RST pin low
// then read out the output lines
boolean Adafruit_Soundboard::reset(void) {
  digitalWrite(reset_pin, LOW);
  pinMode(reset_pin, OUTPUT);
  delay(10);
  pinMode(reset_pin, INPUT);
  delay(1000); // give a bit of time to 'boot up'
  
  // eat new line
  readLine();
#ifdef DEBUG
  Serial.println(line_buffer);   // Date and name
#endif

  readLine();
  // "Adafruit FX Sound Board 9/10/14"
#ifdef DEBUG
  Serial.println(line_buffer);   // Date and name
#endif
  if (! strstr(line_buffer, "Adafruit FX Sound Board")) return false;

  delay(250);

  readLine();
  //Serial.print("3>"); Serial.println(line_buffer);   // FAT type
  readLine();
  //Serial.print("4>"); Serial.println(line_buffer);   // # of files
  
  return true;
}

La ligne en cause est la suivante :

if (! strstr(line_buffer, "Adafruit FX Sound Board")) return false;

La variable DEBUG permet d'afficher plus de choses, il faut mettre avant le setup un truc comme:
#define DEBUG trueAvec ça il va afficher sur la console la valeur de line_buffer

#ifdef DEBUG
  Serial.println(line_buffer);   // Date and name
#endif

Si cette valeur ne vaut pas "Adafruit FX Sound Board", il y a un problème.
Tu peux déjà tester ça...

line_buffer est renseigné par la fonction readLine :

int Adafruit_Soundboard::readLine(void) {
  int x = stream->readBytesUntil('\n', line_buffer, LINE_BUFFER_SIZE);
  line_buffer[x] = 0;

  if (stream->peek() == '\r') stream->read();
  //stream->readBytesUntil('\r', line_buffer, LINE_BUFFER_SIZE);
  return x;
}

Mais là, ça dépasse mes compétences pour savoir ce qui ne va pas...

Merci beaucoup, je regarde tout ça!