Chrono
Dependencies: mbed SDFileSystem
main.cpp@5:e565265fdf23, 2020-04-07 (annotated)
- Committer:
- pathae
- Date:
- Tue Apr 07 12:24:23 2020 +0000
- Revision:
- 5:e565265fdf23
Tir
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
pathae | 5:e565265fdf23 | 1 | #include "mbed.h" |
pathae | 5:e565265fdf23 | 2 | #include "mbed_genie.h" |
pathae | 5:e565265fdf23 | 3 | #include "SDFileSystem.h" |
pathae | 5:e565265fdf23 | 4 | #include "eeprom_flash.h" |
pathae | 5:e565265fdf23 | 5 | SDFileSystem sd(D11, D12, D13, D10, "sd"); // the pinout on the mbed Cool Components workshop board |
pathae | 5:e565265fdf23 | 6 | AnalogIn TensionBatterie(A1); |
pathae | 5:e565265fdf23 | 7 | DigitalOut DELVERTE (PB_2); |
pathae | 5:e565265fdf23 | 8 | DigitalOut DELORANGE (PB_1); |
pathae | 5:e565265fdf23 | 9 | DigitalOut DELROUGE (PB_15,1); |
pathae | 5:e565265fdf23 | 10 | InterruptIn BOUTONPAUSE(USER_BUTTON); |
pathae | 5:e565265fdf23 | 11 | //Prototype des routines d'interruption |
pathae | 5:e565265fdf23 | 12 | void compt_secondes(); |
pathae | 5:e565265fdf23 | 13 | void valeur_volt(); |
pathae | 5:e565265fdf23 | 14 | int temps_global_secondes, temps_global_minutes, temps_global_heures, numero_tir1 = 1, numero_tir2 = 0, numero_tir_depart = 1, pause = 0,bloqueur, kchrono = 0,locker =0; |
pathae | 5:e565265fdf23 | 15 | int i = 15, j_tir = 0; |
pathae | 5:e565265fdf23 | 16 | int adresse = 0x00; |
pathae | 5:e565265fdf23 | 17 | char donnee1 = 11; |
pathae | 5:e565265fdf23 | 18 | char donnee2 = 22; |
pathae | 5:e565265fdf23 | 19 | char donnee3 = 33; |
pathae | 5:e565265fdf23 | 20 | float valeur_tension, valeur_analogique; // Permet d'avoir des mesures precises pour la tension |
pathae | 5:e565265fdf23 | 21 | char cMonText[1024]; |
pathae | 5:e565265fdf23 | 22 | char cMonText2[1024]; |
pathae | 5:e565265fdf23 | 23 | char chiffre1[6]; |
pathae | 5:e565265fdf23 | 24 | char chrono[40]; |
pathae | 5:e565265fdf23 | 25 | char i1=0; |
pathae | 5:e565265fdf23 | 26 | char j=0; |
pathae | 5:e565265fdf23 | 27 | char k=0; |
pathae | 5:e565265fdf23 | 28 | int val1; |
pathae | 5:e565265fdf23 | 29 | char chiffre2[6]; |
pathae | 5:e565265fdf23 | 30 | char type_tir[40]; |
pathae | 5:e565265fdf23 | 31 | char i2=0; |
pathae | 5:e565265fdf23 | 32 | char j2=0; |
pathae | 5:e565265fdf23 | 33 | char k2=0; |
pathae | 5:e565265fdf23 | 34 | int val2; |
pathae | 5:e565265fdf23 | 35 | //Déclaration des interruptions Ticker |
pathae | 5:e565265fdf23 | 36 | Ticker Horloge_Global_Seconde; |
pathae | 5:e565265fdf23 | 37 | Ticker Valeur_Tension_Volt; |
pathae | 5:e565265fdf23 | 38 | /************************************************************************************************* |
pathae | 5:e565265fdf23 | 39 | Interruption générée automatiquement toutes les secondes pour décrémenter le compteur ** |
pathae | 5:e565265fdf23 | 40 | *************************************************************************************************/ |
pathae | 5:e565265fdf23 | 41 | //Must call this first to enable writing |
pathae | 5:e565265fdf23 | 42 | void enableEEPROMWriting() { |
pathae | 5:e565265fdf23 | 43 | HAL_StatusTypeDef status = HAL_FLASH_Unlock(); |
pathae | 5:e565265fdf23 | 44 | FLASH_PageErase(EEPROM_START_ADDRESS); // required to re-write |
pathae | 5:e565265fdf23 | 45 | CLEAR_BIT(FLASH->CR, FLASH_CR_PER); // Bug fix: bit PER has been set in Flash_PageErase(), must clear it here |
pathae | 5:e565265fdf23 | 46 | } |
pathae | 5:e565265fdf23 | 47 | void disableEEPROMWriting() { |
pathae | 5:e565265fdf23 | 48 | HAL_FLASH_Lock(); |
pathae | 5:e565265fdf23 | 49 | } |
pathae | 5:e565265fdf23 | 50 | //Writing function |
pathae | 5:e565265fdf23 | 51 | //Must call enableEEPROMWriting() first |
pathae | 5:e565265fdf23 | 52 | HAL_StatusTypeDef writeEEPROMHalfWord(uint32_t address, uint16_t data) { |
pathae | 5:e565265fdf23 | 53 | HAL_StatusTypeDef status; |
pathae | 5:e565265fdf23 | 54 | address = address + EEPROM_START_ADDRESS; |
pathae | 5:e565265fdf23 | 55 | status = HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, address, data); |
pathae | 5:e565265fdf23 | 56 | return status; |
pathae | 5:e565265fdf23 | 57 | } |
pathae | 5:e565265fdf23 | 58 | //Reading functions |
pathae | 5:e565265fdf23 | 59 | uint16_t readEEPROMHalfWord(uint32_t address) { |
pathae | 5:e565265fdf23 | 60 | uint16_t val = 0; |
pathae | 5:e565265fdf23 | 61 | address = address + EEPROM_START_ADDRESS; |
pathae | 5:e565265fdf23 | 62 | val = *(__IO uint16_t*)address; |
pathae | 5:e565265fdf23 | 63 | return val; |
pathae | 5:e565265fdf23 | 64 | } |
pathae | 5:e565265fdf23 | 65 | |
pathae | 5:e565265fdf23 | 66 | void vidReadText(char * cTxt) |
pathae | 5:e565265fdf23 | 67 | { |
pathae | 5:e565265fdf23 | 68 | unsigned char caractereActuel; // Début lecture SD |
pathae | 5:e565265fdf23 | 69 | int iIndex=0; |
pathae | 5:e565265fdf23 | 70 | FILE *fp = fopen("/sd/Temps.txt", "r"); |
pathae | 5:e565265fdf23 | 71 | if(fp == NULL) |
pathae | 5:e565265fdf23 | 72 | { |
pathae | 5:e565265fdf23 | 73 | error("Could not open file \n"); |
pathae | 5:e565265fdf23 | 74 | } |
pathae | 5:e565265fdf23 | 75 | else |
pathae | 5:e565265fdf23 | 76 | { |
pathae | 5:e565265fdf23 | 77 | // Boucle de lecture des caractères un à un |
pathae | 5:e565265fdf23 | 78 | strcpy(cTxt,""); |
pathae | 5:e565265fdf23 | 79 | printf("\n\r"); |
pathae | 5:e565265fdf23 | 80 | do{ |
pathae | 5:e565265fdf23 | 81 | caractereActuel = fgetc(fp); // On lit le caractère |
pathae | 5:e565265fdf23 | 82 | if(caractereActuel != 255) sprintf(cTxt,"%s%c",cTxt, caractereActuel); // On l'affiche |
pathae | 5:e565265fdf23 | 83 | iIndex++; |
pathae | 5:e565265fdf23 | 84 | } while (caractereActuel != 255); |
pathae | 5:e565265fdf23 | 85 | fclose(fp); |
pathae | 5:e565265fdf23 | 86 | } // Fin lecture SD |
pathae | 5:e565265fdf23 | 87 | } |
pathae | 5:e565265fdf23 | 88 | |
pathae | 5:e565265fdf23 | 89 | void vidReadText2(char * cTxt2) |
pathae | 5:e565265fdf23 | 90 | { |
pathae | 5:e565265fdf23 | 91 | unsigned char caractereActuel2; // Début lecture SD 2 |
pathae | 5:e565265fdf23 | 92 | int iIndex2=0; |
pathae | 5:e565265fdf23 | 93 | FILE *fp = fopen("/sd/Ordre.txt", "r"); |
pathae | 5:e565265fdf23 | 94 | if(fp == NULL) |
pathae | 5:e565265fdf23 | 95 | { |
pathae | 5:e565265fdf23 | 96 | error("Could not open file \n"); |
pathae | 5:e565265fdf23 | 97 | } |
pathae | 5:e565265fdf23 | 98 | else |
pathae | 5:e565265fdf23 | 99 | { |
pathae | 5:e565265fdf23 | 100 | // Boucle de lecture des caractères un à un |
pathae | 5:e565265fdf23 | 101 | strcpy(cTxt2,""); |
pathae | 5:e565265fdf23 | 102 | printf("\n\r"); |
pathae | 5:e565265fdf23 | 103 | do{ |
pathae | 5:e565265fdf23 | 104 | caractereActuel2 = fgetc(fp); // On lit le caractère |
pathae | 5:e565265fdf23 | 105 | if(caractereActuel2 != 255) sprintf(cTxt2,"%s%c",cTxt2, caractereActuel2); // On l'affiche |
pathae | 5:e565265fdf23 | 106 | iIndex2++; |
pathae | 5:e565265fdf23 | 107 | } while (caractereActuel2 != 255); |
pathae | 5:e565265fdf23 | 108 | fclose(fp); |
pathae | 5:e565265fdf23 | 109 | } // Fin lecture SD 2 |
pathae | 5:e565265fdf23 | 110 | } |
pathae | 5:e565265fdf23 | 111 | |
pathae | 5:e565265fdf23 | 112 | |
pathae | 5:e565265fdf23 | 113 | void compt_secondes() //-------------------------------- Compteur seconde ---------------------------------------- |
pathae | 5:e565265fdf23 | 114 | { |
pathae | 5:e565265fdf23 | 115 | if(bloqueur == 0) // Début bloqueur |
pathae | 5:e565265fdf23 | 116 | { |
pathae | 5:e565265fdf23 | 117 | chrono[kchrono]=chrono[kchrono]-1; |
pathae | 5:e565265fdf23 | 118 | genieWriteObject(GENIE_OBJ_LED_DIGITS, 0x00, chrono[kchrono]); //Ecrit sur Leddigits0 la valeur de chrono |
pathae | 5:e565265fdf23 | 119 | genieWriteObject(GENIE_OBJ_GAUGE , 0x00, chrono[kchrono]); |
pathae | 5:e565265fdf23 | 120 | temps_global_secondes = temps_global_secondes + 1; |
pathae | 5:e565265fdf23 | 121 | genieWriteObject(GENIE_OBJ_LED_DIGITS, 0x01, temps_global_secondes); |
pathae | 5:e565265fdf23 | 122 | if(temps_global_secondes == 60){ |
pathae | 5:e565265fdf23 | 123 | temps_global_secondes = 0; |
pathae | 5:e565265fdf23 | 124 | temps_global_minutes = temps_global_minutes + 1; |
pathae | 5:e565265fdf23 | 125 | genieWriteObject(GENIE_OBJ_LED_DIGITS, 0x02, temps_global_minutes); |
pathae | 5:e565265fdf23 | 126 | if(temps_global_minutes == 60) |
pathae | 5:e565265fdf23 | 127 | { |
pathae | 5:e565265fdf23 | 128 | temps_global_minutes = 0; |
pathae | 5:e565265fdf23 | 129 | temps_global_heures = temps_global_heures + 1; |
pathae | 5:e565265fdf23 | 130 | genieWriteObject(GENIE_OBJ_LED_DIGITS, 0x03, temps_global_heures); |
pathae | 5:e565265fdf23 | 131 | } |
pathae | 5:e565265fdf23 | 132 | } |
pathae | 5:e565265fdf23 | 133 | |
pathae | 5:e565265fdf23 | 134 | if (numero_tir_depart == 1){ // Début décompte |
pathae | 5:e565265fdf23 | 135 | genieWriteObject(GENIE_OBJ_LED_DIGITS, 0x04, numero_tir1); |
pathae | 5:e565265fdf23 | 136 | temps_global_secondes= 0; |
pathae | 5:e565265fdf23 | 137 | genieWriteObject(GENIE_OBJ_LED_DIGITS, 0x02, temps_global_secondes); |
pathae | 5:e565265fdf23 | 138 | temps_global_minutes = 0; |
pathae | 5:e565265fdf23 | 139 | genieWriteObject(GENIE_OBJ_LED_DIGITS, 0x02, temps_global_minutes); |
pathae | 5:e565265fdf23 | 140 | temps_global_heures = 0; |
pathae | 5:e565265fdf23 | 141 | genieWriteObject(GENIE_OBJ_LED_DIGITS, 0x02, temps_global_heures); |
pathae | 5:e565265fdf23 | 142 | numero_tir_depart++; |
pathae | 5:e565265fdf23 | 143 | genieWriteObject(GENIE_OBJ_USER_LED, 0x00, 0); |
pathae | 5:e565265fdf23 | 144 | } |
pathae | 5:e565265fdf23 | 145 | if(chrono[kchrono] == 0){ |
pathae | 5:e565265fdf23 | 146 | |
pathae | 5:e565265fdf23 | 147 | if (type_tir[j_tir+1] == 0) // Tir normale |
pathae | 5:e565265fdf23 | 148 | { |
pathae | 5:e565265fdf23 | 149 | numero_tir1++; |
pathae | 5:e565265fdf23 | 150 | genieWriteObject(GENIE_OBJ_LED_DIGITS, 0x04, numero_tir1); |
pathae | 5:e565265fdf23 | 151 | genieWriteObject(GENIE_OBJ_USER_LED, 0x00, 0); |
pathae | 5:e565265fdf23 | 152 | } |
pathae | 5:e565265fdf23 | 153 | |
pathae | 5:e565265fdf23 | 154 | if (type_tir[j_tir+1] == 1) // Tir distance |
pathae | 5:e565265fdf23 | 155 | { |
pathae | 5:e565265fdf23 | 156 | numero_tir2++; |
pathae | 5:e565265fdf23 | 157 | genieWriteObject(GENIE_OBJ_LED_DIGITS, 0x04, numero_tir2); |
pathae | 5:e565265fdf23 | 158 | genieWriteObject(GENIE_OBJ_USER_LED, 0x00, 1); |
pathae | 5:e565265fdf23 | 159 | } |
pathae | 5:e565265fdf23 | 160 | |
pathae | 5:e565265fdf23 | 161 | j_tir++; |
pathae | 5:e565265fdf23 | 162 | chrono[kchrono] = chrono[kchrono+1]; |
pathae | 5:e565265fdf23 | 163 | kchrono++; |
pathae | 5:e565265fdf23 | 164 | } // Fin partie décompte seconde |
pathae | 5:e565265fdf23 | 165 | } // Fin bloqueur |
pathae | 5:e565265fdf23 | 166 | genieFrame Event; |
pathae | 5:e565265fdf23 | 167 | genieDequeueEvent(&Event); |
pathae | 5:e565265fdf23 | 168 | //event report from an object |
pathae | 5:e565265fdf23 | 169 | if(Event.reportObject.cmd == GENIE_REPORT_EVENT) { |
pathae | 5:e565265fdf23 | 170 | /* |
pathae | 5:e565265fdf23 | 171 | for example here we check if we received a message from 4dbuttons objects |
pathae | 5:e565265fdf23 | 172 | the index is the button number, refer to the 4dgenie project to know the index |
pathae | 5:e565265fdf23 | 173 | */ |
pathae | 5:e565265fdf23 | 174 | if (Event.reportObject.object == GENIE_OBJ_4DBUTTON) { // If the Reported Message was from a button |
pathae | 5:e565265fdf23 | 175 | if (Event.reportObject.index == 9) { // Début Enclenchement bouton 9 |
pathae | 5:e565265fdf23 | 176 | if (i<15) |
pathae | 5:e565265fdf23 | 177 | { |
pathae | 5:e565265fdf23 | 178 | i++; |
pathae | 5:e565265fdf23 | 179 | } |
pathae | 5:e565265fdf23 | 180 | genieWriteObject(GENIE_OBJ_LED_DIGITS, 0x05, i); |
pathae | 5:e565265fdf23 | 181 | genieWriteContrast(i); |
pathae | 5:e565265fdf23 | 182 | } // Fin Enclenchement bouton 9 |
pathae | 5:e565265fdf23 | 183 | if (Event.reportObject.index == 10) { // Début Enclenchement bouton 10 |
pathae | 5:e565265fdf23 | 184 | if (i>0) |
pathae | 5:e565265fdf23 | 185 | { |
pathae | 5:e565265fdf23 | 186 | i--; |
pathae | 5:e565265fdf23 | 187 | } |
pathae | 5:e565265fdf23 | 188 | genieWriteObject(GENIE_OBJ_LED_DIGITS, 0x05, i); |
pathae | 5:e565265fdf23 | 189 | genieWriteContrast(i); |
pathae | 5:e565265fdf23 | 190 | } // Fin Enclenchement bouton 10 |
pathae | 5:e565265fdf23 | 191 | if (Event.reportObject.index == 15) { // Début Enclenchement bouton 15 |
pathae | 5:e565265fdf23 | 192 | vidReadText(cMonText); |
pathae | 5:e565265fdf23 | 193 | vidReadText2(cMonText2); |
pathae | 5:e565265fdf23 | 194 | i1=0; |
pathae | 5:e565265fdf23 | 195 | k=0; |
pathae | 5:e565265fdf23 | 196 | i2=0; |
pathae | 5:e565265fdf23 | 197 | k2=0; |
pathae | 5:e565265fdf23 | 198 | |
pathae | 5:e565265fdf23 | 199 | while(cMonText[i1]!='*') |
pathae | 5:e565265fdf23 | 200 | { |
pathae | 5:e565265fdf23 | 201 | while(cMonText[i1]!=',') |
pathae | 5:e565265fdf23 | 202 | { |
pathae | 5:e565265fdf23 | 203 | chiffre1[j]=cMonText[i1]; |
pathae | 5:e565265fdf23 | 204 | i1++; |
pathae | 5:e565265fdf23 | 205 | j++; |
pathae | 5:e565265fdf23 | 206 | } |
pathae | 5:e565265fdf23 | 207 | val1 = atoi(chiffre1); |
pathae | 5:e565265fdf23 | 208 | chrono[k]=val1; |
pathae | 5:e565265fdf23 | 209 | j=0; |
pathae | 5:e565265fdf23 | 210 | i1++; |
pathae | 5:e565265fdf23 | 211 | k++; |
pathae | 5:e565265fdf23 | 212 | } |
pathae | 5:e565265fdf23 | 213 | i1=0; |
pathae | 5:e565265fdf23 | 214 | k=0; |
pathae | 5:e565265fdf23 | 215 | |
pathae | 5:e565265fdf23 | 216 | while(cMonText2[i2]!='*') |
pathae | 5:e565265fdf23 | 217 | { |
pathae | 5:e565265fdf23 | 218 | while(cMonText2[i2]!=',') |
pathae | 5:e565265fdf23 | 219 | { |
pathae | 5:e565265fdf23 | 220 | chiffre2[j2]=cMonText2[i2]; |
pathae | 5:e565265fdf23 | 221 | i2++; |
pathae | 5:e565265fdf23 | 222 | j2++; |
pathae | 5:e565265fdf23 | 223 | } |
pathae | 5:e565265fdf23 | 224 | val2 = atoi(chiffre2); |
pathae | 5:e565265fdf23 | 225 | type_tir[k2]=val2; |
pathae | 5:e565265fdf23 | 226 | j2=0; |
pathae | 5:e565265fdf23 | 227 | i2++; |
pathae | 5:e565265fdf23 | 228 | k2++; |
pathae | 5:e565265fdf23 | 229 | } |
pathae | 5:e565265fdf23 | 230 | i2=0; |
pathae | 5:e565265fdf23 | 231 | k2=0; |
pathae | 5:e565265fdf23 | 232 | } // Fin Enclenchement bouton 15 |
pathae | 5:e565265fdf23 | 233 | |
pathae | 5:e565265fdf23 | 234 | } |
pathae | 5:e565265fdf23 | 235 | } |
pathae | 5:e565265fdf23 | 236 | return; |
pathae | 5:e565265fdf23 | 237 | } |
pathae | 5:e565265fdf23 | 238 | |
pathae | 5:e565265fdf23 | 239 | void valeur_volt() // ---------------------------------------------- Lecteur Tension ------------------------ |
pathae | 5:e565265fdf23 | 240 | { |
pathae | 5:e565265fdf23 | 241 | valeur_analogique = TensionBatterie.read(); // Convertis la valeur obtenus entre 0 et 1 |
pathae | 5:e565265fdf23 | 242 | valeur_tension = valeur_analogique * 6; // On multiplie notre valeur obtenus pour avoir la tension d entree |
pathae | 5:e565265fdf23 | 243 | genieWriteObject(GENIE_OBJ_METER , 0x00,valeur_tension); |
pathae | 5:e565265fdf23 | 244 | return; |
pathae | 5:e565265fdf23 | 245 | } |
pathae | 5:e565265fdf23 | 246 | |
pathae | 5:e565265fdf23 | 247 | void pause1() |
pathae | 5:e565265fdf23 | 248 | { |
pathae | 5:e565265fdf23 | 249 | if(pause == 0) |
pathae | 5:e565265fdf23 | 250 | { |
pathae | 5:e565265fdf23 | 251 | pause++; |
pathae | 5:e565265fdf23 | 252 | } |
pathae | 5:e565265fdf23 | 253 | else |
pathae | 5:e565265fdf23 | 254 | { |
pathae | 5:e565265fdf23 | 255 | pause--; |
pathae | 5:e565265fdf23 | 256 | } |
pathae | 5:e565265fdf23 | 257 | } |
pathae | 5:e565265fdf23 | 258 | |
pathae | 5:e565265fdf23 | 259 | /************************ |
pathae | 5:e565265fdf23 | 260 | * Programme principal * |
pathae | 5:e565265fdf23 | 261 | *************************/ |
pathae | 5:e565265fdf23 | 262 | |
pathae | 5:e565265fdf23 | 263 | int main() |
pathae | 5:e565265fdf23 | 264 | { |
pathae | 5:e565265fdf23 | 265 | |
pathae | 5:e565265fdf23 | 266 | wait(3); |
pathae | 5:e565265fdf23 | 267 | DELROUGE = 0; |
pathae | 5:e565265fdf23 | 268 | |
pathae | 5:e565265fdf23 | 269 | /* Ecriture*/ |
pathae | 5:e565265fdf23 | 270 | enableEEPROMWriting(); //autorisation d'ecriture dans l'eeprom |
pathae | 5:e565265fdf23 | 271 | writeEEPROMHalfWord(adresse, donnee1); |
pathae | 5:e565265fdf23 | 272 | writeEEPROMHalfWord(adresse+2, donnee2); |
pathae | 5:e565265fdf23 | 273 | writeEEPROMHalfWord(adresse+4, donnee3); |
pathae | 5:e565265fdf23 | 274 | disableEEPROMWriting(); //Interdiction d'ecriture |
pathae | 5:e565265fdf23 | 275 | |
pathae | 5:e565265fdf23 | 276 | SetupGenie(); |
pathae | 5:e565265fdf23 | 277 | genieWriteContrast(i); //Permet de modifier la luminosite |
pathae | 5:e565265fdf23 | 278 | genieWriteObject(GENIE_OBJ_LED_DIGITS, 0x05, i); |
pathae | 5:e565265fdf23 | 279 | BOUTONPAUSE.fall(&pause1); |
pathae | 5:e565265fdf23 | 280 | //Initialisation de l'interruption "Ticker" toutes les secondes |
pathae | 5:e565265fdf23 | 281 | Horloge_Global_Seconde.attach(&compt_secondes,1); //Appel de la fonction toutes les secondes. |
pathae | 5:e565265fdf23 | 282 | Valeur_Tension_Volt.attach(&valeur_volt,30); |
pathae | 5:e565265fdf23 | 283 | |
pathae | 5:e565265fdf23 | 284 | while(1) { |
pathae | 5:e565265fdf23 | 285 | if(pause == 0) |
pathae | 5:e565265fdf23 | 286 | { |
pathae | 5:e565265fdf23 | 287 | DELVERTE = 0; |
pathae | 5:e565265fdf23 | 288 | DELORANGE = 1; |
pathae | 5:e565265fdf23 | 289 | bloqueur = 1; |
pathae | 5:e565265fdf23 | 290 | } |
pathae | 5:e565265fdf23 | 291 | if(pause == 1) |
pathae | 5:e565265fdf23 | 292 | { |
pathae | 5:e565265fdf23 | 293 | DELVERTE = 1; |
pathae | 5:e565265fdf23 | 294 | DELORANGE = 0; |
pathae | 5:e565265fdf23 | 295 | bloqueur = 0; |
pathae | 5:e565265fdf23 | 296 | } |
pathae | 5:e565265fdf23 | 297 | } // Fin while |
pathae | 5:e565265fdf23 | 298 | } // Fin main |