Horloge RTC
Dependencies: ihm_L476_full RTC_IUT
main.cpp@6:21be959149c3, 2020-08-30 (annotated)
- Committer:
- grimwald
- Date:
- Sun Aug 30 12:38:39 2020 +0000
- Revision:
- 6:21be959149c3
- Parent:
- 5:6ce20ff7927b
Clock;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
grimwald | 4:86341306d9d7 | 1 | #include "RTC_IUT.h"//bibliotheque de l'afficheur |
grimwald | 4:86341306d9d7 | 2 | #include "ihm_L476.h"//bibliotheque du chrono |
grimwald | 5:6ce20ff7927b | 3 | DigitalIn BPC (PA_0,PullNone) ; // bouton centre |
grimwald | 4:86341306d9d7 | 4 | DigitalIn BPL (PA_1,PullDown) ;//left |
grimwald | 4:86341306d9d7 | 5 | DigitalIn BPR(PA_2,PullDown) ;//right |
grimwald | 4:86341306d9d7 | 6 | DigitalIn BPU(PA_3,PullDown) ;//up |
grimwald | 4:86341306d9d7 | 7 | DigitalIn BPD (PA_5,PullDown) ;//down |
grimwald | 4:86341306d9d7 | 8 | DigitalOut LG (PE_8) ; // led verte |
grimwald | 4:86341306d9d7 | 9 | DigitalOut LR (PB_2) ; // led rouge |
grimwald | 2:29559ef1623d | 10 | |
grimwald | 4:86341306d9d7 | 11 | IHM_L476 ihm; // on chosis des noms qui nous serviront a appelé les fonctions dans les bibliotheque |
grimwald | 5:6ce20ff7927b | 12 | Rtc rtc; |
grimwald | 6:21be959149c3 | 13 | time_t heure_t,minute_t,seconde_t,mois_t,jour_t,annee_t;//on nomme nos valeur qui seront sous le format time_t |
grimwald | 6:21be959149c3 | 14 | Serial pc(SERIAL_TX, SERIAL_RX);//permet la communication avec le terminal en liason serie |
grimwald | 6:21be959149c3 | 15 | |
grimwald | 6:21be959149c3 | 16 | Timer tempo1,tempo2,tempo3,tempo4,tempsS; |
grimwald | 2:29559ef1623d | 17 | |
grimwald | 2:29559ef1623d | 18 | // prototype et variables globales et constantes |
grimwald | 6:21be959149c3 | 19 | static unsigned char Heure_t=23,Minute_t=59,Seconde_t = 50,Mois_t=01,Jour_t=01,Annee_t=18; // on defini l'heure/date avec une unsigned char |
grimwald | 4:86341306d9d7 | 20 | |
grimwald | 2:29559ef1623d | 21 | void automate(void); |
grimwald | 4:86341306d9d7 | 22 | |
grimwald | 2:29559ef1623d | 23 | |
grimwald | 2:29559ef1623d | 24 | |
gr91 | 0:b4a900df72eb | 25 | int main() |
gr91 | 0:b4a900df72eb | 26 | { |
grimwald | 6:21be959149c3 | 27 | |
grimwald | 4:86341306d9d7 | 28 | rtc.SetHour(Heure_t); |
grimwald | 6:21be959149c3 | 29 | rtc.SetMin(Minute_t);// On initialise l'heure , les minutes et les secondes au valeur demandes |
grimwald | 4:86341306d9d7 | 30 | rtc.SetSec(Seconde_t); |
grimwald | 6:21be959149c3 | 31 | |
grimwald | 6:21be959149c3 | 32 | rtc.SetDay(Jour_t); |
grimwald | 6:21be959149c3 | 33 | rtc.SetMon(Mois_t);//on initialise la date au valeurs demandes |
grimwald | 6:21be959149c3 | 34 | rtc.SetYear(Annee_t); |
grimwald | 6:21be959149c3 | 35 | |
grimwald | 6:21be959149c3 | 36 | ihm.LCD_printf("CLK:OS"); |
grimwald | 2:29559ef1623d | 37 | // début de l'application |
grimwald | 2:29559ef1623d | 38 | while(1) { |
grimwald | 4:86341306d9d7 | 39 | wait(0.1); |
grimwald | 2:29559ef1623d | 40 | automate(); // ce qui se produit sur top de clock |
gr91 | 1:1e5f482dad5b | 41 | } |
gr91 | 0:b4a900df72eb | 42 | } |
grimwald | 2:29559ef1623d | 43 | |
grimwald | 2:29559ef1623d | 44 | |
grimwald | 2:29559ef1623d | 45 | void automate(void) |
grimwald | 2:29559ef1623d | 46 | { |
grimwald | 2:29559ef1623d | 47 | // définition d'un type énuméré permettant de manipuler l'état de l'automate |
grimwald | 2:29559ef1623d | 48 | // par son nom |
grimwald | 6:21be959149c3 | 49 | typedef enum {Menu=0,Horloge=1,Calendrier=2,inter=3,Alarme=4,bip=5,bip2=6,Minuteur=7} type_etat; |
grimwald | 6:21be959149c3 | 50 | type_etat etat_actuel = Menu ; // déclaration état actuel init. à etat0 |
grimwald | 6:21be959149c3 | 51 | static type_etat etat_futur = Menu; // déclaration état futur |
grimwald | 6:21be959149c3 | 52 | |
grimwald | 6:21be959149c3 | 53 | int entreeb, entreeh, entreeg, entreed, entree; |
grimwald | 6:21be959149c3 | 54 | static int compteur=0; |
grimwald | 6:21be959149c3 | 55 | static int cptMenu=0; |
grimwald | 6:21be959149c3 | 56 | |
grimwald | 6:21be959149c3 | 57 | static int Heure_a=00,Minute_a =00,Seconde_a=00; // creation de mutliple variables |
grimwald | 6:21be959149c3 | 58 | static int cpt_a=0,choix_a=0; |
grimwald | 6:21be959149c3 | 59 | |
grimwald | 6:21be959149c3 | 60 | static int Heure_m=00,Minute_m =00,Seconde_m=00; |
grimwald | 6:21be959149c3 | 61 | static int cpt_m=0,choix_m=0; |
grimwald | 6:21be959149c3 | 62 | |
grimwald | 6:21be959149c3 | 63 | |
grimwald | 4:86341306d9d7 | 64 | |
grimwald | 2:29559ef1623d | 65 | // gestion des entrees |
grimwald | 5:6ce20ff7927b | 66 | entree = BPC;// c'est le bouton centre |
grimwald | 4:86341306d9d7 | 67 | entreeb = BPD;// c'est le bouton bas |
grimwald | 6:21be959149c3 | 68 | entreeh = BPU;//haut |
grimwald | 6:21be959149c3 | 69 | entreeg = BPL;//gauche |
grimwald | 6:21be959149c3 | 70 | entreed = BPR;//droit |
grimwald | 6:21be959149c3 | 71 | |
grimwald | 2:29559ef1623d | 72 | // gestion du diagramme de transition |
grimwald | 2:29559ef1623d | 73 | etat_actuel = etat_futur; // mise à jour de l'état |
grimwald | 2:29559ef1623d | 74 | // calul de l'éat futur en fonction de l'état actuel et des entrées |
grimwald | 4:86341306d9d7 | 75 | |
grimwald | 4:86341306d9d7 | 76 | |
grimwald | 2:29559ef1623d | 77 | switch(etat_actuel) { |
grimwald | 3:69c53ab43e4e | 78 | //les différents états en accord avec le diagramme de transition |
grimwald | 4:86341306d9d7 | 79 | |
grimwald | 6:21be959149c3 | 80 | case Menu : |
grimwald | 4:86341306d9d7 | 81 | |
grimwald | 6:21be959149c3 | 82 | //a chaque que j'appui sur droite ou gauche j'ajoute ou je retire 1 au compteur ensuite le programme va regarder a combien est le compteur |
grimwald | 6:21be959149c3 | 83 | //et cela correspondera a un affichage du menu ensuite il reste appuyer pour changer d'etat correspondant |
grimwald | 6:21be959149c3 | 84 | if (cptMenu == 0) { |
grimwald | 6:21be959149c3 | 85 | ihm.LCD_printf("HORLOGE\r"); |
grimwald | 6:21be959149c3 | 86 | if(entree) { |
grimwald | 6:21be959149c3 | 87 | etat_futur = Horloge; |
grimwald | 6:21be959149c3 | 88 | } |
grimwald | 4:86341306d9d7 | 89 | } |
grimwald | 6:21be959149c3 | 90 | if (cptMenu == 1) { |
grimwald | 6:21be959149c3 | 91 | ihm.LCD_printf("CALENDRIER\r"); |
grimwald | 6:21be959149c3 | 92 | if(entree) { |
grimwald | 6:21be959149c3 | 93 | etat_futur = Calendrier; |
grimwald | 6:21be959149c3 | 94 | } |
grimwald | 6:21be959149c3 | 95 | } |
grimwald | 6:21be959149c3 | 96 | if (cptMenu == 2) { |
grimwald | 6:21be959149c3 | 97 | ihm.LCD_printf("ALARME\r"); |
grimwald | 6:21be959149c3 | 98 | if(entree) { |
grimwald | 6:21be959149c3 | 99 | etat_futur = Alarme; |
grimwald | 6:21be959149c3 | 100 | } |
grimwald | 6:21be959149c3 | 101 | } |
grimwald | 6:21be959149c3 | 102 | if (cptMenu == 3) { |
grimwald | 6:21be959149c3 | 103 | ihm.LCD_printf("MINUTEUR\r"); |
grimwald | 6:21be959149c3 | 104 | if(entree) { |
grimwald | 6:21be959149c3 | 105 | etat_futur = Minuteur; |
grimwald | 6:21be959149c3 | 106 | } |
grimwald | 4:86341306d9d7 | 107 | } |
grimwald | 5:6ce20ff7927b | 108 | |
grimwald | 6:21be959149c3 | 109 | |
grimwald | 6:21be959149c3 | 110 | if(entreed) { |
grimwald | 6:21be959149c3 | 111 | cptMenu++; |
grimwald | 6:21be959149c3 | 112 | LG=1;// j'allume verte pour l'incrementation |
grimwald | 6:21be959149c3 | 113 | LR=0; |
grimwald | 6:21be959149c3 | 114 | |
grimwald | 6:21be959149c3 | 115 | |
grimwald | 6:21be959149c3 | 116 | } |
grimwald | 6:21be959149c3 | 117 | if(entreeg) { |
grimwald | 6:21be959149c3 | 118 | cptMenu--; |
grimwald | 6:21be959149c3 | 119 | LG=0;// j'allume verte pour l'incrementation |
grimwald | 6:21be959149c3 | 120 | LR=1; |
grimwald | 6:21be959149c3 | 121 | |
grimwald | 6:21be959149c3 | 122 | } |
grimwald | 6:21be959149c3 | 123 | if(cptMenu > 3 or cptMenu<0) {//si le compteur depasse une certaine valeur il revient au depart |
grimwald | 6:21be959149c3 | 124 | cptMenu=0; |
grimwald | 6:21be959149c3 | 125 | } |
grimwald | 6:21be959149c3 | 126 | if (cpt_a == 1 && Heure_a == heure_t && Minute_a == minute_t && Seconde_a == seconde_t) {//alarme |
grimwald | 6:21be959149c3 | 127 | pc.printf("bip bip"); |
grimwald | 6:21be959149c3 | 128 | etat_futur=bip; |
grimwald | 6:21be959149c3 | 129 | } |
grimwald | 6:21be959149c3 | 130 | if (cpt_m == 1 && Heure_m == 00 && Minute_m == 00 && Seconde_m == 00) {//alarme minuteur |
grimwald | 6:21be959149c3 | 131 | pc.printf("bip bip"); |
grimwald | 6:21be959149c3 | 132 | etat_futur=bip2; |
grimwald | 6:21be959149c3 | 133 | } |
grimwald | 6:21be959149c3 | 134 | break; |
grimwald | 6:21be959149c3 | 135 | |
grimwald | 6:21be959149c3 | 136 | |
grimwald | 6:21be959149c3 | 137 | case Horloge : |
grimwald | 6:21be959149c3 | 138 | |
grimwald | 6:21be959149c3 | 139 | |
grimwald | 6:21be959149c3 | 140 | if(entreed) { |
grimwald | 6:21be959149c3 | 141 | rtc.SetMin(Minute_t++); // j'incremente Minute_t |
grimwald | 6:21be959149c3 | 142 | rtc.SetSec(00);//je met les secondes a zero a chaque changement d'etat |
grimwald | 6:21be959149c3 | 143 | heure_t = rtc.GetHour(); |
grimwald | 6:21be959149c3 | 144 | rtc.SetMin(Minute_t); |
grimwald | 6:21be959149c3 | 145 | rtc.SetHour(Heure_t); |
grimwald | 6:21be959149c3 | 146 | LG=1;// j'allume verte pour l'incrementation |
grimwald | 6:21be959149c3 | 147 | LR=0; |
grimwald | 6:21be959149c3 | 148 | }//si j'appuie sur droite j'augmente les minute de 1 |
grimwald | 6:21be959149c3 | 149 | |
grimwald | 6:21be959149c3 | 150 | if(entreeg) { |
grimwald | 6:21be959149c3 | 151 | rtc.SetMin(Minute_t--);//je diminue Minute_t |
grimwald | 6:21be959149c3 | 152 | heure_t = rtc.GetHour(); |
grimwald | 6:21be959149c3 | 153 | rtc.SetMin(Minute_t); |
grimwald | 6:21be959149c3 | 154 | rtc.SetHour(Heure_t); |
grimwald | 6:21be959149c3 | 155 | rtc.SetSec(00); |
grimwald | 6:21be959149c3 | 156 | |
grimwald | 6:21be959149c3 | 157 | |
grimwald | 6:21be959149c3 | 158 | LG=0;// j'allume rouge pour la diminution |
grimwald | 6:21be959149c3 | 159 | LR=1; |
grimwald | 6:21be959149c3 | 160 | }//si j'appuie a gauche je diminue les minutes de |
grimwald | 6:21be959149c3 | 161 | |
grimwald | 6:21be959149c3 | 162 | if(entreeh) { |
grimwald | 6:21be959149c3 | 163 | rtc.SetHour(Heure_t++);//j'incremente Heure_t |
grimwald | 6:21be959149c3 | 164 | rtc.SetSec(00); |
grimwald | 6:21be959149c3 | 165 | jour_t=rtc.GetDay(); |
grimwald | 6:21be959149c3 | 166 | minute_t = rtc.GetMin(); |
grimwald | 6:21be959149c3 | 167 | rtc.SetMin(Minute_t); |
grimwald | 6:21be959149c3 | 168 | rtc.SetHour(Heure_t); |
grimwald | 6:21be959149c3 | 169 | |
grimwald | 6:21be959149c3 | 170 | LG=1;// j'allume verte pour l'incrementation |
grimwald | 6:21be959149c3 | 171 | LR=0; |
grimwald | 6:21be959149c3 | 172 | |
grimwald | 6:21be959149c3 | 173 | }//si j'appuie sur haut j'augmente les heures de 1 |
grimwald | 6:21be959149c3 | 174 | |
grimwald | 6:21be959149c3 | 175 | else if(entreeb) { |
grimwald | 6:21be959149c3 | 176 | rtc.SetHour(Heure_t--); |
grimwald | 6:21be959149c3 | 177 | rtc.SetSec(00); |
grimwald | 6:21be959149c3 | 178 | jour_t=rtc.GetDay(); |
grimwald | 6:21be959149c3 | 179 | minute_t = rtc.GetMin(); |
grimwald | 6:21be959149c3 | 180 | rtc.SetHour(Heure_t); |
grimwald | 6:21be959149c3 | 181 | rtc.SetMin(Minute_t); |
grimwald | 6:21be959149c3 | 182 | |
grimwald | 6:21be959149c3 | 183 | LG=0; |
grimwald | 6:21be959149c3 | 184 | LR=1;// j'allume rouge pour la diminution |
grimwald | 6:21be959149c3 | 185 | }//si j'appuie en bas je diminue les heures de 1 |
grimwald | 6:21be959149c3 | 186 | |
grimwald | 6:21be959149c3 | 187 | |
grimwald | 6:21be959149c3 | 188 | if(entree)etat_futur=inter; |
grimwald | 6:21be959149c3 | 189 | if (cpt_a == 1 && Heure_a == heure_t && Minute_a == minute_t && Seconde_a == seconde_t) { |
grimwald | 6:21be959149c3 | 190 | pc.printf("bip bip"); |
grimwald | 6:21be959149c3 | 191 | etat_futur=bip; |
grimwald | 6:21be959149c3 | 192 | } |
grimwald | 6:21be959149c3 | 193 | if (cpt_m == 1 && Heure_m == 00 && Minute_m == 00 && Seconde_m == 00) { |
grimwald | 6:21be959149c3 | 194 | pc.printf("bip bip"); |
grimwald | 6:21be959149c3 | 195 | etat_futur=bip2; |
grimwald | 4:86341306d9d7 | 196 | } |
grimwald | 3:69c53ab43e4e | 197 | break; |
grimwald | 5:6ce20ff7927b | 198 | |
grimwald | 5:6ce20ff7927b | 199 | |
grimwald | 6:21be959149c3 | 200 | |
grimwald | 6:21be959149c3 | 201 | case Calendrier: |
grimwald | 6:21be959149c3 | 202 | rtc.SetDay(Jour_t);//j'incremente Jour_t |
grimwald | 6:21be959149c3 | 203 | |
grimwald | 6:21be959149c3 | 204 | |
grimwald | 6:21be959149c3 | 205 | rtc.SetMon(Mois_t); |
grimwald | 6:21be959149c3 | 206 | |
grimwald | 6:21be959149c3 | 207 | mois_t=rtc.GetMon(); |
grimwald | 6:21be959149c3 | 208 | jour_t=rtc.GetDay(); |
grimwald | 6:21be959149c3 | 209 | |
grimwald | 6:21be959149c3 | 210 | if(compteur==0) { |
grimwald | 6:21be959149c3 | 211 | ihm.BAR_set(1); |
grimwald | 6:21be959149c3 | 212 | if(entreeh) { |
grimwald | 6:21be959149c3 | 213 | rtc.SetDay(Jour_t++);//j'incremente Jour_t |
grimwald | 6:21be959149c3 | 214 | |
grimwald | 6:21be959149c3 | 215 | |
grimwald | 6:21be959149c3 | 216 | rtc.SetMon(Mois_t); |
grimwald | 6:21be959149c3 | 217 | |
grimwald | 6:21be959149c3 | 218 | mois_t=rtc.GetMon(); |
grimwald | 6:21be959149c3 | 219 | jour_t=rtc.GetDay(); |
grimwald | 6:21be959149c3 | 220 | |
grimwald | 6:21be959149c3 | 221 | LG=1;// j'allume verte pour l'incrementation |
grimwald | 6:21be959149c3 | 222 | LR=0; |
grimwald | 6:21be959149c3 | 223 | } else if (entreeb) { |
grimwald | 6:21be959149c3 | 224 | rtc.SetDay(Jour_t--); |
grimwald | 6:21be959149c3 | 225 | jour_t=rtc.GetDay(); |
grimwald | 6:21be959149c3 | 226 | rtc.SetMon(Mois_t); |
grimwald | 6:21be959149c3 | 227 | mois_t=rtc.GetMon(); |
grimwald | 6:21be959149c3 | 228 | |
grimwald | 6:21be959149c3 | 229 | LG=0; |
grimwald | 6:21be959149c3 | 230 | LR=1; |
grimwald | 6:21be959149c3 | 231 | } |
grimwald | 6:21be959149c3 | 232 | } else if(compteur==1) { |
grimwald | 6:21be959149c3 | 233 | ihm.BAR_set(2); |
grimwald | 6:21be959149c3 | 234 | if(entreeh) { |
grimwald | 6:21be959149c3 | 235 | rtc.SetMon(Mois_t++); |
grimwald | 6:21be959149c3 | 236 | |
grimwald | 6:21be959149c3 | 237 | mois_t=rtc.GetMon(); |
grimwald | 6:21be959149c3 | 238 | jour_t=rtc.GetDay(); |
grimwald | 6:21be959149c3 | 239 | rtc.SetDay(Jour_t); |
grimwald | 6:21be959149c3 | 240 | |
grimwald | 6:21be959149c3 | 241 | |
grimwald | 6:21be959149c3 | 242 | |
grimwald | 6:21be959149c3 | 243 | LG=1; |
grimwald | 6:21be959149c3 | 244 | LR=0; |
grimwald | 6:21be959149c3 | 245 | } else if (entreeb) { |
grimwald | 6:21be959149c3 | 246 | rtc.SetMon(Mois_t--); |
grimwald | 6:21be959149c3 | 247 | |
grimwald | 6:21be959149c3 | 248 | mois_t=rtc.GetMon(); |
grimwald | 6:21be959149c3 | 249 | rtc.SetDay(Jour_t); |
grimwald | 6:21be959149c3 | 250 | |
grimwald | 6:21be959149c3 | 251 | jour_t=rtc.GetDay(); |
grimwald | 6:21be959149c3 | 252 | |
grimwald | 6:21be959149c3 | 253 | |
grimwald | 6:21be959149c3 | 254 | LG=0; |
grimwald | 6:21be959149c3 | 255 | LR=1; |
grimwald | 6:21be959149c3 | 256 | } |
grimwald | 6:21be959149c3 | 257 | }//si j'appuie sur haut j'augmente les heures de 1 |
grimwald | 6:21be959149c3 | 258 | /** else if(compteur==2) { |
grimwald | 6:21be959149c3 | 259 | ihm.BAR_set(4); |
grimwald | 6:21be959149c3 | 260 | if(entreeh) { |
grimwald | 6:21be959149c3 | 261 | rtc.SetYear(Annee_t++);//j'incremente Heure_t |
grimwald | 6:21be959149c3 | 262 | |
grimwald | 6:21be959149c3 | 263 | annee_t=rtc.GetYear(); |
grimwald | 6:21be959149c3 | 264 | |
grimwald | 6:21be959149c3 | 265 | |
grimwald | 6:21be959149c3 | 266 | |
grimwald | 6:21be959149c3 | 267 | jour_t=rtc.GetDay(); |
grimwald | 6:21be959149c3 | 268 | |
grimwald | 6:21be959149c3 | 269 | |
grimwald | 6:21be959149c3 | 270 | |
grimwald | 6:21be959149c3 | 271 | mois_t=rtc.GetMon(); |
grimwald | 6:21be959149c3 | 272 | LG=1;// j'allume verte pour l'incrementation |
grimwald | 6:21be959149c3 | 273 | LR=0; |
grimwald | 6:21be959149c3 | 274 | } |
grimwald | 6:21be959149c3 | 275 | if (entreeb) { |
grimwald | 6:21be959149c3 | 276 | rtc.SetYear(Annee_t--);//j'incremente Heure_t |
grimwald | 6:21be959149c3 | 277 | |
grimwald | 6:21be959149c3 | 278 | annee_t=rtc.GetYear(); |
grimwald | 6:21be959149c3 | 279 | |
grimwald | 6:21be959149c3 | 280 | |
grimwald | 6:21be959149c3 | 281 | jour_t=rtc.GetDay(); |
grimwald | 6:21be959149c3 | 282 | |
grimwald | 6:21be959149c3 | 283 | |
grimwald | 6:21be959149c3 | 284 | |
grimwald | 6:21be959149c3 | 285 | mois_t=rtc.GetMon(); |
grimwald | 6:21be959149c3 | 286 | LG=0;// j'allume verte pour l'incrementation |
grimwald | 6:21be959149c3 | 287 | LR=1; |
grimwald | 6:21be959149c3 | 288 | } |
grimwald | 6:21be959149c3 | 289 | } |
grimwald | 6:21be959149c3 | 290 | **/ |
grimwald | 6:21be959149c3 | 291 | //En fonction de l'appui sur droite ou gauche je change la valeur du compteur et certaine corresponde soit au jour , mois ou année |
grimwald | 6:21be959149c3 | 292 | if(entreed) { |
grimwald | 6:21be959149c3 | 293 | compteur++; |
grimwald | 6:21be959149c3 | 294 | |
grimwald | 6:21be959149c3 | 295 | LG=1;// j'allume verte pour l'incrementation |
grimwald | 6:21be959149c3 | 296 | LR=0; |
grimwald | 6:21be959149c3 | 297 | |
grimwald | 6:21be959149c3 | 298 | |
grimwald | 6:21be959149c3 | 299 | } |
grimwald | 6:21be959149c3 | 300 | if(entreeg) { |
grimwald | 6:21be959149c3 | 301 | compteur--; |
grimwald | 6:21be959149c3 | 302 | |
grimwald | 6:21be959149c3 | 303 | LG=0; |
grimwald | 6:21be959149c3 | 304 | LR=1; |
grimwald | 6:21be959149c3 | 305 | |
grimwald | 6:21be959149c3 | 306 | } |
grimwald | 6:21be959149c3 | 307 | |
grimwald | 6:21be959149c3 | 308 | |
grimwald | 6:21be959149c3 | 309 | |
grimwald | 6:21be959149c3 | 310 | |
grimwald | 6:21be959149c3 | 311 | if(compteur > 2 or compteur<0) { |
grimwald | 6:21be959149c3 | 312 | compteur=0; |
grimwald | 6:21be959149c3 | 313 | } |
grimwald | 6:21be959149c3 | 314 | if(entree)etat_futur=inter; |
grimwald | 6:21be959149c3 | 315 | if (cpt_a == 1 && Heure_a == heure_t && Minute_a == minute_t && Seconde_a == seconde_t) { |
grimwald | 6:21be959149c3 | 316 | pc.printf("bip bip"); |
grimwald | 6:21be959149c3 | 317 | etat_futur=bip; |
grimwald | 6:21be959149c3 | 318 | } |
grimwald | 6:21be959149c3 | 319 | if (cpt_m == 1 && Heure_m == 00 && Minute_m == 00 && Seconde_m == 00) { |
grimwald | 6:21be959149c3 | 320 | pc.printf("bip bip"); |
grimwald | 6:21be959149c3 | 321 | etat_futur=bip2; |
grimwald | 6:21be959149c3 | 322 | } |
grimwald | 6:21be959149c3 | 323 | |
grimwald | 4:86341306d9d7 | 324 | break; |
grimwald | 6:21be959149c3 | 325 | case inter: |
grimwald | 6:21be959149c3 | 326 | if(entree)etat_futur=inter; |
grimwald | 6:21be959149c3 | 327 | if(!entree)etat_futur=Menu; // test pour avoir un ecran eteint quand on reste appuyé au retour au menu |
grimwald | 2:29559ef1623d | 328 | break; |
grimwald | 4:86341306d9d7 | 329 | |
grimwald | 6:21be959149c3 | 330 | case Alarme: |
grimwald | 6:21be959149c3 | 331 | heure_t = rtc.GetHour(); |
grimwald | 6:21be959149c3 | 332 | minute_t = rtc.GetMin();//J'utilise les valeurs qui ont été etablie avant et je les met dans des variables |
grimwald | 6:21be959149c3 | 333 | |
grimwald | 6:21be959149c3 | 334 | |
grimwald | 6:21be959149c3 | 335 | //pc.printf("%d\n",cpt_a); |
grimwald | 6:21be959149c3 | 336 | // en fonction de la valeur de choix_a on va selectionner soit les heure , minute ou seconde et avec la possibiliés de les modifier |
grimwald | 6:21be959149c3 | 337 | if (entreed) { |
grimwald | 6:21be959149c3 | 338 | choix_a++; |
grimwald | 6:21be959149c3 | 339 | } |
grimwald | 6:21be959149c3 | 340 | if (choix_a == 0) { |
grimwald | 6:21be959149c3 | 341 | LG=1; |
grimwald | 6:21be959149c3 | 342 | LR=0; |
grimwald | 6:21be959149c3 | 343 | if(entreeh) { |
grimwald | 6:21be959149c3 | 344 | Heure_a++; |
grimwald | 6:21be959149c3 | 345 | } else if(entreeb) { |
grimwald | 6:21be959149c3 | 346 | Heure_a--; |
grimwald | 6:21be959149c3 | 347 | } |
grimwald | 6:21be959149c3 | 348 | } |
grimwald | 4:86341306d9d7 | 349 | |
grimwald | 6:21be959149c3 | 350 | else if (choix_a == 1) { |
grimwald | 6:21be959149c3 | 351 | LG=0; |
grimwald | 6:21be959149c3 | 352 | LR=1; |
grimwald | 6:21be959149c3 | 353 | if(entreeh) { |
grimwald | 6:21be959149c3 | 354 | Minute_a++; |
grimwald | 6:21be959149c3 | 355 | } else if(entreeb) { |
grimwald | 6:21be959149c3 | 356 | Minute_a--; |
grimwald | 6:21be959149c3 | 357 | } |
grimwald | 6:21be959149c3 | 358 | } else if (choix_a == 2) { |
grimwald | 6:21be959149c3 | 359 | LG=0; |
grimwald | 6:21be959149c3 | 360 | LR=0; |
grimwald | 6:21be959149c3 | 361 | if(entreeh) { |
grimwald | 6:21be959149c3 | 362 | Seconde_a++; |
grimwald | 6:21be959149c3 | 363 | } else if(entreeb) { |
grimwald | 6:21be959149c3 | 364 | Seconde_a--; |
grimwald | 6:21be959149c3 | 365 | } |
grimwald | 6:21be959149c3 | 366 | } |
grimwald | 6:21be959149c3 | 367 | |
grimwald | 6:21be959149c3 | 368 | // en appuyant sur gauche on met l'alarme soit sur off ou on |
grimwald | 6:21be959149c3 | 369 | if (entreeg) { |
grimwald | 6:21be959149c3 | 370 | cpt_a++; |
grimwald | 6:21be959149c3 | 371 | } |
grimwald | 6:21be959149c3 | 372 | if (cpt_a==0) { |
grimwald | 6:21be959149c3 | 373 | //OFF |
grimwald | 6:21be959149c3 | 374 | ihm.BAR_set(1); |
grimwald | 6:21be959149c3 | 375 | |
grimwald | 6:21be959149c3 | 376 | } |
grimwald | 6:21be959149c3 | 377 | |
grimwald | 6:21be959149c3 | 378 | else if (cpt_a==1) { |
grimwald | 6:21be959149c3 | 379 | //ON |
grimwald | 6:21be959149c3 | 380 | ihm.BAR_set(2); |
grimwald | 6:21be959149c3 | 381 | |
grimwald | 6:21be959149c3 | 382 | } |
grimwald | 6:21be959149c3 | 383 | // si l'alarme est ON est que le temps voulu correspond au temps actuel l'alarme sonne |
grimwald | 6:21be959149c3 | 384 | if (cpt_a == 1 && Heure_a == heure_t && Minute_a == minute_t && Seconde_a == seconde_t) { |
grimwald | 6:21be959149c3 | 385 | pc.printf("bip bip"); |
grimwald | 6:21be959149c3 | 386 | etat_futur=bip; |
grimwald | 6:21be959149c3 | 387 | } |
grimwald | 6:21be959149c3 | 388 | if (cpt_m == 1 && Heure_m == 00 && Minute_m == 00 && Seconde_m == 00) { |
grimwald | 6:21be959149c3 | 389 | pc.printf("bip bip"); |
grimwald | 6:21be959149c3 | 390 | etat_futur=bip2; |
grimwald | 6:21be959149c3 | 391 | } |
grimwald | 4:86341306d9d7 | 392 | |
grimwald | 4:86341306d9d7 | 393 | |
grimwald | 6:21be959149c3 | 394 | // pour definir le temps |
grimwald | 6:21be959149c3 | 395 | if (Heure_a > 23 or Heure_a < 00) { |
grimwald | 6:21be959149c3 | 396 | Heure_a = 00; |
grimwald | 6:21be959149c3 | 397 | } |
grimwald | 6:21be959149c3 | 398 | if (Minute_a > 59 or Minute_a < 00) { |
grimwald | 6:21be959149c3 | 399 | Minute_a = 00; |
grimwald | 6:21be959149c3 | 400 | } |
grimwald | 6:21be959149c3 | 401 | if (Seconde_a > 59 or Seconde_a < 00) { |
grimwald | 6:21be959149c3 | 402 | Seconde_a = 00; |
grimwald | 6:21be959149c3 | 403 | } |
grimwald | 6:21be959149c3 | 404 | if (choix_a >2 or choix_a<0) { |
grimwald | 6:21be959149c3 | 405 | choix_a = 0; |
grimwald | 6:21be959149c3 | 406 | } |
grimwald | 6:21be959149c3 | 407 | if (cpt_a >1 or cpt_a<0) { |
grimwald | 6:21be959149c3 | 408 | cpt_a = 0; |
grimwald | 6:21be959149c3 | 409 | } |
grimwald | 6:21be959149c3 | 410 | |
grimwald | 6:21be959149c3 | 411 | if(entree)etat_futur=inter; |
grimwald | 6:21be959149c3 | 412 | break; |
grimwald | 6:21be959149c3 | 413 | // deux alarme |
grimwald | 6:21be959149c3 | 414 | case bip : |
grimwald | 6:21be959149c3 | 415 | if (entree) { |
grimwald | 6:21be959149c3 | 416 | cpt_a=0; |
grimwald | 6:21be959149c3 | 417 | etat_futur=Menu; |
grimwald | 6:21be959149c3 | 418 | } |
grimwald | 6:21be959149c3 | 419 | break; |
grimwald | 6:21be959149c3 | 420 | case bip2 : |
grimwald | 6:21be959149c3 | 421 | if (entree) { |
grimwald | 6:21be959149c3 | 422 | cpt_m=0; |
grimwald | 6:21be959149c3 | 423 | etat_futur=Menu; |
grimwald | 6:21be959149c3 | 424 | } |
grimwald | 6:21be959149c3 | 425 | break; |
grimwald | 6:21be959149c3 | 426 | case Minuteur : |
grimwald | 6:21be959149c3 | 427 | |
grimwald | 6:21be959149c3 | 428 | // meme fonctionnement que l'alarme ici on regle le temps souhaite et on le met sur on ce qui va faire que le décompte va commence |
grimwald | 6:21be959149c3 | 429 | if (entreed) { |
grimwald | 6:21be959149c3 | 430 | choix_m++; |
grimwald | 6:21be959149c3 | 431 | } |
grimwald | 6:21be959149c3 | 432 | if (choix_m == 0) { |
grimwald | 6:21be959149c3 | 433 | LG=1; |
grimwald | 6:21be959149c3 | 434 | LR=0; |
grimwald | 6:21be959149c3 | 435 | if(entreeh) { |
grimwald | 6:21be959149c3 | 436 | Heure_m++; |
grimwald | 6:21be959149c3 | 437 | } else if(entreeb) { |
grimwald | 6:21be959149c3 | 438 | Heure_m--; |
grimwald | 6:21be959149c3 | 439 | } |
grimwald | 6:21be959149c3 | 440 | } |
grimwald | 6:21be959149c3 | 441 | |
grimwald | 6:21be959149c3 | 442 | else if (choix_m == 1) { |
grimwald | 6:21be959149c3 | 443 | LG=0; |
grimwald | 6:21be959149c3 | 444 | LR=1; |
grimwald | 6:21be959149c3 | 445 | if(entreeh) { |
grimwald | 6:21be959149c3 | 446 | Minute_m++; |
grimwald | 6:21be959149c3 | 447 | } else if(entreeb) { |
grimwald | 6:21be959149c3 | 448 | Minute_m--; |
grimwald | 6:21be959149c3 | 449 | } |
grimwald | 6:21be959149c3 | 450 | } else if (choix_m == 2) { |
grimwald | 6:21be959149c3 | 451 | LG=0; |
grimwald | 6:21be959149c3 | 452 | LR=0; |
grimwald | 6:21be959149c3 | 453 | if(entreeh) { |
grimwald | 6:21be959149c3 | 454 | Seconde_m++; |
grimwald | 6:21be959149c3 | 455 | } else if(entreeb) { |
grimwald | 6:21be959149c3 | 456 | Seconde_m--; |
grimwald | 6:21be959149c3 | 457 | } |
grimwald | 6:21be959149c3 | 458 | } |
grimwald | 6:21be959149c3 | 459 | |
grimwald | 6:21be959149c3 | 460 | |
grimwald | 6:21be959149c3 | 461 | if (entreeg) { |
grimwald | 6:21be959149c3 | 462 | cpt_m++; |
grimwald | 6:21be959149c3 | 463 | } |
grimwald | 6:21be959149c3 | 464 | if (cpt_m==0) { |
grimwald | 6:21be959149c3 | 465 | //OFF |
grimwald | 6:21be959149c3 | 466 | ihm.BAR_set(1); |
grimwald | 6:21be959149c3 | 467 | |
grimwald | 6:21be959149c3 | 468 | tempsS.reset(); |
grimwald | 6:21be959149c3 | 469 | |
grimwald | 6:21be959149c3 | 470 | } |
grimwald | 6:21be959149c3 | 471 | |
grimwald | 6:21be959149c3 | 472 | else if (cpt_m==1) { |
grimwald | 6:21be959149c3 | 473 | //ON |
grimwald | 6:21be959149c3 | 474 | ihm.BAR_set(2); |
grimwald | 6:21be959149c3 | 475 | |
grimwald | 6:21be959149c3 | 476 | tempsS.start(); |
grimwald | 6:21be959149c3 | 477 | |
grimwald | 6:21be959149c3 | 478 | } |
grimwald | 6:21be959149c3 | 479 | // si le minuteur est sur on est que le decompte arrive a 0 alors l'alarme se declenche |
grimwald | 6:21be959149c3 | 480 | if (cpt_m == 1 && Heure_m == 00 && Minute_m == 00 && Seconde_m == 00) { |
grimwald | 6:21be959149c3 | 481 | pc.printf("bip bip"); |
grimwald | 6:21be959149c3 | 482 | etat_futur=bip2; |
grimwald | 6:21be959149c3 | 483 | } |
grimwald | 6:21be959149c3 | 484 | if (cpt_a == 1 && Heure_a == heure_t && Minute_a == minute_t && Seconde_a == seconde_t) { |
grimwald | 6:21be959149c3 | 485 | pc.printf("bip bip"); |
grimwald | 6:21be959149c3 | 486 | etat_futur=bip; |
grimwald | 6:21be959149c3 | 487 | } |
grimwald | 6:21be959149c3 | 488 | |
grimwald | 6:21be959149c3 | 489 | |
grimwald | 6:21be959149c3 | 490 | |
grimwald | 6:21be959149c3 | 491 | if (Heure_m > 23 or Heure_m < 00) { |
grimwald | 6:21be959149c3 | 492 | Heure_m = 00; |
grimwald | 6:21be959149c3 | 493 | } |
grimwald | 6:21be959149c3 | 494 | if (Minute_m > 59 or Minute_m < 00) { |
grimwald | 6:21be959149c3 | 495 | Minute_m = 00; |
grimwald | 6:21be959149c3 | 496 | } |
grimwald | 6:21be959149c3 | 497 | if (Seconde_m > 59 or Seconde_m < 00) { |
grimwald | 6:21be959149c3 | 498 | Seconde_m = 00; |
grimwald | 6:21be959149c3 | 499 | } |
grimwald | 6:21be959149c3 | 500 | if (choix_m >2 or choix_m<0) { |
grimwald | 6:21be959149c3 | 501 | choix_m = 0; |
grimwald | 6:21be959149c3 | 502 | } |
grimwald | 6:21be959149c3 | 503 | if (cpt_m >1 or cpt_m<0) { |
grimwald | 6:21be959149c3 | 504 | cpt_m = 0; |
grimwald | 6:21be959149c3 | 505 | } |
grimwald | 6:21be959149c3 | 506 | |
grimwald | 6:21be959149c3 | 507 | // partie ou le prog gere la gestion du decompte en fonction d'un chrono interne |
grimwald | 6:21be959149c3 | 508 | if(tempsS.read() >=1) { |
grimwald | 6:21be959149c3 | 509 | Seconde_m--; |
grimwald | 6:21be959149c3 | 510 | tempsS.reset(); |
grimwald | 6:21be959149c3 | 511 | } |
grimwald | 6:21be959149c3 | 512 | if (cpt_m == 1 && Minute_m>00 && Seconde_m < 00) { |
grimwald | 6:21be959149c3 | 513 | Minute_m--; |
grimwald | 6:21be959149c3 | 514 | Seconde_m = 59; |
grimwald | 6:21be959149c3 | 515 | |
grimwald | 6:21be959149c3 | 516 | |
grimwald | 6:21be959149c3 | 517 | } |
grimwald | 6:21be959149c3 | 518 | if (cpt_m == 1 && Heure_m>00 && Minute_m == 00 && Seconde_m < 00 ) { |
grimwald | 6:21be959149c3 | 519 | Heure_m--; |
grimwald | 6:21be959149c3 | 520 | Minute_m = 59; |
grimwald | 6:21be959149c3 | 521 | Seconde_m = 59; |
grimwald | 6:21be959149c3 | 522 | |
grimwald | 6:21be959149c3 | 523 | |
grimwald | 6:21be959149c3 | 524 | |
grimwald | 6:21be959149c3 | 525 | } |
grimwald | 6:21be959149c3 | 526 | |
grimwald | 6:21be959149c3 | 527 | |
grimwald | 6:21be959149c3 | 528 | if(entree)etat_futur=inter; |
grimwald | 6:21be959149c3 | 529 | break; |
grimwald | 4:86341306d9d7 | 530 | |
grimwald | 4:86341306d9d7 | 531 | |
grimwald | 2:29559ef1623d | 532 | } |
grimwald | 2:29559ef1623d | 533 | // valeurs des sorties en fonction de l'état actuel |
grimwald | 2:29559ef1623d | 534 | switch(etat_actuel) { |
grimwald | 4:86341306d9d7 | 535 | |
grimwald | 4:86341306d9d7 | 536 | |
grimwald | 6:21be959149c3 | 537 | // a chaque etat je reprend l'information sur le temps pour l'avoir toujours a jour |
grimwald | 6:21be959149c3 | 538 | case Horloge : |
grimwald | 6:21be959149c3 | 539 | pc.printf("%02u:%02u:%02u\n",heure_t,minute_t,seconde_t);//debug |
grimwald | 6:21be959149c3 | 540 | pc.printf("%02u:%02u:%02u\n",Heure_a,Minute_a,Seconde_a); |
grimwald | 6:21be959149c3 | 541 | pc.printf("%d\n",cpt_a); |
grimwald | 6:21be959149c3 | 542 | ihm.BAR_set(0); |
grimwald | 6:21be959149c3 | 543 | heure_t = rtc.GetHour(); |
grimwald | 6:21be959149c3 | 544 | minute_t = rtc.GetMin();//J'utilise les valeurs qui ont été etablie avant et je les met dans des variables |
grimwald | 6:21be959149c3 | 545 | seconde_t = rtc.GetSec(); |
grimwald | 4:86341306d9d7 | 546 | |
grimwald | 6:21be959149c3 | 547 | jour_t=rtc.GetDay(); |
grimwald | 6:21be959149c3 | 548 | mois_t=rtc.GetMon(); |
grimwald | 6:21be959149c3 | 549 | annee_t=rtc.GetYear(); |
grimwald | 6:21be959149c3 | 550 | ihm.LCD_printf("%02u:%02u:%02u",heure_t,minute_t,seconde_t); |
grimwald | 6:21be959149c3 | 551 | LG=0;// je met les leds a 0 pour un effet de clignotement |
grimwald | 6:21be959149c3 | 552 | LR=0; |
grimwald | 6:21be959149c3 | 553 | break; |
grimwald | 6:21be959149c3 | 554 | |
grimwald | 6:21be959149c3 | 555 | case Calendrier: |
grimwald | 6:21be959149c3 | 556 | pc.printf("%02u:%02u:%02u\n",heure_t,minute_t,seconde_t);//debug |
grimwald | 6:21be959149c3 | 557 | pc.printf("%02u:%02u:%02u\n",Heure_a,Minute_a,Seconde_a); |
grimwald | 6:21be959149c3 | 558 | pc.printf("%d\n",cpt_a); |
grimwald | 6:21be959149c3 | 559 | |
grimwald | 6:21be959149c3 | 560 | jour_t=rtc.GetDay(); |
grimwald | 6:21be959149c3 | 561 | mois_t=rtc.GetMon(); |
grimwald | 6:21be959149c3 | 562 | annee_t=rtc.GetYear(); |
grimwald | 6:21be959149c3 | 563 | |
grimwald | 6:21be959149c3 | 564 | heure_t = rtc.GetHour(); |
grimwald | 6:21be959149c3 | 565 | minute_t = rtc.GetMin();//J'utilise les valeurs qui ont été etablie avant et je les met dans des variables |
grimwald | 6:21be959149c3 | 566 | seconde_t = rtc.GetSec(); |
grimwald | 6:21be959149c3 | 567 | |
grimwald | 6:21be959149c3 | 568 | ihm.LCD_printf("%d:%d:%d",jour_t,mois_t); |
grimwald | 6:21be959149c3 | 569 | pc.printf("%d\n",annee_t); |
grimwald | 6:21be959149c3 | 570 | LG=0;// je met les leds a 0 pour un effet de clignotement |
grimwald | 6:21be959149c3 | 571 | LR=0; |
grimwald | 6:21be959149c3 | 572 | break; |
grimwald | 6:21be959149c3 | 573 | case Menu: |
grimwald | 6:21be959149c3 | 574 | pc.printf("%02u:%02u:%02u\n",heure_t,minute_t,seconde_t); |
grimwald | 6:21be959149c3 | 575 | pc.printf("%02u:%02u:%02u\n",Heure_a,Minute_a,Seconde_a);//debug |
grimwald | 6:21be959149c3 | 576 | pc.printf("%d\n",cpt_a); |
grimwald | 6:21be959149c3 | 577 | |
grimwald | 2:29559ef1623d | 578 | ihm.BAR_set(0); |
grimwald | 6:21be959149c3 | 579 | heure_t = rtc.GetHour(); |
grimwald | 5:6ce20ff7927b | 580 | minute_t = rtc.GetMin();//J'utilise les valeurs qui ont été etablie avant et je les met dans des variables |
grimwald | 5:6ce20ff7927b | 581 | seconde_t = rtc.GetSec(); |
grimwald | 6:21be959149c3 | 582 | |
grimwald | 6:21be959149c3 | 583 | jour_t=rtc.GetDay(); |
grimwald | 6:21be959149c3 | 584 | mois_t=rtc.GetMon(); |
grimwald | 6:21be959149c3 | 585 | annee_t=rtc.GetYear(); |
grimwald | 6:21be959149c3 | 586 | break; |
grimwald | 6:21be959149c3 | 587 | case Alarme: |
grimwald | 6:21be959149c3 | 588 | pc.printf("%02u:%02u:%02u\n",heure_t,minute_t,seconde_t);//debug |
grimwald | 6:21be959149c3 | 589 | pc.printf("%02u:%02u:%02u\n",Heure_a,Minute_a,Seconde_a); |
grimwald | 6:21be959149c3 | 590 | pc.printf("%d\n",cpt_a); |
grimwald | 6:21be959149c3 | 591 | |
grimwald | 6:21be959149c3 | 592 | |
grimwald | 6:21be959149c3 | 593 | ihm.LCD_printf("%02u:%02u:%02u",Heure_a,Minute_a,Seconde_a); |
grimwald | 6:21be959149c3 | 594 | break; |
grimwald | 6:21be959149c3 | 595 | |
grimwald | 6:21be959149c3 | 596 | case inter: |
grimwald | 6:21be959149c3 | 597 | ihm.LCD_clear(); |
grimwald | 6:21be959149c3 | 598 | break; |
grimwald | 6:21be959149c3 | 599 | case bip: |
grimwald | 6:21be959149c3 | 600 | pc.printf("%02u:%02u:%02u\n",heure_t,minute_t,seconde_t);//debug |
grimwald | 6:21be959149c3 | 601 | pc.printf("%02u:%02u:%02u\n",Heure_a,Minute_a,Seconde_a); |
grimwald | 4:86341306d9d7 | 602 | LR=0; |
grimwald | 6:21be959149c3 | 603 | LG=0; |
grimwald | 6:21be959149c3 | 604 | tempo1.start(); |
grimwald | 6:21be959149c3 | 605 | tempo2.start(); |
grimwald | 6:21be959149c3 | 606 | |
grimwald | 6:21be959149c3 | 607 | //je cree un clignotement pour simuler ue alarme et je precise quelle alarme |
grimwald | 6:21be959149c3 | 608 | |
grimwald | 6:21be959149c3 | 609 | if(tempo1.read_ms()>500) { |
grimwald | 6:21be959149c3 | 610 | LR=!LR; |
grimwald | 6:21be959149c3 | 611 | ihm.LCD_printf("BIPALA"); |
grimwald | 6:21be959149c3 | 612 | tempo1.reset(); |
grimwald | 6:21be959149c3 | 613 | } |
grimwald | 6:21be959149c3 | 614 | if(tempo2.read_ms()>500) { |
grimwald | 6:21be959149c3 | 615 | LG=!LG; |
grimwald | 6:21be959149c3 | 616 | ihm.LCD_printf("BIPALA"); |
grimwald | 6:21be959149c3 | 617 | tempo2.reset(); |
grimwald | 6:21be959149c3 | 618 | } |
grimwald | 6:21be959149c3 | 619 | break; |
grimwald | 6:21be959149c3 | 620 | case bip2: |
grimwald | 6:21be959149c3 | 621 | pc.printf("%02u:%02u:%02u\n",heure_t,minute_t,seconde_t); |
grimwald | 6:21be959149c3 | 622 | pc.printf("%02u:%02u:%02u\n",Heure_a,Minute_a,Seconde_a); |
grimwald | 6:21be959149c3 | 623 | LR=0; |
grimwald | 6:21be959149c3 | 624 | LG=0; |
grimwald | 6:21be959149c3 | 625 | tempo3.start(); |
grimwald | 6:21be959149c3 | 626 | tempo4.start(); |
grimwald | 6:21be959149c3 | 627 | //je cree un clignotement pour simuler ue alarme et je precise quelle alarme |
grimwald | 6:21be959149c3 | 628 | |
grimwald | 6:21be959149c3 | 629 | if(tempo3.read_ms()>500) { |
grimwald | 6:21be959149c3 | 630 | LR=!LR; |
grimwald | 6:21be959149c3 | 631 | ihm.LCD_printf("BIPMIN"); |
grimwald | 6:21be959149c3 | 632 | tempo3.reset(); |
grimwald | 6:21be959149c3 | 633 | } |
grimwald | 6:21be959149c3 | 634 | if(tempo4.read_ms()>500) { |
grimwald | 6:21be959149c3 | 635 | LG=!LG; |
grimwald | 6:21be959149c3 | 636 | ihm.LCD_printf("BIPMIN"); |
grimwald | 6:21be959149c3 | 637 | tempo4.reset(); |
grimwald | 6:21be959149c3 | 638 | } |
grimwald | 6:21be959149c3 | 639 | break; |
grimwald | 6:21be959149c3 | 640 | case Minuteur : |
grimwald | 6:21be959149c3 | 641 | ihm.LCD_printf("%02u:%02u:%02u",Heure_m,Minute_m,Seconde_m); |
grimwald | 6:21be959149c3 | 642 | |
grimwald | 6:21be959149c3 | 643 | pc.printf("S=%02f\n\r",tempsS.read()); |
grimwald | 5:6ce20ff7927b | 644 | |
grimwald | 2:29559ef1623d | 645 | break; |
grimwald | 4:86341306d9d7 | 646 | |
grimwald | 4:86341306d9d7 | 647 | |
grimwald | 2:29559ef1623d | 648 | } |
grimwald | 2:29559ef1623d | 649 | } |