programme final projet s4
Dependencies: BSP_DISCO_F746NG SDFileSystem TS_DISCO_F746NG affichage_des_ecrans mbed rtc_lib
main_glb.cpp@5:218218777e38, 2016-11-23 (annotated)
- Committer:
- Asoumy
- Date:
- Wed Nov 23 23:01:54 2016 +0000
- Revision:
- 5:218218777e38
- Parent:
- 4:c6e9b4449a5f
programme final du projet
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Asoumy | 2:a6c2f346bca5 | 1 | #include "mbed.h" |
Asoumy | 2:a6c2f346bca5 | 2 | #include "TS_DISCO_F746NG.h" |
Asoumy | 2:a6c2f346bca5 | 3 | #include "LCD_DISCO_F746NG.h" |
Asoumy | 2:a6c2f346bca5 | 4 | #include "ds1338.h" |
Asoumy | 3:53f3194a919e | 5 | #include "horloge.h" |
Asoumy | 3:53f3194a919e | 6 | #include "Ecran.h" |
Asoumy | 4:c6e9b4449a5f | 7 | #include "SDFileSystem.h" |
Asoumy | 2:a6c2f346bca5 | 8 | //définition de la zone tactile dans l'ecran principal |
Asoumy | 2:a6c2f346bca5 | 9 | #define TOUCHADMINISTRATEUR ((TS_State.touchDetected) && ( TS_State.touchX[0]>0) &&( TS_State.touchX[0]< 240)&& ( TS_State.touchY[0]>0) && (TS_State.touchY[0] < 272)) |
Asoumy | 2:a6c2f346bca5 | 10 | #define TOUCHUTILISATEUR ((TS_State.touchDetected) && ( TS_State.touchX[0]> 240) &&( TS_State.touchX[0]< 480)&& ( TS_State.touchY[0]> 0) && (TS_State.touchY[0] < 272)) |
Asoumy | 2:a6c2f346bca5 | 11 | |
Asoumy | 2:a6c2f346bca5 | 12 | // définitions des touches tactiles qui interviennent dans l'écran 1 |
Asoumy | 2:a6c2f346bca5 | 13 | #define TOUCHTIMEDATE ((TS_State.touchDetected) && ( TS_State.touchX[0]>10) && (TS_State.touchX[0]< 165)&& (TS_State.touchY[0]>50) && (TS_State.touchY[0] < 180)) |
Asoumy | 2:a6c2f346bca5 | 14 | #define TOUCHFREQ ((TS_State.touchDetected) && ( TS_State.touchX[0]>170) && (TS_State.touchX[0]< 328)&& (TS_State.touchY[0]>60) && (TS_State.touchY[0] < 180)) |
Asoumy | 2:a6c2f346bca5 | 15 | #define TOUCHAFFICHAGE ((TS_State.touchDetected) && ( TS_State.touchX[0]>333) &&( TS_State.touchX[0]< 475)&& ( TS_State.touchY[0]> 60) && (TS_State.touchY[0] < 180)) |
Asoumy | 2:a6c2f346bca5 | 16 | |
Asoumy | 2:a6c2f346bca5 | 17 | //définitions des touches tactiles qui intervient dans les écrans paramettrable |
Asoumy | 2:a6c2f346bca5 | 18 | #define TOUCHRETOUR ((TS_State.touchDetected) && ( TS_State.touchX[0]>30) &&( TS_State.touchX[0]< 110)&& ( TS_State.touchY[0]> 210) && (TS_State.touchY[0] < 240)) |
Asoumy | 2:a6c2f346bca5 | 19 | #define TOUCHMoins ((TS_State.touchDetected) && ( TS_State.touchX[0]>145) &&( TS_State.touchX[0]< 225)&& ( TS_State.touchY[0]> 210) && (TS_State.touchY[0] < 240)) |
Asoumy | 2:a6c2f346bca5 | 20 | #define TOUCHPlus ((TS_State.touchDetected) && ( TS_State.touchX[0]> 245) &&( TS_State.touchX[0]< 325)&& ( TS_State.touchY[0]> 210) && (TS_State.touchY[0] < 240)) |
Asoumy | 2:a6c2f346bca5 | 21 | #define TOUCHOK ((TS_State.touchDetected) && ( TS_State.touchX[0]> 360) &&( TS_State.touchX[0]< 440)&& ( TS_State.touchY[0]> 210) && (TS_State.touchY[0] < 240)) |
Asoumy | 2:a6c2f346bca5 | 22 | |
Asoumy | 2:a6c2f346bca5 | 23 | //définitions des touches tactiles pour régler l'heure et la date |
Asoumy | 2:a6c2f346bca5 | 24 | #define TOUCHDAY ((TS_State.touchDetected) && ( TS_State.touchX[0]> 30) &&( TS_State.touchX[0]< 85)&& ( TS_State.touchY[0]> 82) && (TS_State.touchY[0] < 110)) |
Asoumy | 2:a6c2f346bca5 | 25 | #define TOUCHMonth ((TS_State.touchDetected) && ( TS_State.touchX[0]> 100) &&( TS_State.touchX[0]< 160)&& ( TS_State.touchY[0]> 82) && (TS_State.touchY[0] < 110)) |
Asoumy | 2:a6c2f346bca5 | 26 | #define TOUCHYear ((TS_State.touchDetected) && ( TS_State.touchX[0]> 170) &&( TS_State.touchX[0]< 240)&& ( TS_State.touchY[0]> 82) && (TS_State.touchY[0] < 110)) |
Asoumy | 2:a6c2f346bca5 | 27 | #define TOUCHHour ((TS_State.touchDetected) && ( TS_State.touchX[0]> 30) &&( TS_State.touchX[0]< 60)&& ( TS_State.touchY[0]> 164) && (TS_State.touchY[0] < 204)) |
Asoumy | 2:a6c2f346bca5 | 28 | #define TOUCHMinute ((TS_State.touchDetected) && ( TS_State.touchX[0]> 100) &&( TS_State.touchX[0]< 159)&& ( TS_State.touchY[0]> 164) && (TS_State.touchY[0] < 204)) |
Asoumy | 2:a6c2f346bca5 | 29 | #define TOUCHSeconde ((TS_State.touchDetected) && ( TS_State.touchX[0]> 172) &&( TS_State.touchX[0]< 240)&& ( TS_State.touchY[0]> 164) && (TS_State.touchY[0] < 204)) |
Asoumy | 2:a6c2f346bca5 | 30 | |
Asoumy | 2:a6c2f346bca5 | 31 | //définition des touches tactiles pour le réglage de la fréquence d'envoi des données sur la carte SD |
Asoumy | 4:c6e9b4449a5f | 32 | #define TOUCHAcquire ((TS_State.touchDetected) && ( TS_State.touchX[0]> 25) &&( TS_State.touchX[0]< 175)&& ( TS_State.touchY[0]> 115) && (TS_State.touchY[0] < 145)) |
Asoumy | 2:a6c2f346bca5 | 33 | #define TOUCHPerDay ((TS_State.touchDetected) && ( TS_State.touchX[0]> 245) &&( TS_State.touchX[0]< 405)&& ( TS_State.touchY[0]> 115) && (TS_State.touchY[0] < 145)) |
Asoumy | 2:a6c2f346bca5 | 34 | #define TOUCHPerWeek ((TS_State.touchDetected) && ( TS_State.touchX[0]> 25) &&( TS_State.touchX[0]< 175)&& ( TS_State.touchY[0]> 155) && (TS_State.touchY[0] < 185)) |
Asoumy | 2:a6c2f346bca5 | 35 | #define TOUCHPermonth ((TS_State.touchDetected) && ( TS_State.touchX[0]> 245) &&( TS_State.touchX[0]< 405)&& ( TS_State.touchY[0]> 155) && (TS_State.touchY[0] < 185)) |
Asoumy | 2:a6c2f346bca5 | 36 | |
Asoumy | 2:a6c2f346bca5 | 37 | //définition de l'attente avant l'affichage d'un nouvel écran |
Asoumy | 2:a6c2f346bca5 | 38 | #define ATTENTE wait(0.2); |
Asoumy | 2:a6c2f346bca5 | 39 | |
Asoumy | 4:c6e9b4449a5f | 40 | // définition des touche des chiffres pour la saisie du mot passe |
Asoumy | 4:c6e9b4449a5f | 41 | |
Asoumy | 4:c6e9b4449a5f | 42 | #define TOUCH1 (( TS_State.touchDetected) && ( TS_State.touchX[0]>135) &&( TS_State.touchX[0]<185)&& ( TS_State.touchY[0]>90) && (TS_State.touchY[0]<115)) |
Asoumy | 4:c6e9b4449a5f | 43 | #define TOUCH2 (( TS_State.touchDetected) && ( TS_State.touchX[0]>215) &&( TS_State.touchX[0]<260)&& ( TS_State.touchY[0]>90) && (TS_State.touchY[0]<115)) |
Asoumy | 4:c6e9b4449a5f | 44 | #define TOUCH3 (( TS_State.touchDetected) && ( TS_State.touchX[0]>295) &&( TS_State.touchX[0]<345)&& ( TS_State.touchY[0]>90) && (TS_State.touchY[0]<115)) |
Asoumy | 4:c6e9b4449a5f | 45 | #define TOUCH4 (( TS_State.touchDetected) && ( TS_State.touchX[0]>135) &&( TS_State.touchX[0]<185)&& ( TS_State.touchY[0]>130) && (TS_State.touchY[0]<155)) |
Asoumy | 4:c6e9b4449a5f | 46 | #define TOUCH5 (( TS_State.touchDetected) && ( TS_State.touchX[0]>215) &&( TS_State.touchX[0]<260)&& ( TS_State.touchY[0]>130) && (TS_State.touchY[0]<155)) |
Asoumy | 4:c6e9b4449a5f | 47 | #define TOUCH6 (( TS_State.touchDetected) && ( TS_State.touchX[0]>295) &&( TS_State.touchX[0]<345)&& ( TS_State.touchY[0]>130) && (TS_State.touchY[0]<155)) |
Asoumy | 4:c6e9b4449a5f | 48 | #define TOUCH7 (( TS_State.touchDetected) && ( TS_State.touchX[0]>135) &&( TS_State.touchX[0]<185)&& ( TS_State.touchY[0]>170) && (TS_State.touchY[0]<195)) |
Asoumy | 4:c6e9b4449a5f | 49 | #define TOUCH8 (( TS_State.touchDetected) && ( TS_State.touchX[0]>215) &&( TS_State.touchX[0]<260)&& ( TS_State.touchY[0]>170) && (TS_State.touchY[0]<195)) |
Asoumy | 4:c6e9b4449a5f | 50 | #define TOUCH9 (( TS_State.touchDetected) && ( TS_State.touchX[0]>295) &&( TS_State.touchX[0]<345)&& ( TS_State.touchY[0]>170) && (TS_State.touchY[0]<195)) |
Asoumy | 4:c6e9b4449a5f | 51 | #define TOUCHVALID (( TS_State.touchDetected) && ( TS_State.touchX[0]>210) &&( TS_State.touchX[0]<280)&& ( TS_State.touchY[0]>210) && (TS_State.touchY[0]<235)) |
Asoumy | 4:c6e9b4449a5f | 52 | /////affichage de l'heure |
Asoumy | 4:c6e9b4449a5f | 53 | #define TOUCHSHOWTIME ((TS_State.touchDetected) && ( TS_State.touchX[0]>395 ) &&( TS_State.touchX[0]<475)&& ( TS_State.touchY[0]>10) && (TS_State.touchY[0] <40)) |
Asoumy | 4:c6e9b4449a5f | 54 | |
Asoumy | 2:a6c2f346bca5 | 55 | int affiche=0; |
Asoumy | 4:c6e9b4449a5f | 56 | int password=0; |
Asoumy | 3:53f3194a919e | 57 | |
Asoumy | 3:53f3194a919e | 58 | |
Asoumy | 2:a6c2f346bca5 | 59 | TS_DISCO_F746NG ts; |
Asoumy | 2:a6c2f346bca5 | 60 | |
Asoumy | 2:a6c2f346bca5 | 61 | DigitalOut led1(LED1); |
Asoumy | 4:c6e9b4449a5f | 62 | Serial pc(USBTX, USBRX); |
Asoumy | 3:53f3194a919e | 63 | |
Asoumy | 2:a6c2f346bca5 | 64 | int main() |
Asoumy | 2:a6c2f346bca5 | 65 | { |
Asoumy | 4:c6e9b4449a5f | 66 | unsigned int day =00; |
Asoumy | 4:c6e9b4449a5f | 67 | unsigned int month =00; |
Asoumy | 4:c6e9b4449a5f | 68 | unsigned int year=2000; |
Asoumy | 4:c6e9b4449a5f | 69 | unsigned int hour =00; |
Asoumy | 4:c6e9b4449a5f | 70 | unsigned int min =00; |
Asoumy | 4:c6e9b4449a5f | 71 | unsigned int sec=00; |
Asoumy | 4:c6e9b4449a5f | 72 | SDFileSystem sd(D11,D12,D13 , D3, "sd"); |
Asoumy | 4:c6e9b4449a5f | 73 | AnalogIn Vpan(A0); |
Asoumy | 4:c6e9b4449a5f | 74 | AnalogIn Ipan(A1); |
Asoumy | 4:c6e9b4449a5f | 75 | AnalogIn Tpan(A2); |
Asoumy | 4:c6e9b4449a5f | 76 | AnalogIn Irr(A3); |
Asoumy | 4:c6e9b4449a5f | 77 | AnalogIn Vbat(A4); |
Asoumy | 4:c6e9b4449a5f | 78 | AnalogIn Ibat(A5); |
Asoumy | 3:53f3194a919e | 79 | DS1338 ds1338(D14,D15); |
Asoumy | 4:c6e9b4449a5f | 80 | LCD_DISCO_F746NG lcd; |
Asoumy | 4:c6e9b4449a5f | 81 | lcd.Clear(LCD_COLOR_BLACK); |
Asoumy | 4:c6e9b4449a5f | 82 | lcd.SetBackColor(LCD_COLOR_BLACK); |
Asoumy | 4:c6e9b4449a5f | 83 | lcd.SetTextColor(LCD_COLOR_WHITE); |
Asoumy | 4:c6e9b4449a5f | 84 | lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"WELCOME TO LAOS PROJET", CENTER_MODE); |
Asoumy | 4:c6e9b4449a5f | 85 | wait(1); |
Asoumy | 4:c6e9b4449a5f | 86 | affiche=1; |
Asoumy | 4:c6e9b4449a5f | 87 | |
Asoumy | 3:53f3194a919e | 88 | struct tm time; |
Asoumy | 4:c6e9b4449a5f | 89 | |
Asoumy | 4:c6e9b4449a5f | 90 | |
Asoumy | 2:a6c2f346bca5 | 91 | TS_StateTypeDef TS_State; |
Asoumy | 2:a6c2f346bca5 | 92 | ts.Init(480, 272); |
Asoumy | 4:c6e9b4449a5f | 93 | |
Asoumy | 4:c6e9b4449a5f | 94 | time.tm_sec=0; |
Asoumy | 4:c6e9b4449a5f | 95 | time.tm_min=28; |
Asoumy | 4:c6e9b4449a5f | 96 | time.tm_hour=11; |
Asoumy | 4:c6e9b4449a5f | 97 | time.tm_mday=19; |
Asoumy | 4:c6e9b4449a5f | 98 | time.tm_year=116; |
Asoumy | 4:c6e9b4449a5f | 99 | time.tm_mon=9; |
Asoumy | 4:c6e9b4449a5f | 100 | time.tm_wday=3; |
Asoumy | 4:c6e9b4449a5f | 101 | time.tm_yday=0; |
Asoumy | 4:c6e9b4449a5f | 102 | time.tm_isdst=0; |
Asoumy | 4:c6e9b4449a5f | 103 | ds1338.writeTime(&time); |
Asoumy | 4:c6e9b4449a5f | 104 | |
Asoumy | 2:a6c2f346bca5 | 105 | while(1) |
Asoumy | 2:a6c2f346bca5 | 106 | { |
Asoumy | 2:a6c2f346bca5 | 107 | ts.GetState(&TS_State); |
Asoumy | 3:53f3194a919e | 108 | |
Asoumy | 3:53f3194a919e | 109 | ds1338.readTime(&time); |
Asoumy | 2:a6c2f346bca5 | 110 | |
Asoumy | 2:a6c2f346bca5 | 111 | |
Asoumy | 4:c6e9b4449a5f | 112 | typedef enum {etat0, etat1,etat_reg_minute, etat_mot_de_passe,Etat_ecran_affichage,Etat_ecranUtilis,etat3,etat2, etat_reg_day, etat_reg_month,etat_reg_year, etat_reg_hour} type_etat; |
Asoumy | 2:a6c2f346bca5 | 113 | static type_etat etat= etat0; |
Asoumy | 2:a6c2f346bca5 | 114 | |
Asoumy | 2:a6c2f346bca5 | 115 | switch (etat) |
Asoumy | 2:a6c2f346bca5 | 116 | { |
Asoumy | 2:a6c2f346bca5 | 117 | case etat0: |
Asoumy | 2:a6c2f346bca5 | 118 | if (affiche==1) |
Asoumy | 2:a6c2f346bca5 | 119 | { |
Asoumy | 2:a6c2f346bca5 | 120 | Ecranprincipal (); |
Asoumy | 2:a6c2f346bca5 | 121 | affiche=0; |
Asoumy | 2:a6c2f346bca5 | 122 | } |
Asoumy | 2:a6c2f346bca5 | 123 | |
Asoumy | 2:a6c2f346bca5 | 124 | if (TOUCHUTILISATEUR) |
Asoumy | 2:a6c2f346bca5 | 125 | { |
Asoumy | 4:c6e9b4449a5f | 126 | etat= Etat_ecranUtilis; |
Asoumy | 2:a6c2f346bca5 | 127 | affiche=1; |
Asoumy | 2:a6c2f346bca5 | 128 | ATTENTE |
Asoumy | 2:a6c2f346bca5 | 129 | } |
Asoumy | 2:a6c2f346bca5 | 130 | |
Asoumy | 2:a6c2f346bca5 | 131 | if (TOUCHADMINISTRATEUR) |
Asoumy | 2:a6c2f346bca5 | 132 | { |
Asoumy | 4:c6e9b4449a5f | 133 | etat= etat_mot_de_passe; |
Asoumy | 2:a6c2f346bca5 | 134 | affiche=1; |
Asoumy | 2:a6c2f346bca5 | 135 | ATTENTE |
Asoumy | 2:a6c2f346bca5 | 136 | } |
Asoumy | 2:a6c2f346bca5 | 137 | break; |
Asoumy | 4:c6e9b4449a5f | 138 | //////////////////////Mot de passe/////////////////////// |
Asoumy | 4:c6e9b4449a5f | 139 | |
Asoumy | 4:c6e9b4449a5f | 140 | case etat_mot_de_passe: |
Asoumy | 4:c6e9b4449a5f | 141 | if(affiche==1) |
Asoumy | 2:a6c2f346bca5 | 142 | { |
Asoumy | 4:c6e9b4449a5f | 143 | MotDePasse (); |
Asoumy | 4:c6e9b4449a5f | 144 | affiche=0; |
Asoumy | 4:c6e9b4449a5f | 145 | password=0; |
Asoumy | 4:c6e9b4449a5f | 146 | } |
Asoumy | 4:c6e9b4449a5f | 147 | if (TOUCH2) |
Asoumy | 4:c6e9b4449a5f | 148 | { |
Asoumy | 4:c6e9b4449a5f | 149 | lcd.SetBackColor(LCD_COLOR_WHITE); |
Asoumy | 4:c6e9b4449a5f | 150 | lcd.SetTextColor(LCD_COLOR_BLACK); |
Asoumy | 4:c6e9b4449a5f | 151 | lcd.DisplayStringAt(180, LINE(1), (uint8_t *)"*",LEFT_MODE); |
Asoumy | 4:c6e9b4449a5f | 152 | password=2;} |
Asoumy | 4:c6e9b4449a5f | 153 | if(password==2&&TOUCH7) |
Asoumy | 4:c6e9b4449a5f | 154 | { |
Asoumy | 4:c6e9b4449a5f | 155 | lcd.SetBackColor(LCD_COLOR_WHITE); |
Asoumy | 4:c6e9b4449a5f | 156 | lcd.SetTextColor(LCD_COLOR_BLACK); |
Asoumy | 4:c6e9b4449a5f | 157 | lcd.DisplayStringAt(210, LINE(1), (uint8_t *)"*",LEFT_MODE); |
Asoumy | 4:c6e9b4449a5f | 158 | password=7;} |
Asoumy | 4:c6e9b4449a5f | 159 | if(password==7&&TOUCH5) |
Asoumy | 2:a6c2f346bca5 | 160 | { |
Asoumy | 4:c6e9b4449a5f | 161 | lcd.SetBackColor(LCD_COLOR_WHITE); |
Asoumy | 4:c6e9b4449a5f | 162 | lcd.SetTextColor(LCD_COLOR_BLACK); |
Asoumy | 4:c6e9b4449a5f | 163 | lcd.DisplayStringAt(240, LINE(1), (uint8_t *)"*",LEFT_MODE); |
Asoumy | 4:c6e9b4449a5f | 164 | password=5;} |
Asoumy | 4:c6e9b4449a5f | 165 | if(password==5&&TOUCHVALID) |
Asoumy | 4:c6e9b4449a5f | 166 | { |
Asoumy | 4:c6e9b4449a5f | 167 | etat= etat1; |
Asoumy | 4:c6e9b4449a5f | 168 | affiche=1; |
Asoumy | 4:c6e9b4449a5f | 169 | ATTENTE |
Asoumy | 4:c6e9b4449a5f | 170 | } |
Asoumy | 4:c6e9b4449a5f | 171 | |
Asoumy | 4:c6e9b4449a5f | 172 | if ( TOUCH1|| TOUCH3 || TOUCH4 || TOUCH6|| TOUCH8|| TOUCH9) |
Asoumy | 4:c6e9b4449a5f | 173 | |
Asoumy | 4:c6e9b4449a5f | 174 | { |
Asoumy | 4:c6e9b4449a5f | 175 | lcd.SetBackColor(LCD_COLOR_WHITE); |
Asoumy | 4:c6e9b4449a5f | 176 | lcd.SetTextColor(LCD_COLOR_BLACK); |
Asoumy | 4:c6e9b4449a5f | 177 | lcd.DisplayStringAt(140, LINE(2), (uint8_t *)"pass invalid",LEFT_MODE); |
Asoumy | 4:c6e9b4449a5f | 178 | wait (1); |
Asoumy | 4:c6e9b4449a5f | 179 | affiche=1; |
Asoumy | 4:c6e9b4449a5f | 180 | |
Asoumy | 4:c6e9b4449a5f | 181 | if(affiche==1) |
Asoumy | 4:c6e9b4449a5f | 182 | { |
Asoumy | 4:c6e9b4449a5f | 183 | MotDePasse (); |
Asoumy | 4:c6e9b4449a5f | 184 | affiche=0; |
Asoumy | 4:c6e9b4449a5f | 185 | password=0; |
Asoumy | 4:c6e9b4449a5f | 186 | } |
Asoumy | 4:c6e9b4449a5f | 187 | } |
Asoumy | 4:c6e9b4449a5f | 188 | if(TOUCHRETOUR) |
Asoumy | 4:c6e9b4449a5f | 189 | { |
Asoumy | 4:c6e9b4449a5f | 190 | etat= etat0; |
Asoumy | 4:c6e9b4449a5f | 191 | affiche=1; |
Asoumy | 4:c6e9b4449a5f | 192 | ATTENTE |
Asoumy | 4:c6e9b4449a5f | 193 | } |
Asoumy | 2:a6c2f346bca5 | 194 | break; |
Asoumy | 2:a6c2f346bca5 | 195 | |
Asoumy | 4:c6e9b4449a5f | 196 | //////////////////////////////////////////////////////// |
Asoumy | 4:c6e9b4449a5f | 197 | |
Asoumy | 2:a6c2f346bca5 | 198 | case etat1: |
Asoumy | 2:a6c2f346bca5 | 199 | if (affiche==1) |
Asoumy | 2:a6c2f346bca5 | 200 | { |
Asoumy | 2:a6c2f346bca5 | 201 | ATTENTE |
Asoumy | 2:a6c2f346bca5 | 202 | EcranAdminis (); |
Asoumy | 4:c6e9b4449a5f | 203 | |
Asoumy | 2:a6c2f346bca5 | 204 | affiche=0; |
Asoumy | 2:a6c2f346bca5 | 205 | } |
Asoumy | 2:a6c2f346bca5 | 206 | |
Asoumy | 2:a6c2f346bca5 | 207 | if (TOUCHTIMEDATE) |
Asoumy | 2:a6c2f346bca5 | 208 | { |
Asoumy | 4:c6e9b4449a5f | 209 | etat= etat2; |
Asoumy | 4:c6e9b4449a5f | 210 | affiche=1; |
Asoumy | 2:a6c2f346bca5 | 211 | } |
Asoumy | 2:a6c2f346bca5 | 212 | if (TOUCHFREQ) |
Asoumy | 2:a6c2f346bca5 | 213 | { |
Asoumy | 2:a6c2f346bca5 | 214 | etat= etat3; |
Asoumy | 2:a6c2f346bca5 | 215 | affiche=1; |
Asoumy | 2:a6c2f346bca5 | 216 | } |
Asoumy | 2:a6c2f346bca5 | 217 | if (TOUCHAFFICHAGE) |
Asoumy | 2:a6c2f346bca5 | 218 | { |
Asoumy | 4:c6e9b4449a5f | 219 | ATTENTE |
Asoumy | 4:c6e9b4449a5f | 220 | etat=Etat_ecran_affichage; |
Asoumy | 4:c6e9b4449a5f | 221 | affiche=1; |
Asoumy | 2:a6c2f346bca5 | 222 | } |
Asoumy | 4:c6e9b4449a5f | 223 | if (TOUCHSHOWTIME) |
Asoumy | 4:c6e9b4449a5f | 224 | { |
Asoumy | 4:c6e9b4449a5f | 225 | reg_time(); |
Asoumy | 4:c6e9b4449a5f | 226 | affiche=1; |
Asoumy | 4:c6e9b4449a5f | 227 | } |
Asoumy | 2:a6c2f346bca5 | 228 | if (TOUCHRETOUR) |
Asoumy | 2:a6c2f346bca5 | 229 | { |
Asoumy | 2:a6c2f346bca5 | 230 | etat= etat0; |
Asoumy | 2:a6c2f346bca5 | 231 | affiche=1; |
Asoumy | 2:a6c2f346bca5 | 232 | ATTENTE; |
Asoumy | 2:a6c2f346bca5 | 233 | } |
Asoumy | 2:a6c2f346bca5 | 234 | break; |
Asoumy | 2:a6c2f346bca5 | 235 | |
Asoumy | 2:a6c2f346bca5 | 236 | case etat2: |
Asoumy | 2:a6c2f346bca5 | 237 | if (affiche==1) |
Asoumy | 2:a6c2f346bca5 | 238 | { |
Asoumy | 2:a6c2f346bca5 | 239 | Ecran2(); |
Asoumy | 2:a6c2f346bca5 | 240 | affiche=0; |
Asoumy | 2:a6c2f346bca5 | 241 | } |
Asoumy | 2:a6c2f346bca5 | 242 | if (TOUCHRETOUR) |
Asoumy | 2:a6c2f346bca5 | 243 | { |
Asoumy | 2:a6c2f346bca5 | 244 | etat= etat1; |
Asoumy | 2:a6c2f346bca5 | 245 | affiche=1; |
Asoumy | 2:a6c2f346bca5 | 246 | ATTENTE |
Asoumy | 2:a6c2f346bca5 | 247 | } |
Asoumy | 2:a6c2f346bca5 | 248 | if (TOUCHDAY) |
Asoumy | 2:a6c2f346bca5 | 249 | { |
Asoumy | 2:a6c2f346bca5 | 250 | etat= etat_reg_day; |
Asoumy | 2:a6c2f346bca5 | 251 | affiche=1; |
Asoumy | 2:a6c2f346bca5 | 252 | } |
Asoumy | 2:a6c2f346bca5 | 253 | if (TOUCHMonth) |
Asoumy | 2:a6c2f346bca5 | 254 | { |
Asoumy | 2:a6c2f346bca5 | 255 | etat=etat_reg_month; |
Asoumy | 2:a6c2f346bca5 | 256 | affiche=1; |
Asoumy | 2:a6c2f346bca5 | 257 | } |
Asoumy | 2:a6c2f346bca5 | 258 | if (TOUCHYear) |
Asoumy | 2:a6c2f346bca5 | 259 | { |
Asoumy | 2:a6c2f346bca5 | 260 | etat=etat_reg_year; |
Asoumy | 2:a6c2f346bca5 | 261 | affiche=1; |
Asoumy | 2:a6c2f346bca5 | 262 | } |
Asoumy | 2:a6c2f346bca5 | 263 | if (TOUCHHour) |
Asoumy | 2:a6c2f346bca5 | 264 | { |
Asoumy | 2:a6c2f346bca5 | 265 | etat=etat_reg_hour; |
Asoumy | 2:a6c2f346bca5 | 266 | affiche=1; |
Asoumy | 2:a6c2f346bca5 | 267 | } |
Asoumy | 2:a6c2f346bca5 | 268 | if (TOUCHMinute) |
Asoumy | 2:a6c2f346bca5 | 269 | { |
Asoumy | 2:a6c2f346bca5 | 270 | etat=etat_reg_minute; |
Asoumy | 2:a6c2f346bca5 | 271 | affiche=1; |
Asoumy | 2:a6c2f346bca5 | 272 | } |
Asoumy | 2:a6c2f346bca5 | 273 | if (TOUCHRETOUR) |
Asoumy | 2:a6c2f346bca5 | 274 | { |
Asoumy | 2:a6c2f346bca5 | 275 | etat= etat1; |
Asoumy | 2:a6c2f346bca5 | 276 | affiche=1; |
Asoumy | 2:a6c2f346bca5 | 277 | ATTENTE |
Asoumy | 2:a6c2f346bca5 | 278 | } |
Asoumy | 2:a6c2f346bca5 | 279 | if (TOUCHSeconde) |
Asoumy | 2:a6c2f346bca5 | 280 | { |
Asoumy | 2:a6c2f346bca5 | 281 | time.tm_sec=0; |
Asoumy | 2:a6c2f346bca5 | 282 | affiche=1; |
Asoumy | 4:c6e9b4449a5f | 283 | } |
Asoumy | 4:c6e9b4449a5f | 284 | if (TOUCHSHOWTIME) |
Asoumy | 4:c6e9b4449a5f | 285 | { |
Asoumy | 4:c6e9b4449a5f | 286 | reg_time(); |
Asoumy | 4:c6e9b4449a5f | 287 | affiche=1; |
Asoumy | 4:c6e9b4449a5f | 288 | } |
Asoumy | 2:a6c2f346bca5 | 289 | break; |
Asoumy | 2:a6c2f346bca5 | 290 | |
Asoumy | 2:a6c2f346bca5 | 291 | |
Asoumy | 2:a6c2f346bca5 | 292 | |
Asoumy | 2:a6c2f346bca5 | 293 | |
Asoumy | 4:c6e9b4449a5f | 294 | |
Asoumy | 2:a6c2f346bca5 | 295 | case etat_reg_day: |
Asoumy | 2:a6c2f346bca5 | 296 | if (affiche==1) |
Asoumy | 2:a6c2f346bca5 | 297 | { |
Asoumy | 2:a6c2f346bca5 | 298 | Ecran2_Day(); |
Asoumy | 2:a6c2f346bca5 | 299 | affiche=0; |
Asoumy | 2:a6c2f346bca5 | 300 | } |
Asoumy | 2:a6c2f346bca5 | 301 | |
Asoumy | 2:a6c2f346bca5 | 302 | if(TOUCHPlus){ |
Asoumy | 4:c6e9b4449a5f | 303 | day=day+1; |
Asoumy | 2:a6c2f346bca5 | 304 | ATTENTE |
Asoumy | 2:a6c2f346bca5 | 305 | Ecran2_Day(); |
Asoumy | 4:c6e9b4449a5f | 306 | if(day>30) day=0; |
Asoumy | 2:a6c2f346bca5 | 307 | } |
Asoumy | 2:a6c2f346bca5 | 308 | if(TOUCHMoins) |
Asoumy | 2:a6c2f346bca5 | 309 | { |
Asoumy | 4:c6e9b4449a5f | 310 | day=day-1; |
Asoumy | 2:a6c2f346bca5 | 311 | wait (0.3); |
Asoumy | 2:a6c2f346bca5 | 312 | Ecran2_Day(); |
Asoumy | 4:c6e9b4449a5f | 313 | if(day<2) day=32; |
Asoumy | 2:a6c2f346bca5 | 314 | } |
Asoumy | 2:a6c2f346bca5 | 315 | if ( (TOUCHOK)||(TOUCHRETOUR) ) |
Asoumy | 2:a6c2f346bca5 | 316 | { |
Asoumy | 2:a6c2f346bca5 | 317 | etat= etat2; |
Asoumy | 2:a6c2f346bca5 | 318 | affiche=1; |
Asoumy | 2:a6c2f346bca5 | 319 | ATTENTE |
Asoumy | 2:a6c2f346bca5 | 320 | } |
Asoumy | 2:a6c2f346bca5 | 321 | break; |
Asoumy | 2:a6c2f346bca5 | 322 | |
Asoumy | 2:a6c2f346bca5 | 323 | case etat_reg_month: |
Asoumy | 2:a6c2f346bca5 | 324 | if (affiche==1){ |
Asoumy | 2:a6c2f346bca5 | 325 | Ecran2_Month(); |
Asoumy | 2:a6c2f346bca5 | 326 | affiche=0; |
Asoumy | 2:a6c2f346bca5 | 327 | } |
Asoumy | 2:a6c2f346bca5 | 328 | if(TOUCHPlus) |
Asoumy | 2:a6c2f346bca5 | 329 | { |
Asoumy | 4:c6e9b4449a5f | 330 | month=month+1; |
Asoumy | 2:a6c2f346bca5 | 331 | ATTENTE |
Asoumy | 2:a6c2f346bca5 | 332 | Ecran2_Month(); |
Asoumy | 4:c6e9b4449a5f | 333 | if(month>11) month=0; |
Asoumy | 2:a6c2f346bca5 | 334 | } |
Asoumy | 2:a6c2f346bca5 | 335 | if(TOUCHMoins) |
Asoumy | 2:a6c2f346bca5 | 336 | { |
Asoumy | 4:c6e9b4449a5f | 337 | month=month-1; |
Asoumy | 2:a6c2f346bca5 | 338 | ATTENTE |
Asoumy | 2:a6c2f346bca5 | 339 | Ecran2_Month(); |
Asoumy | 4:c6e9b4449a5f | 340 | if(month<2) month=13; |
Asoumy | 2:a6c2f346bca5 | 341 | |
Asoumy | 2:a6c2f346bca5 | 342 | } |
Asoumy | 2:a6c2f346bca5 | 343 | if ( (TOUCHOK)|| (TOUCHRETOUR)) |
Asoumy | 2:a6c2f346bca5 | 344 | { |
Asoumy | 2:a6c2f346bca5 | 345 | etat= etat2; |
Asoumy | 2:a6c2f346bca5 | 346 | affiche=1; |
Asoumy | 2:a6c2f346bca5 | 347 | ATTENTE |
Asoumy | 2:a6c2f346bca5 | 348 | } |
Asoumy | 2:a6c2f346bca5 | 349 | |
Asoumy | 2:a6c2f346bca5 | 350 | break; |
Asoumy | 2:a6c2f346bca5 | 351 | case etat_reg_year: |
Asoumy | 2:a6c2f346bca5 | 352 | if (affiche==1){ |
Asoumy | 2:a6c2f346bca5 | 353 | Ecran2_Year (); |
Asoumy | 2:a6c2f346bca5 | 354 | affiche=0; |
Asoumy | 2:a6c2f346bca5 | 355 | } |
Asoumy | 2:a6c2f346bca5 | 356 | |
Asoumy | 2:a6c2f346bca5 | 357 | if(TOUCHPlus) |
Asoumy | 2:a6c2f346bca5 | 358 | { |
Asoumy | 4:c6e9b4449a5f | 359 | year=year+1; |
Asoumy | 2:a6c2f346bca5 | 360 | ATTENTE |
Asoumy | 2:a6c2f346bca5 | 361 | Ecran2_Year(); |
Asoumy | 4:c6e9b4449a5f | 362 | if(year>3000) year=2000; |
Asoumy | 2:a6c2f346bca5 | 363 | } |
Asoumy | 2:a6c2f346bca5 | 364 | if(TOUCHMoins) |
Asoumy | 2:a6c2f346bca5 | 365 | { |
Asoumy | 4:c6e9b4449a5f | 366 | year=year-1; |
Asoumy | 2:a6c2f346bca5 | 367 | ATTENTE |
Asoumy | 2:a6c2f346bca5 | 368 | Ecran2_Year(); |
Asoumy | 4:c6e9b4449a5f | 369 | if(year<2000) year=3000; |
Asoumy | 2:a6c2f346bca5 | 370 | } |
Asoumy | 2:a6c2f346bca5 | 371 | if ((TOUCHOK) ||(TOUCHRETOUR)) |
Asoumy | 2:a6c2f346bca5 | 372 | { |
Asoumy | 2:a6c2f346bca5 | 373 | etat= etat2; |
Asoumy | 2:a6c2f346bca5 | 374 | affiche=1; |
Asoumy | 2:a6c2f346bca5 | 375 | ATTENTE |
Asoumy | 2:a6c2f346bca5 | 376 | } |
Asoumy | 2:a6c2f346bca5 | 377 | |
Asoumy | 2:a6c2f346bca5 | 378 | break; |
Asoumy | 2:a6c2f346bca5 | 379 | |
Asoumy | 2:a6c2f346bca5 | 380 | case etat_reg_hour: |
Asoumy | 2:a6c2f346bca5 | 381 | if (affiche==1){ |
Asoumy | 2:a6c2f346bca5 | 382 | affiche=0; |
Asoumy | 2:a6c2f346bca5 | 383 | Ecran2_Hour(); |
Asoumy | 2:a6c2f346bca5 | 384 | } |
Asoumy | 2:a6c2f346bca5 | 385 | |
Asoumy | 2:a6c2f346bca5 | 386 | if(TOUCHPlus){ |
Asoumy | 4:c6e9b4449a5f | 387 | hour=hour+1; |
Asoumy | 2:a6c2f346bca5 | 388 | ATTENTE |
Asoumy | 2:a6c2f346bca5 | 389 | Ecran2_Hour(); |
Asoumy | 4:c6e9b4449a5f | 390 | if(hour>22) hour=0; |
Asoumy | 2:a6c2f346bca5 | 391 | } |
Asoumy | 2:a6c2f346bca5 | 392 | if(TOUCHMoins){ |
Asoumy | 4:c6e9b4449a5f | 393 | hour=hour-1; |
Asoumy | 2:a6c2f346bca5 | 394 | ATTENTE |
Asoumy | 2:a6c2f346bca5 | 395 | Ecran2_Hour(); |
Asoumy | 4:c6e9b4449a5f | 396 | if(hour<1) hour=24; |
Asoumy | 2:a6c2f346bca5 | 397 | } |
Asoumy | 2:a6c2f346bca5 | 398 | |
Asoumy | 2:a6c2f346bca5 | 399 | if ((TOUCHOK)||(TOUCHRETOUR)){ |
Asoumy | 2:a6c2f346bca5 | 400 | etat= etat2; |
Asoumy | 2:a6c2f346bca5 | 401 | affiche=1; |
Asoumy | 2:a6c2f346bca5 | 402 | ATTENTE |
Asoumy | 2:a6c2f346bca5 | 403 | } |
Asoumy | 2:a6c2f346bca5 | 404 | break; |
Asoumy | 2:a6c2f346bca5 | 405 | |
Asoumy | 2:a6c2f346bca5 | 406 | |
Asoumy | 2:a6c2f346bca5 | 407 | case etat_reg_minute: |
Asoumy | 2:a6c2f346bca5 | 408 | if (affiche==1) |
Asoumy | 2:a6c2f346bca5 | 409 | { Ecran2_Minutes(); |
Asoumy | 2:a6c2f346bca5 | 410 | affiche=0; |
Asoumy | 2:a6c2f346bca5 | 411 | } |
Asoumy | 2:a6c2f346bca5 | 412 | |
Asoumy | 2:a6c2f346bca5 | 413 | if(TOUCHPlus) |
Asoumy | 2:a6c2f346bca5 | 414 | { |
Asoumy | 4:c6e9b4449a5f | 415 | min=min+1; |
Asoumy | 2:a6c2f346bca5 | 416 | ATTENTE |
Asoumy | 2:a6c2f346bca5 | 417 | Ecran2_Minutes(); |
Asoumy | 4:c6e9b4449a5f | 418 | if(min>58) min=0; |
Asoumy | 2:a6c2f346bca5 | 419 | } |
Asoumy | 2:a6c2f346bca5 | 420 | if(TOUCHMoins) |
Asoumy | 2:a6c2f346bca5 | 421 | { |
Asoumy | 4:c6e9b4449a5f | 422 | min=min-1; |
Asoumy | 2:a6c2f346bca5 | 423 | wait (0.3); |
Asoumy | 2:a6c2f346bca5 | 424 | Ecran2_Minutes(); |
Asoumy | 4:c6e9b4449a5f | 425 | if(min>2) min=59; |
Asoumy | 2:a6c2f346bca5 | 426 | } |
Asoumy | 2:a6c2f346bca5 | 427 | if ((TOUCHOK) || (TOUCHRETOUR)){ |
Asoumy | 2:a6c2f346bca5 | 428 | etat= etat2; |
Asoumy | 2:a6c2f346bca5 | 429 | affiche=1; |
Asoumy | 2:a6c2f346bca5 | 430 | ATTENTE |
Asoumy | 2:a6c2f346bca5 | 431 | } |
Asoumy | 2:a6c2f346bca5 | 432 | break; |
Asoumy | 2:a6c2f346bca5 | 433 | case etat3: |
Asoumy | 2:a6c2f346bca5 | 434 | if (affiche==1) |
Asoumy | 2:a6c2f346bca5 | 435 | { |
Asoumy | 2:a6c2f346bca5 | 436 | Ecran3(); |
Asoumy | 2:a6c2f346bca5 | 437 | affiche=0; |
Asoumy | 4:c6e9b4449a5f | 438 | } |
Asoumy | 4:c6e9b4449a5f | 439 | |
Asoumy | 4:c6e9b4449a5f | 440 | if(TOUCHAcquire) |
Asoumy | 4:c6e9b4449a5f | 441 | { |
Asoumy | 4:c6e9b4449a5f | 442 | printf("debut d'acquisition!\n"); |
Asoumy | 4:c6e9b4449a5f | 443 | |
Asoumy | 4:c6e9b4449a5f | 444 | mkdir("/sd/mydir", 0777); |
Asoumy | 4:c6e9b4449a5f | 445 | |
Asoumy | 4:c6e9b4449a5f | 446 | FILE *fp = fopen("/sd/mydir/Aquisition panneau.txt", "w"); |
Asoumy | 4:c6e9b4449a5f | 447 | if(fp == NULL) { |
Asoumy | 4:c6e9b4449a5f | 448 | error("Could not open file for write\n"); |
Asoumy | 4:c6e9b4449a5f | 449 | } |
Asoumy | 4:c6e9b4449a5f | 450 | fprintf(fp,"valeur d'irradiation %f\n",Vpan.read()*3.3); |
Asoumy | 4:c6e9b4449a5f | 451 | fprintf(fp," valeur tension panneau %f\n",Ipan.read()*3.3); |
Asoumy | 4:c6e9b4449a5f | 452 | fprintf(fp," valeur temperature panneau %f\n",Tpan.read()*3.3); |
Asoumy | 4:c6e9b4449a5f | 453 | fprintf(fp," valeur irradiation panneau %f\n",Irr.read()*3.3); |
Asoumy | 4:c6e9b4449a5f | 454 | fprintf(fp," valeur tension batterie %f\n",Vbat.read()*3.3); |
Asoumy | 4:c6e9b4449a5f | 455 | fprintf(fp," valeur courant batterie %f\n",Ibat.read()*3.3); |
Asoumy | 4:c6e9b4449a5f | 456 | fclose(fp); |
Asoumy | 4:c6e9b4449a5f | 457 | |
Asoumy | 4:c6e9b4449a5f | 458 | printf("acquisition reussi!\n"); |
Asoumy | 4:c6e9b4449a5f | 459 | |
Asoumy | 4:c6e9b4449a5f | 460 | } |
Asoumy | 4:c6e9b4449a5f | 461 | if (TOUCHSHOWTIME) |
Asoumy | 4:c6e9b4449a5f | 462 | { |
Asoumy | 4:c6e9b4449a5f | 463 | reg_time(); |
Asoumy | 4:c6e9b4449a5f | 464 | affiche=1; |
Asoumy | 4:c6e9b4449a5f | 465 | } |
Asoumy | 2:a6c2f346bca5 | 466 | if (TOUCHRETOUR) |
Asoumy | 2:a6c2f346bca5 | 467 | { |
Asoumy | 2:a6c2f346bca5 | 468 | etat= etat1; |
Asoumy | 2:a6c2f346bca5 | 469 | affiche=1; |
Asoumy | 2:a6c2f346bca5 | 470 | ATTENTE |
Asoumy | 2:a6c2f346bca5 | 471 | } |
Asoumy | 2:a6c2f346bca5 | 472 | break; |
Asoumy | 4:c6e9b4449a5f | 473 | ///////////////// |
Asoumy | 4:c6e9b4449a5f | 474 | case Etat_ecran_affichage: |
Asoumy | 4:c6e9b4449a5f | 475 | if (((Vpan.read())||(Ipan.read())||(Tpan.read())||(Irr.read())||(Vbat.read())||(Ibat.read()))&&affiche==1) |
Asoumy | 2:a6c2f346bca5 | 476 | { |
Asoumy | 4:c6e9b4449a5f | 477 | EcranUtilis_ok(); |
Asoumy | 4:c6e9b4449a5f | 478 | affiche=0; |
Asoumy | 4:c6e9b4449a5f | 479 | |
Asoumy | 4:c6e9b4449a5f | 480 | } if(~((Vpan.read())||(Ipan.read())||(Tpan.read())||(Irr.read())||(Vbat.read())||(Ibat.read()))&&affiche==1) |
Asoumy | 4:c6e9b4449a5f | 481 | { |
Asoumy | 4:c6e9b4449a5f | 482 | EcranUtilis_fail(); |
Asoumy | 4:c6e9b4449a5f | 483 | affiche=0; |
Asoumy | 4:c6e9b4449a5f | 484 | } |
Asoumy | 4:c6e9b4449a5f | 485 | if (TOUCHSHOWTIME) |
Asoumy | 4:c6e9b4449a5f | 486 | { |
Asoumy | 4:c6e9b4449a5f | 487 | reg_time(); |
Asoumy | 4:c6e9b4449a5f | 488 | affiche=1; |
Asoumy | 4:c6e9b4449a5f | 489 | } |
Asoumy | 4:c6e9b4449a5f | 490 | if (TOUCHRETOUR) |
Asoumy | 2:a6c2f346bca5 | 491 | { |
Asoumy | 2:a6c2f346bca5 | 492 | etat= etat1; |
Asoumy | 2:a6c2f346bca5 | 493 | affiche=1; |
Asoumy | 2:a6c2f346bca5 | 494 | ATTENTE |
Asoumy | 2:a6c2f346bca5 | 495 | } |
Asoumy | 2:a6c2f346bca5 | 496 | break; |
Asoumy | 4:c6e9b4449a5f | 497 | ///////////// |
Asoumy | 4:c6e9b4449a5f | 498 | case Etat_ecranUtilis: |
Asoumy | 4:c6e9b4449a5f | 499 | if (((Vpan.read())||(Ipan.read())||(Tpan.read())||(Irr.read())||(Vbat.read())||(Ibat.read()))&&affiche==1) |
Asoumy | 4:c6e9b4449a5f | 500 | { |
Asoumy | 4:c6e9b4449a5f | 501 | EcranUtilis_ok(); |
Asoumy | 4:c6e9b4449a5f | 502 | affiche=0; |
Asoumy | 4:c6e9b4449a5f | 503 | |
Asoumy | 4:c6e9b4449a5f | 504 | }else if(affiche==1){ |
Asoumy | 4:c6e9b4449a5f | 505 | EcranUtilis_fail(); |
Asoumy | 4:c6e9b4449a5f | 506 | affiche=0; |
Asoumy | 4:c6e9b4449a5f | 507 | } |
Asoumy | 4:c6e9b4449a5f | 508 | if (TOUCHSHOWTIME) |
Asoumy | 4:c6e9b4449a5f | 509 | { |
Asoumy | 4:c6e9b4449a5f | 510 | reg_time(); |
Asoumy | 4:c6e9b4449a5f | 511 | affiche=1; |
Asoumy | 4:c6e9b4449a5f | 512 | } |
Asoumy | 4:c6e9b4449a5f | 513 | if (TOUCHRETOUR) |
Asoumy | 4:c6e9b4449a5f | 514 | { |
Asoumy | 4:c6e9b4449a5f | 515 | etat= etat0; |
Asoumy | 4:c6e9b4449a5f | 516 | affiche=1; |
Asoumy | 4:c6e9b4449a5f | 517 | ATTENTE |
Asoumy | 4:c6e9b4449a5f | 518 | } |
Asoumy | 4:c6e9b4449a5f | 519 | break; |
Asoumy | 2:a6c2f346bca5 | 520 | } |
Asoumy | 2:a6c2f346bca5 | 521 | } |
Asoumy | 2:a6c2f346bca5 | 522 | } |
Asoumy | 2:a6c2f346bca5 | 523 | |
Asoumy | 2:a6c2f346bca5 | 524 |