fini

Dependencies:   F746_GUI mbed

Committer:
Pmpolo
Date:
Thu Jun 24 08:08:16 2021 +0000
Revision:
27:1478931d1205
Parent:
26:31abf8bdcddb
code avec commentaires

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Pmpolo 26:31abf8bdcddb 1
Pmpolo 26:31abf8bdcddb 2 #include "mbed.h"
Pmpolo 26:31abf8bdcddb 3 #include "F746_GUI.hpp"
Pmpolo 26:31abf8bdcddb 4 #include "CCLogo.h"
Pmpolo 26:31abf8bdcddb 5
Pmpolo 26:31abf8bdcddb 6 Serial Communication(PC_6, PC_7,115200); //Declaration serial
Pmpolo 26:31abf8bdcddb 7 Timer timerEnvoieTrame; // Timer pour l'envoie de trame
Pmpolo 26:31abf8bdcddb 8
Pmpolo 27:1478931d1205 9 int tailleBuffer=100; // timer pour l'envoie de trame
Pmpolo 26:31abf8bdcddb 10
Pmpolo 27:1478931d1205 11 // fonction pour affichage de l'image
Pmpolo 26:31abf8bdcddb 12 void drawImage_CCLogo(int offsetX, int offsetY)
Pmpolo 26:31abf8bdcddb 13 {
Pmpolo 26:31abf8bdcddb 14 int x = 0;
Pmpolo 26:31abf8bdcddb 15 int y = 0;
Pmpolo 26:31abf8bdcddb 16 uint32_t* dataPtr = (uint32_t*)CCLogo.data;
Pmpolo 26:31abf8bdcddb 17 while(y < CCLogo.height) {
Pmpolo 26:31abf8bdcddb 18 while(x < CCLogo.width) {
Pmpolo 26:31abf8bdcddb 19 BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr);
Pmpolo 26:31abf8bdcddb 20 dataPtr++;
Pmpolo 26:31abf8bdcddb 21 x++;
Pmpolo 26:31abf8bdcddb 22 }
Pmpolo 26:31abf8bdcddb 23 x = 0;
Pmpolo 26:31abf8bdcddb 24 y++;
Pmpolo 26:31abf8bdcddb 25 }
Pmpolo 26:31abf8bdcddb 26 }
Pmpolo 26:31abf8bdcddb 27
Pmpolo 27:1478931d1205 28 //Recupère à quel emplacement il y a une valeur dans le buffer
Pmpolo 27:1478931d1205 29 int EmpDerVal(int *ptab){
Pmpolo 26:31abf8bdcddb 30 int Emplacement=-1;
Pmpolo 26:31abf8bdcddb 31
MikamiUitOpen 0:629ff18592b9 32
Pmpolo 26:31abf8bdcddb 33 if(*ptab==-1) Emplacement=0;
Pmpolo 26:31abf8bdcddb 34 else{
Pmpolo 26:31abf8bdcddb 35 for(int i=2;i<=tailleBuffer*2;i=i+2){
Pmpolo 26:31abf8bdcddb 36 if(*(ptab+i)==-1){
Pmpolo 26:31abf8bdcddb 37 Emplacement=i/2;
Pmpolo 26:31abf8bdcddb 38 i=tailleBuffer*2+1;
Pmpolo 26:31abf8bdcddb 39 }
Pmpolo 26:31abf8bdcddb 40 }
Pmpolo 26:31abf8bdcddb 41 }
Pmpolo 26:31abf8bdcddb 42
Pmpolo 26:31abf8bdcddb 43 return Emplacement*2; // revoie l'emplacement *2 car tab 2 dimension
Pmpolo 26:31abf8bdcddb 44 }
Pmpolo 26:31abf8bdcddb 45
Pmpolo 27:1478931d1205 46 // Ajoute une valeur dans le buffer
Pmpolo 27:1478931d1205 47 void AppendTableau(int *ptab, int index, int data){
Pmpolo 26:31abf8bdcddb 48 int LastEmplacment=EmpDerVal((int*) ptab);
Pmpolo 26:31abf8bdcddb 49
Pmpolo 26:31abf8bdcddb 50 *(ptab+LastEmplacment)=index;
Pmpolo 26:31abf8bdcddb 51 *(ptab+LastEmplacment+1)=data;
Pmpolo 26:31abf8bdcddb 52 }
Pmpolo 26:31abf8bdcddb 53
Pmpolo 27:1478931d1205 54 // Envoie une valeur
Pmpolo 27:1478931d1205 55 void SendVal(int *ptab){
Pmpolo 26:31abf8bdcddb 56 int LastEmplacment=EmpDerVal((int*) ptab), index=-1, data=-1;
Pmpolo 26:31abf8bdcddb 57 if(LastEmplacment==0 || LastEmplacment==-1){
Pmpolo 26:31abf8bdcddb 58 //Buffer vide
Pmpolo 26:31abf8bdcddb 59 }
Pmpolo 26:31abf8bdcddb 60 else{ // buffer non vide
Pmpolo 26:31abf8bdcddb 61 index=*ptab; // l'ecture de l'index
Pmpolo 26:31abf8bdcddb 62 data=*(ptab+1); // l'ecture de la data
Pmpolo 26:31abf8bdcddb 63 Communication.putc(0xfb); //debut de la trame
Pmpolo 26:31abf8bdcddb 64 Communication.putc(index); // index
Pmpolo 26:31abf8bdcddb 65 Communication.putc(data); // data
Pmpolo 26:31abf8bdcddb 66 Communication.putc(0xfe); // fin de trame
Pmpolo 26:31abf8bdcddb 67 for(int i=0;i<LastEmplacment;i=i+2){ //actualisation du buffer
Pmpolo 26:31abf8bdcddb 68 *(ptab+i)=*(ptab+i+2);
Pmpolo 26:31abf8bdcddb 69 *(ptab+i+1)=*(ptab+i+3);
Pmpolo 26:31abf8bdcddb 70 }
Pmpolo 26:31abf8bdcddb 71 }
Pmpolo 26:31abf8bdcddb 72 }
MikamiUitOpen 0:629ff18592b9 73
Pmpolo 27:1478931d1205 74
MikamiUitOpen 0:629ff18592b9 75 int main()
MikamiUitOpen 0:629ff18592b9 76 {
Pmpolo 27:1478931d1205 77 // Variables d'état qui récupère le nombre du bouton appuyé pour switch cases
Pmpolo 27:1478931d1205 78 int NumBoutonGroupMode=0, NumBoutonGroupeLeds=0;
Pmpolo 27:1478931d1205 79
Pmpolo 26:31abf8bdcddb 80 int TabBuffer[tailleBuffer][2];
Pmpolo 26:31abf8bdcddb 81 int NivoBatt = 75,Vitesse=0, VitesseMax=25;
Pmpolo 26:31abf8bdcddb 82
Pmpolo 26:31abf8bdcddb 83
Pmpolo 27:1478931d1205 84 //initialisation du buffer
Pmpolo 27:1478931d1205 85 for(int i=0; i<tailleBuffer-1; i++) {
Pmpolo 26:31abf8bdcddb 86 TabBuffer[i][0]=-1;
Pmpolo 26:31abf8bdcddb 87 TabBuffer[i][1]=-1;
Pmpolo 26:31abf8bdcddb 88 }
Pmpolo 27:1478931d1205 89
Pmpolo 27:1478931d1205 90 //////////////////////// Déclaration des groupes de boutons et mise en forme ////////////////////////
Pmpolo 26:31abf8bdcddb 91 Label Titre(240, 2, "Interface Trottinette", Label::CENTER, Font20); // titre
MikamiUitOpen 0:629ff18592b9 92
Pmpolo 26:31abf8bdcddb 93 SeekBar barVitesse(20, 230, 200, 0, 100, 0, "0", "Vitesse km/h","");
Pmpolo 26:31abf8bdcddb 94 NumericLabel<float> numLabeVitesse(90, 250, "%5.1f", barVitesse.GetValue(),Label::CENTER,Font12,0xFFFFFFFF, 0xFF000000);
Pmpolo 26:31abf8bdcddb 95 NumericLabel<int> ValMaxVitesse(220, 200, "%d", VitesseMax,Label::CENTER,Font12,0xFFFFFFFF, 0xFF000000);
Pmpolo 26:31abf8bdcddb 96
Pmpolo 26:31abf8bdcddb 97 SeekBar barBatterie(260, 230, 200, 0, 100, 75, "0", "Niveau Batterie %", "100");
Pmpolo 26:31abf8bdcddb 98 NumericLabel<float> numLabelBatterie(340, 250, "%5.1f", barBatterie.GetValue(),Label::CENTER,Font12,0xFFFFFFFF, 0xFF000000);
MikamiUitOpen 0:629ff18592b9 99
Pmpolo 26:31abf8bdcddb 100 ButtonGroup boutonGroupeMode(300, 80, 66, 35, 4,(string[]) {
Pmpolo 26:31abf8bdcddb 101 "Sport", "Normal", "ECO", "Pieton"
Pmpolo 26:31abf8bdcddb 102 }, 2, 2, 2, 1,
Pmpolo 26:31abf8bdcddb 103 Font12, LCD_COLOR_WHITE, 0xFFFEAAAA, 0xFFFF0000, 0xFFFF0000);
Pmpolo 26:31abf8bdcddb 104 boutonGroupeMode.Inactivate(0);
Pmpolo 26:31abf8bdcddb 105 Label TitreMode(370, 60, "Mode", Label::CENTER, Font16);
MikamiUitOpen 0:629ff18592b9 106
Pmpolo 26:31abf8bdcddb 107 ButtonGroup boutonsGroupeLed(80, 80, 66, 35, 2,(string[]) {
Pmpolo 26:31abf8bdcddb 108 "ON", "OFF"
Pmpolo 26:31abf8bdcddb 109 }, 2, 2, 1, 1,
Pmpolo 26:31abf8bdcddb 110 Font12, LCD_COLOR_BLACK, 0xFFFE0000, 0xFFFFFF00, 0xFFFFFF00);
Pmpolo 26:31abf8bdcddb 111 boutonsGroupeLed.Inactivate(0);
Pmpolo 26:31abf8bdcddb 112 Label TitreLeds(120, 60, "Lumiere", Label::CENTER, Font16);
MikamiUitOpen 1:b4bcb6fa2a1d 113
Pmpolo 26:31abf8bdcddb 114 ButtonGroup boutonGroupeBatt(415, 5, 10, 5, 4,(string[]) {
Pmpolo 26:31abf8bdcddb 115 "", "", "", ""
Pmpolo 26:31abf8bdcddb 116 }, 2, 2, 4, 1,
Pmpolo 26:31abf8bdcddb 117 Font12);
Pmpolo 26:31abf8bdcddb 118 boutonGroupeBatt.InactivateAll();
Pmpolo 27:1478931d1205 119 //////////////////////////////////////////////////////////////////////////////////////////////////
Pmpolo 27:1478931d1205 120
Pmpolo 27:1478931d1205 121 drawImage_CCLogo(0,0); // Appel de la fonction pour afficher l'image
Pmpolo 26:31abf8bdcddb 122
Pmpolo 26:31abf8bdcddb 123 timerEnvoieTrame.start();
Pmpolo 26:31abf8bdcddb 124
Pmpolo 26:31abf8bdcddb 125 while(1) {
Pmpolo 26:31abf8bdcddb 126
Pmpolo 26:31abf8bdcddb 127 BSP_LCD_SetBackColor(LCD_COLOR_BLACK); // change le parametre de couleur du fond pour label
MikamiUitOpen 3:e92615be71c7 128
Pmpolo 26:31abf8bdcddb 129 if (barVitesse.Slide()) {
Pmpolo 26:31abf8bdcddb 130 numLabeVitesse.Draw("%5.1f", (barVitesse.GetValue()*VitesseMax)/100); //calcul val barslide a partir d'une bar sur 100
Pmpolo 26:31abf8bdcddb 131 Vitesse = (int) (barVitesse.GetValue()*VitesseMax)/100;
Pmpolo 26:31abf8bdcddb 132 AppendTableau(*TabBuffer,0x01,Vitesse);
Pmpolo 26:31abf8bdcddb 133 }
Pmpolo 26:31abf8bdcddb 134
Pmpolo 26:31abf8bdcddb 135 if (barBatterie.Slide()) {
Pmpolo 26:31abf8bdcddb 136 numLabelBatterie.Draw("%5.1f", barBatterie.GetValue());
Pmpolo 26:31abf8bdcddb 137 NivoBatt = (int) barBatterie.GetValue();
Pmpolo 26:31abf8bdcddb 138 AppendTableau(*TabBuffer,0x02,NivoBatt);
Pmpolo 26:31abf8bdcddb 139
Pmpolo 26:31abf8bdcddb 140 //Manipulation de la valeur du niveau de batterie
Pmpolo 27:1478931d1205 141 if (NivoBatt < 25 && NivoBatt > 0){ // si batterie < 25%
Pmpolo 27:1478931d1205 142 boutonGroupeBatt.Activate(0); // Affichage de la premiere barre
Pmpolo 26:31abf8bdcddb 143 boutonGroupeBatt.Inactivate(1);
Pmpolo 26:31abf8bdcddb 144 boutonGroupeBatt.Inactivate(2);
Pmpolo 26:31abf8bdcddb 145 boutonGroupeBatt.Inactivate(3);
Pmpolo 27:1478931d1205 146 boutonGroupeBatt.Draw(0, 0xFFFF0000, 0xFFFF0000); // Barre en couleur rouge
MikamiUitOpen 0:629ff18592b9 147
Pmpolo 26:31abf8bdcddb 148
Pmpolo 26:31abf8bdcddb 149 }
Pmpolo 27:1478931d1205 150 else if (NivoBatt < 50 && NivoBatt > 26){ // si env 50% batterie
Pmpolo 27:1478931d1205 151 boutonGroupeBatt.Activate(0); // activer les deux premières barres
Pmpolo 26:31abf8bdcddb 152 boutonGroupeBatt.Activate(1);
Pmpolo 26:31abf8bdcddb 153 boutonGroupeBatt.Inactivate(2);
Pmpolo 26:31abf8bdcddb 154 boutonGroupeBatt.Inactivate(3);
Pmpolo 27:1478931d1205 155 boutonGroupeBatt.Draw(0, 0xFFFFAA00, 0xFFFFAA00); // Barres en orange
Pmpolo 26:31abf8bdcddb 156 boutonGroupeBatt.Draw(1, 0xFFFFAA00, 0xFFFFAA00);
Pmpolo 26:31abf8bdcddb 157 }
Pmpolo 26:31abf8bdcddb 158
Pmpolo 27:1478931d1205 159 else if (NivoBatt < 75 && NivoBatt > 51){ // Si env 75% batterie
Pmpolo 27:1478931d1205 160 boutonGroupeBatt.Activate(0); // activer 3 barres
Pmpolo 26:31abf8bdcddb 161 boutonGroupeBatt.Activate(1);
Pmpolo 26:31abf8bdcddb 162 boutonGroupeBatt.Activate(2);
Pmpolo 26:31abf8bdcddb 163 boutonGroupeBatt.Inactivate(3);
Pmpolo 27:1478931d1205 164 boutonGroupeBatt.Draw(0, 0xFFFCFF00, 0xFFFCFF00); // Barres en jaune
Pmpolo 26:31abf8bdcddb 165 boutonGroupeBatt.Draw(1, 0xFFFCFF00, 0xFFFCFF00);
Pmpolo 26:31abf8bdcddb 166 boutonGroupeBatt.Draw(2, 0xFFFCFF00, 0xFFFCFF00);
MikamiUitOpen 21:61059fe1ec47 167
Pmpolo 26:31abf8bdcddb 168 }
Pmpolo 27:1478931d1205 169 else if (NivoBatt > 76){ // si +75%
Pmpolo 27:1478931d1205 170 boutonGroupeBatt.ActivateAll(); // Activer toutes les barres
Pmpolo 27:1478931d1205 171 boutonGroupeBatt.Draw(0, 0xFF47FF00, 0xFF47FF00); // Barres en vert
Pmpolo 26:31abf8bdcddb 172 boutonGroupeBatt.Draw(1, 0xFF47FF00, 0xFF47FF00);
Pmpolo 26:31abf8bdcddb 173 boutonGroupeBatt.Draw(2, 0xFF47FF00, 0xFF47FF00);
Pmpolo 26:31abf8bdcddb 174 boutonGroupeBatt.Draw(3, 0xFF47FF00, 0xFF47FF00);
MikamiUitOpen 21:61059fe1ec47 175
Pmpolo 26:31abf8bdcddb 176 }
Pmpolo 27:1478931d1205 177 else if (NivoBatt < 0){ // Si plus de batterie
Pmpolo 27:1478931d1205 178 boutonGroupeBatt.InactivateAll(); // Ne pas afficher de barres
Pmpolo 26:31abf8bdcddb 179 }
Pmpolo 26:31abf8bdcddb 180 }
Pmpolo 26:31abf8bdcddb 181
Pmpolo 27:1478931d1205 182
Pmpolo 27:1478931d1205 183 NumBoutonGroupMode=boutonGroupeMode.GetTouchedNumber(); //lecture de la valeur du bouton appuyé
Pmpolo 27:1478931d1205 184
Pmpolo 27:1478931d1205 185 // Switch case en fonction du bouton appuyé pour selection du mode de la trottinette
Pmpolo 26:31abf8bdcddb 186 if (boutonGroupeMode.GetTouchedNumber(NumBoutonGroupMode))
Pmpolo 26:31abf8bdcddb 187 switch (NumBoutonGroupMode) {
Pmpolo 26:31abf8bdcddb 188 case 0: //mode Sport 25km/h Max
Pmpolo 27:1478931d1205 189 VitesseMax=25; // mise à jour de la vmax possible avec ce mode
Pmpolo 27:1478931d1205 190 boutonGroupeMode.Inactivate(0); // désactiver le bouton appuyé
Pmpolo 27:1478931d1205 191 boutonGroupeMode.Activate(1); // Activer les autres boutons
Pmpolo 26:31abf8bdcddb 192 boutonGroupeMode.Activate(2);
Pmpolo 26:31abf8bdcddb 193 boutonGroupeMode.Activate(3);
Pmpolo 27:1478931d1205 194 AppendTableau(*TabBuffer,0x03,0x01); // envoie de la trame liée à l'appuis de ce bouton
Pmpolo 26:31abf8bdcddb 195 BSP_LCD_SetBackColor(LCD_COLOR_BLACK);
Pmpolo 26:31abf8bdcddb 196
Pmpolo 27:1478931d1205 197 ValMaxVitesse.Draw("%d",VitesseMax); //recalcul de la vitesse à partir de l'emplacement curseur du slide
Pmpolo 26:31abf8bdcddb 198 numLabeVitesse.Draw("%5.1f", (barVitesse.GetValue()*VitesseMax)/100);
Pmpolo 26:31abf8bdcddb 199 Vitesse = (int) (barVitesse.GetValue()*VitesseMax)/100;
Pmpolo 26:31abf8bdcddb 200 //AppendTableau(*TabBuffer,0x01,Vitesse);
Pmpolo 26:31abf8bdcddb 201 break;
Pmpolo 27:1478931d1205 202
Pmpolo 26:31abf8bdcddb 203 case 1: //mode Normal 20km/h Max
Pmpolo 27:1478931d1205 204 VitesseMax=20; // mise à jour de la vmax possible avec ce mode
Pmpolo 27:1478931d1205 205 boutonGroupeMode.Inactivate(1); // désactiver le bouton appuyé
Pmpolo 27:1478931d1205 206 boutonGroupeMode.Activate(0); // Activer les autres boutons
Pmpolo 26:31abf8bdcddb 207 boutonGroupeMode.Activate(2);
Pmpolo 26:31abf8bdcddb 208 boutonGroupeMode.Activate(3);
Pmpolo 27:1478931d1205 209 AppendTableau(*TabBuffer,0x03,0x02); // envoie de la trame liée à l'appuis de ce bouton
Pmpolo 26:31abf8bdcddb 210 BSP_LCD_SetBackColor(LCD_COLOR_BLACK);
Pmpolo 26:31abf8bdcddb 211
Pmpolo 27:1478931d1205 212 ValMaxVitesse.Draw("%d",VitesseMax); //recalcul de la vitesse à partir de l'emplacement curseur du slide
Pmpolo 26:31abf8bdcddb 213 numLabeVitesse.Draw("%5.1f", (barVitesse.GetValue()*VitesseMax)/100);
Pmpolo 26:31abf8bdcddb 214 Vitesse = (int) (barVitesse.GetValue()*VitesseMax)/100;
Pmpolo 26:31abf8bdcddb 215 //AppendTableau(*TabBuffer,0x01,Vitesse);
Pmpolo 26:31abf8bdcddb 216 break;
MikamiUitOpen 0:629ff18592b9 217
Pmpolo 26:31abf8bdcddb 218 case 2: //mode Eco 15km/h Max
Pmpolo 27:1478931d1205 219 VitesseMax=15; // mise à jour de la vmax possible avec ce mode
Pmpolo 27:1478931d1205 220 boutonGroupeMode.Inactivate(2); // désactiver le bouton appuyé
Pmpolo 27:1478931d1205 221 boutonGroupeMode.Activate(0); // Activer les autres boutons
Pmpolo 26:31abf8bdcddb 222 boutonGroupeMode.Activate(1);
Pmpolo 26:31abf8bdcddb 223 boutonGroupeMode.Activate(3);
Pmpolo 27:1478931d1205 224 AppendTableau(*TabBuffer,0x03,0x03); // envoie de la trame liée à l'appuis de ce bouton
Pmpolo 26:31abf8bdcddb 225 BSP_LCD_SetBackColor(LCD_COLOR_BLACK);
Pmpolo 26:31abf8bdcddb 226
Pmpolo 27:1478931d1205 227 ValMaxVitesse.Draw("%d",VitesseMax); //recalcul de la vitesse à partir de l'emplacement curseur du slide
Pmpolo 26:31abf8bdcddb 228 numLabeVitesse.Draw("%5.1f", (barVitesse.GetValue()*VitesseMax)/100);
Pmpolo 26:31abf8bdcddb 229 Vitesse = (int) (barVitesse.GetValue()*VitesseMax)/100;
Pmpolo 26:31abf8bdcddb 230 //AppendTableau(*TabBuffer,0x01,Vitesse);
Pmpolo 26:31abf8bdcddb 231 break;
MikamiUitOpen 0:629ff18592b9 232
Pmpolo 26:31abf8bdcddb 233 case 3: //mode Pieton 6km/h Max
Pmpolo 27:1478931d1205 234 VitesseMax=6; // mise à jour de la vmax possible avec ce mode
Pmpolo 27:1478931d1205 235 boutonGroupeMode.Inactivate(3); // désactiver le bouton appuyé
Pmpolo 27:1478931d1205 236 boutonGroupeMode.Activate(0); // Activer les autres boutons
Pmpolo 26:31abf8bdcddb 237 boutonGroupeMode.Activate(1);
Pmpolo 26:31abf8bdcddb 238 boutonGroupeMode.Activate(2);
Pmpolo 27:1478931d1205 239 AppendTableau(*TabBuffer,0x03,0x04); // envoie de la trame liée à l'appuis de ce bouton
Pmpolo 26:31abf8bdcddb 240 BSP_LCD_SetBackColor(LCD_COLOR_BLACK);
Pmpolo 26:31abf8bdcddb 241
Pmpolo 27:1478931d1205 242 ValMaxVitesse.Draw("%d",VitesseMax); //recalcul de la vitesse à partir de l'emplacement curseur du slide
Pmpolo 26:31abf8bdcddb 243 numLabeVitesse.Draw("%5.1f", (barVitesse.GetValue()*VitesseMax)/100);
Pmpolo 26:31abf8bdcddb 244 Vitesse = (int) (barVitesse.GetValue()*VitesseMax)/100;
Pmpolo 26:31abf8bdcddb 245 //AppendTableau(*TabBuffer,0x01,Vitesse);
MikamiUitOpen 1:b4bcb6fa2a1d 246 break;
Pmpolo 26:31abf8bdcddb 247
Pmpolo 26:31abf8bdcddb 248 }
Pmpolo 26:31abf8bdcddb 249
Pmpolo 27:1478931d1205 250 NumBoutonGroupeLeds=boutonsGroupeLed.GetTouchedNumber(); //lecture de la valeur du bouton appuyé
Pmpolo 27:1478931d1205 251
Pmpolo 27:1478931d1205 252 // Switch case en fonction du bouton appuyé pour activation ou non Led trott
Pmpolo 26:31abf8bdcddb 253 if (boutonsGroupeLed.GetTouchedNumber(NumBoutonGroupeLeds))
Pmpolo 26:31abf8bdcddb 254 switch (NumBoutonGroupeLeds) {
Pmpolo 26:31abf8bdcddb 255 case 0: //Led ON
Pmpolo 27:1478931d1205 256 boutonsGroupeLed.Inactivate(0); // désactiver le bouton appuyé
Pmpolo 27:1478931d1205 257 boutonsGroupeLed.Activate(1); // Activer les autres boutons
Pmpolo 27:1478931d1205 258 AppendTableau(*TabBuffer,0x04,0x01); // envoie de la trame liée à l'appuis de ce bouton
MikamiUitOpen 1:b4bcb6fa2a1d 259 break;
Pmpolo 26:31abf8bdcddb 260
Pmpolo 26:31abf8bdcddb 261 case 1: //Led OFF
Pmpolo 27:1478931d1205 262 boutonsGroupeLed.Inactivate(1); // désactiver le bouton appuyé
Pmpolo 27:1478931d1205 263 boutonsGroupeLed.Activate(0); // Activer les autres boutons
Pmpolo 27:1478931d1205 264 AppendTableau(*TabBuffer,0x04,0x0F); // envoie de la trame liée à l'appuis de ce bouton
MikamiUitOpen 1:b4bcb6fa2a1d 265 break;
Pmpolo 26:31abf8bdcddb 266 }
Pmpolo 26:31abf8bdcddb 267
Pmpolo 26:31abf8bdcddb 268
Pmpolo 26:31abf8bdcddb 269 if(timerEnvoieTrame.read()>0.01){ //Si timer envoie trame
Pmpolo 26:31abf8bdcddb 270 SendVal(*TabBuffer); //envoie du buffer pour check si il y a valeur a envoier
Pmpolo 26:31abf8bdcddb 271 timerEnvoieTrame.reset(); // reset du timer
MikamiUitOpen 0:629ff18592b9 272 }
MikamiUitOpen 0:629ff18592b9 273
MikamiUitOpen 0:629ff18592b9 274 }
MikamiUitOpen 0:629ff18592b9 275 }
MikamiUitOpen 21:61059fe1ec47 276