PWM Arduino mode serveur

Bonjour,
j’ai suivi le tuto d’Eskimon sur l’arduino en mode serveur. Après de nombreuse modification je me retrouve avec un problème que je ne comprends pas.
J’ai donc un bouton ON ou OFF sur mon panneau de controle et un curseur (ranger) variant de 0 à 100.
Je souhaite récuperé la valeur de mon bouton et du range à l’aide d’une fonction GET comme ceci : GET /?b=&p=41 (B = OFF et Ranger = 41)
Or quand b n’a pas de valeur et que p est inférieur à 100 tout fonctionne. Pas exemple, voici mon moniteur :

new client
GET /?b=&p=1004
GET /?b=&p=41  valeur PWM41
GET /?b=&p=41  valeur PWM41
Answer
GET /?b=&p=41 
client disconnected

Par contre si B prend une valeur j’ai ceci :

new client
GET /?b=&p=41 4
GET /?b=7&p=41 valeur PWM41
GET /?b=7&p=41 valeur PWM411
GET /?b=7&p=41 valeur PWM1556
GET /?b=7&p=41 valeur PWM206
GET /?b=7&p=41 valeur PWM2066
GET /?b=7&p=41 valeur PWM186
GET /?b=7&p=41 valeur PWM1866
GET /?b=7&p=41 valeur PWM746
GET /?b=7&p=41 valeur PWM234Error pwm
GET /?b=7&p=41
Answer
GET /?b=7&p=41
client disconnected

(après chaque 41 il y a un carré normalement …) et j’ai le même soucie lorsque range > 100.
Donc ce souci intervient lorsque mon GET est supérieux à 13 caractères on dirait. Or je ne voit pas pourquoi…
Voici ma fonction qui récupère les informations:

boolean interpret(int *etats) {
  // New to find this URL : GET /?b=5&p=244 HTTP/1.1 for exemple
  // state in LOW (0)
  *etats = 0;
  pwm = 0;
  index = 0; //  (Begin with 4 for delete "GET ")
  while(url[index-1] != 'b' && url[index] != '=') { // search "b="
    index++; // next character
    if(index == 100) {
      Serial.println("b= doesn't exist'");
      return false;
    }
  }
  while(url[index] != '&') { // Search '&'
    if(url[index] == '7') { // If LED 7 is ON
      char broche = url[index]-'0'; // decimal format
      *etats = 1; // HIGH state
      //Serial.println(*etats,DEC);
    }
    index++; // next character
    if(index == 100) {
      Serial.println("Any PIN read");
      return false;
    }
  }
  while(url[index-1] != 'p' && url[index] != '=' && index<100) {   // search "p="
    index++; // next character
    if(index == 100) {
      Serial.println("Errer to find 'p='");
      return false;
    }
  }
  while(url[index] != ' ') { // search final ' '
    if(url[index] >= '0' && url[index] <= '9') {
      char val = url[index]-'0'; // Decimal format
      Serial.println(val,DEC);
      pwm = (pwm*10) + val;
      Serial.print(" valeur PWM");
      Serial.print(pwm,DEC);
      
    }
    index++; // next character
    if(index == 100) {
      Serial.println("Error pwm");
      return false;
    }
  }

  return true;
}

Auriez vous une idée a ce problème? :frowning:

merci beaucoup !

Problème résolu, cela venait des mes Serial.print de débug. Mais dans ces cas la je ne comprends pas comment fonctionnement mon débugueur…

Pourquoi mes Serial.print de débug etait compté dans mon url ? (ok sur le moniteur les variables etaient collé, mais je ne vois pas pk elles fonctionnaient ensemble…)