Go Down

Topic: [struct] comment utilisé un array dans un struct (Read 288 times) previous topic - next topic

pierrot10

Apr 28, 2017, 03:14 pm Last Edit: Apr 29, 2017, 12:50 am by pierrot10
Bonjour,

J'essaye de gérer mes message d'erreur.

J'essaye donc de faire un truc du genre

Code: [Select]

#define CRITICAL 3 //3 led
#define WARNING 2 //2 led
#define INFO 1 //1 led

struct LED {
  char text[25];
  int level;
  int nBlink;
};

LED led_sim = {
  "LED lightUP: SIM!",
  CRITICAL,
  5,                    //nBlink (mode)
};


Code: [Select]

void flashLed(LED* type){
  Serial.println(type->text);
  Serial.println(type->nBlink);
  Serial.println(type->level);
}

flashLed(&led_sim);


Ce que j'aimerais maintenant, c'est de choisir le type de message d'erreur à afficher.
En fait le type de message d'erreur définira la vistesse du clignottement de la led.

Voici par exemple du type de message
Quote
Le code PIN est faux (vitesse: 250ms)
La carte SIM n'est pas été insérée (vitesse : 500ms)
Le code PUNK est nessécaire (vitesse : 750ms)
L'idée serait d'ajouter une deuxieme parametre à ma fonction, indiquant le message d'erreur:
Code: [Select]

void flashLed(LED* type, int speedBlink){
  Serial.println(type->text);
  Serial.println(type->nBlink);
  Serial.println(type->level);

  Serial.print(type->???); //type->speedBlink

/*
Ensuite ici je développerai mon code pour illumer 3 leds qzi clignotteront en fonction de type->nBlink, à la vitesse en fonction de speedBlink. (Le nombre de led a illuminé dependrau assui de type->level)
*/
}

flashLed(&led_sim, wrongcode);

et la je patoge...

Code: [Select]

struct LED {
  char text[25];
  int level;
  int nBlink;
  array speedBlink;
};

LED led_sim = {
  "LED lightUP: SIM!",
  CRITICAL,
  5,                    //nBlink (mode)
  {
     wrongcode=>250,
     nosimcard=>500,
     punkrequiered=>750
  }.
};


Je ne sais pas si vous voyez ce que j'essaye de faire?
Avez-vous des suggestions?

Milles mercis
Il ne suffit pas de tout savoir, la persévérance, c'est déjà presque tout!
You can not know everything, perseverance, it is almost everything!

Go Up