![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
fini
main.cpp@27:1478931d1205, 2021-06-24 (annotated)
- 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?
User | Revision | Line number | New 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 |