Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: ihm_L476_full RTC_IUT
Revision 6:21be959149c3, committed 2020-08-30
- Comitter:
- grimwald
- Date:
- Sun Aug 30 12:38:39 2020 +0000
- Parent:
- 5:6ce20ff7927b
- Commit message:
- Clock;
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Mon Jul 27 12:35:15 2020 +0000
+++ b/main.cpp Sun Aug 30 12:38:39 2020 +0000
@@ -10,10 +10,13 @@
IHM_L476 ihm; // on chosis des noms qui nous serviront a appelé les fonctions dans les bibliotheque
Rtc rtc;
-time_t heure_t,minute_t,seconde_t;//on nomme nos valeur qui seront sous le format time_t
+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
+Serial pc(SERIAL_TX, SERIAL_RX);//permet la communication avec le terminal en liason serie
+
+Timer tempo1,tempo2,tempo3,tempo4,tempsS;
// prototype et variables globales et constantes
-static unsigned char Heure_t=23,Minute_t=59,Seconde_t = 50; // on defini l'heure avec une unsigned char
+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
void automate(void);
@@ -21,11 +24,16 @@
int main()
{
+
rtc.SetHour(Heure_t);
- rtc.SetMin(Minute_t);// On initialise l'heure , les minutes et les secondes
+ rtc.SetMin(Minute_t);// On initialise l'heure , les minutes et les secondes au valeur demandes
rtc.SetSec(Seconde_t);
- rtc.SetYear(2020);
- ihm.LCD_printf("CLOCK");
+
+ rtc.SetDay(Jour_t);
+ rtc.SetMon(Mois_t);//on initialise la date au valeurs demandes
+ rtc.SetYear(Annee_t);
+
+ ihm.LCD_printf("CLK:OS");
// début de l'application
while(1) {
wait(0.1);
@@ -38,18 +46,29 @@
{
// définition d'un type énuméré permettant de manipuler l'état de l'automate
// par son nom
- typedef enum {affichage=0, Minutep =1, Minutem =2, Heurep= 3,Heurem =4,Calendrier=5,Jour+=6,Jour} type_etat;
- type_etat etat_actuel = affichage ; // déclaration état actuel init. à etat0
- static type_etat etat_futur = affichage; // déclaration état futur
- int entreeb, entreeh, entreeg, entreed , entree;
+ typedef enum {Menu=0,Horloge=1,Calendrier=2,inter=3,Alarme=4,bip=5,bip2=6,Minuteur=7} type_etat;
+ type_etat etat_actuel = Menu ; // déclaration état actuel init. à etat0
+ static type_etat etat_futur = Menu; // déclaration état futur
+
+ int entreeb, entreeh, entreeg, entreed, entree;
+ static int compteur=0;
+ static int cptMenu=0;
+
+ static int Heure_a=00,Minute_a =00,Seconde_a=00; // creation de mutliple variables
+ static int cpt_a=0,choix_a=0;
+
+ static int Heure_m=00,Minute_m =00,Seconde_m=00;
+ static int cpt_m=0,choix_m=0;
+
+
// gestion des entrees
entree = BPC;// c'est le bouton centre
entreeb = BPD;// c'est le bouton bas
- entreeh = BPU;
- entreeg = BPL;
- entreed = BPR;
-
+ entreeh = BPU;//haut
+ entreeg = BPL;//gauche
+ entreed = BPR;//droit
+
// gestion du diagramme de transition
etat_actuel = etat_futur; // mise à jour de l'état
// calul de l'éat futur en fonction de l'état actuel et des entrées
@@ -58,55 +77,456 @@
switch(etat_actuel) {
//les différents états en accord avec le diagramme de transition
+ case Menu :
- case affichage :
- if(entreed)etat_futur= Minutep;//si j'appuie sur droite j'augmente les minute de 1
- if(entreeg)etat_futur=Minutem;//si j'appuie a gauche je diminue les minutes de
- if(entreeh)etat_futur=Heurep;//si j'appuie sur haut j'augmente les heures de 1
- if(entreeb)etat_futur=Heurem;//si j'appuie en bas je diminue les heures de 1
- if(entree)etat_futur=Calendrier;//si j'appuie je vais sur le calendrier
-
- if(Minute_t > 59 ) { // si Minute_t depasse 59 minutes alors Minute_t reviens a 0 et j'incremente Heure_t de 1
- Minute_t=00;
- rtc.SetHour(Heure_t++);
+ //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
+ //et cela correspondera a un affichage du menu ensuite il reste appuyer pour changer d'etat correspondant
+ if (cptMenu == 0) {
+ ihm.LCD_printf("HORLOGE\r");
+ if(entree) {
+ etat_futur = Horloge;
+ }
}
- if(Heure_t > 23 ) {//si Heure_t depasse 23 heures alors Heure_t reviens a 0
- Heure_t = 00;
+ if (cptMenu == 1) {
+ ihm.LCD_printf("CALENDRIER\r");
+ if(entree) {
+ etat_futur = Calendrier;
+ }
+ }
+ if (cptMenu == 2) {
+ ihm.LCD_printf("ALARME\r");
+ if(entree) {
+ etat_futur = Alarme;
+ }
+ }
+ if (cptMenu == 3) {
+ ihm.LCD_printf("MINUTEUR\r");
+ if(entree) {
+ etat_futur = Minuteur;
+ }
}
- if(Seconde_t > 59 ) {// si Seconde_t depasse 59 secondes alors Secondes_t reviens a 0 et j'incremente Minute_t de 1
- Seconde_t = 00;
- rtc.SetMin(Minute_t++);
+
+ if(entreed) {
+ cptMenu++;
+ LG=1;// j'allume verte pour l'incrementation
+ LR=0;
+
+
+ }
+ if(entreeg) {
+ cptMenu--;
+ LG=0;// j'allume verte pour l'incrementation
+ LR=1;
+
+ }
+ if(cptMenu > 3 or cptMenu<0) {//si le compteur depasse une certaine valeur il revient au depart
+ cptMenu=0;
+ }
+ if (cpt_a == 1 && Heure_a == heure_t && Minute_a == minute_t && Seconde_a == seconde_t) {//alarme
+ pc.printf("bip bip");
+ etat_futur=bip;
+ }
+ if (cpt_m == 1 && Heure_m == 00 && Minute_m == 00 && Seconde_m == 00) {//alarme minuteur
+ pc.printf("bip bip");
+ etat_futur=bip2;
+ }
+ break;
+
+
+ case Horloge :
+
+
+ if(entreed) {
+ rtc.SetMin(Minute_t++); // j'incremente Minute_t
+ rtc.SetSec(00);//je met les secondes a zero a chaque changement d'etat
+ heure_t = rtc.GetHour();
+ rtc.SetMin(Minute_t);
+ rtc.SetHour(Heure_t);
+ LG=1;// j'allume verte pour l'incrementation
+ LR=0;
+ }//si j'appuie sur droite j'augmente les minute de 1
+
+ if(entreeg) {
+ rtc.SetMin(Minute_t--);//je diminue Minute_t
+ heure_t = rtc.GetHour();
+ rtc.SetMin(Minute_t);
+ rtc.SetHour(Heure_t);
+ rtc.SetSec(00);
+
+
+ LG=0;// j'allume rouge pour la diminution
+ LR=1;
+ }//si j'appuie a gauche je diminue les minutes de
+
+ if(entreeh) {
+ rtc.SetHour(Heure_t++);//j'incremente Heure_t
+ rtc.SetSec(00);
+ jour_t=rtc.GetDay();
+ minute_t = rtc.GetMin();
+ rtc.SetMin(Minute_t);
+ rtc.SetHour(Heure_t);
+
+ LG=1;// j'allume verte pour l'incrementation
+ LR=0;
+
+ }//si j'appuie sur haut j'augmente les heures de 1
+
+ else if(entreeb) {
+ rtc.SetHour(Heure_t--);
+ rtc.SetSec(00);
+ jour_t=rtc.GetDay();
+ minute_t = rtc.GetMin();
+ rtc.SetHour(Heure_t);
+ rtc.SetMin(Minute_t);
+
+ LG=0;
+ LR=1;// j'allume rouge pour la diminution
+ }//si j'appuie en bas je diminue les heures de 1
+
+
+ if(entree)etat_futur=inter;
+ if (cpt_a == 1 && Heure_a == heure_t && Minute_a == minute_t && Seconde_a == seconde_t) {
+ pc.printf("bip bip");
+ etat_futur=bip;
+ }
+ if (cpt_m == 1 && Heure_m == 00 && Minute_m == 00 && Seconde_m == 00) {
+ pc.printf("bip bip");
+ etat_futur=bip2;
}
break;
- case Minutep:
- rtc.SetMin(Minute_t++); // j'incremente Minute_t
- rtc.SetSec(00);//je met les secondes a zero a chaque changement d'etat
- etat_futur = affichage;// je retourne a l'affichage
+
+ case Calendrier:
+ rtc.SetDay(Jour_t);//j'incremente Jour_t
+
+
+ rtc.SetMon(Mois_t);
+
+ mois_t=rtc.GetMon();
+ jour_t=rtc.GetDay();
+
+ if(compteur==0) {
+ ihm.BAR_set(1);
+ if(entreeh) {
+ rtc.SetDay(Jour_t++);//j'incremente Jour_t
+
+
+ rtc.SetMon(Mois_t);
+
+ mois_t=rtc.GetMon();
+ jour_t=rtc.GetDay();
+
+ LG=1;// j'allume verte pour l'incrementation
+ LR=0;
+ } else if (entreeb) {
+ rtc.SetDay(Jour_t--);
+ jour_t=rtc.GetDay();
+ rtc.SetMon(Mois_t);
+ mois_t=rtc.GetMon();
+
+ LG=0;
+ LR=1;
+ }
+ } else if(compteur==1) {
+ ihm.BAR_set(2);
+ if(entreeh) {
+ rtc.SetMon(Mois_t++);
+
+ mois_t=rtc.GetMon();
+ jour_t=rtc.GetDay();
+ rtc.SetDay(Jour_t);
+
+
+
+ LG=1;
+ LR=0;
+ } else if (entreeb) {
+ rtc.SetMon(Mois_t--);
+
+ mois_t=rtc.GetMon();
+ rtc.SetDay(Jour_t);
+
+ jour_t=rtc.GetDay();
+
+
+ LG=0;
+ LR=1;
+ }
+ }//si j'appuie sur haut j'augmente les heures de 1
+ /** else if(compteur==2) {
+ ihm.BAR_set(4);
+ if(entreeh) {
+ rtc.SetYear(Annee_t++);//j'incremente Heure_t
+
+ annee_t=rtc.GetYear();
+
+
+
+ jour_t=rtc.GetDay();
+
+
+
+ mois_t=rtc.GetMon();
+ LG=1;// j'allume verte pour l'incrementation
+ LR=0;
+ }
+ if (entreeb) {
+ rtc.SetYear(Annee_t--);//j'incremente Heure_t
+
+ annee_t=rtc.GetYear();
+
+
+ jour_t=rtc.GetDay();
+
+
+
+ mois_t=rtc.GetMon();
+ LG=0;// j'allume verte pour l'incrementation
+ LR=1;
+ }
+ }
+ **/
+ //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
+ if(entreed) {
+ compteur++;
+
+ LG=1;// j'allume verte pour l'incrementation
+ LR=0;
+
+
+ }
+ if(entreeg) {
+ compteur--;
+
+ LG=0;
+ LR=1;
+
+ }
+
+
+
+
+ if(compteur > 2 or compteur<0) {
+ compteur=0;
+ }
+ if(entree)etat_futur=inter;
+ if (cpt_a == 1 && Heure_a == heure_t && Minute_a == minute_t && Seconde_a == seconde_t) {
+ pc.printf("bip bip");
+ etat_futur=bip;
+ }
+ if (cpt_m == 1 && Heure_m == 00 && Minute_m == 00 && Seconde_m == 00) {
+ pc.printf("bip bip");
+ etat_futur=bip2;
+ }
+
break;
- case Minutem:
- rtc.SetMin(Minute_t--);//je diminue Minute_t
- rtc.SetSec(00);
- etat_futur = affichage;
+ case inter:
+ if(entree)etat_futur=inter;
+ if(!entree)etat_futur=Menu; // test pour avoir un ecran eteint quand on reste appuyé au retour au menu
break;
- case Heurep:
- rtc.SetHour(Heure_t++);//j'incremente Heure_t
- rtc.SetSec(00);
- etat_futur = affichage;
- break;
+ case Alarme:
+ heure_t = rtc.GetHour();
+ minute_t = rtc.GetMin();//J'utilise les valeurs qui ont été etablie avant et je les met dans des variables
+
+
+ //pc.printf("%d\n",cpt_a);
+ // 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
+ if (entreed) {
+ choix_a++;
+ }
+ if (choix_a == 0) {
+ LG=1;
+ LR=0;
+ if(entreeh) {
+ Heure_a++;
+ } else if(entreeb) {
+ Heure_a--;
+ }
+ }
- case Heurem :
- rtc.SetHour(Heure_t--);
- rtc.SetSec(00);
- etat_futur = affichage;
- break;
- case Calendrier:
- break;
+ else if (choix_a == 1) {
+ LG=0;
+ LR=1;
+ if(entreeh) {
+ Minute_a++;
+ } else if(entreeb) {
+ Minute_a--;
+ }
+ } else if (choix_a == 2) {
+ LG=0;
+ LR=0;
+ if(entreeh) {
+ Seconde_a++;
+ } else if(entreeb) {
+ Seconde_a--;
+ }
+ }
+
+ // en appuyant sur gauche on met l'alarme soit sur off ou on
+ if (entreeg) {
+ cpt_a++;
+ }
+ if (cpt_a==0) {
+ //OFF
+ ihm.BAR_set(1);
+
+ }
+
+ else if (cpt_a==1) {
+ //ON
+ ihm.BAR_set(2);
+
+ }
+ // si l'alarme est ON est que le temps voulu correspond au temps actuel l'alarme sonne
+ if (cpt_a == 1 && Heure_a == heure_t && Minute_a == minute_t && Seconde_a == seconde_t) {
+ pc.printf("bip bip");
+ etat_futur=bip;
+ }
+ if (cpt_m == 1 && Heure_m == 00 && Minute_m == 00 && Seconde_m == 00) {
+ pc.printf("bip bip");
+ etat_futur=bip2;
+ }
+ // pour definir le temps
+ if (Heure_a > 23 or Heure_a < 00) {
+ Heure_a = 00;
+ }
+ if (Minute_a > 59 or Minute_a < 00) {
+ Minute_a = 00;
+ }
+ if (Seconde_a > 59 or Seconde_a < 00) {
+ Seconde_a = 00;
+ }
+ if (choix_a >2 or choix_a<0) {
+ choix_a = 0;
+ }
+ if (cpt_a >1 or cpt_a<0) {
+ cpt_a = 0;
+ }
+
+ if(entree)etat_futur=inter;
+ break;
+ // deux alarme
+ case bip :
+ if (entree) {
+ cpt_a=0;
+ etat_futur=Menu;
+ }
+ break;
+ case bip2 :
+ if (entree) {
+ cpt_m=0;
+ etat_futur=Menu;
+ }
+ break;
+ case Minuteur :
+
+ // 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
+ if (entreed) {
+ choix_m++;
+ }
+ if (choix_m == 0) {
+ LG=1;
+ LR=0;
+ if(entreeh) {
+ Heure_m++;
+ } else if(entreeb) {
+ Heure_m--;
+ }
+ }
+
+ else if (choix_m == 1) {
+ LG=0;
+ LR=1;
+ if(entreeh) {
+ Minute_m++;
+ } else if(entreeb) {
+ Minute_m--;
+ }
+ } else if (choix_m == 2) {
+ LG=0;
+ LR=0;
+ if(entreeh) {
+ Seconde_m++;
+ } else if(entreeb) {
+ Seconde_m--;
+ }
+ }
+
+
+ if (entreeg) {
+ cpt_m++;
+ }
+ if (cpt_m==0) {
+ //OFF
+ ihm.BAR_set(1);
+
+ tempsS.reset();
+
+ }
+
+ else if (cpt_m==1) {
+ //ON
+ ihm.BAR_set(2);
+
+ tempsS.start();
+
+ }
+ // si le minuteur est sur on est que le decompte arrive a 0 alors l'alarme se declenche
+ if (cpt_m == 1 && Heure_m == 00 && Minute_m == 00 && Seconde_m == 00) {
+ pc.printf("bip bip");
+ etat_futur=bip2;
+ }
+ if (cpt_a == 1 && Heure_a == heure_t && Minute_a == minute_t && Seconde_a == seconde_t) {
+ pc.printf("bip bip");
+ etat_futur=bip;
+ }
+
+
+
+ if (Heure_m > 23 or Heure_m < 00) {
+ Heure_m = 00;
+ }
+ if (Minute_m > 59 or Minute_m < 00) {
+ Minute_m = 00;
+ }
+ if (Seconde_m > 59 or Seconde_m < 00) {
+ Seconde_m = 00;
+ }
+ if (choix_m >2 or choix_m<0) {
+ choix_m = 0;
+ }
+ if (cpt_m >1 or cpt_m<0) {
+ cpt_m = 0;
+ }
+
+ // partie ou le prog gere la gestion du decompte en fonction d'un chrono interne
+ if(tempsS.read() >=1) {
+ Seconde_m--;
+ tempsS.reset();
+ }
+ if (cpt_m == 1 && Minute_m>00 && Seconde_m < 00) {
+ Minute_m--;
+ Seconde_m = 59;
+
+
+ }
+ if (cpt_m == 1 && Heure_m>00 && Minute_m == 00 && Seconde_m < 00 ) {
+ Heure_m--;
+ Minute_m = 59;
+ Seconde_m = 59;
+
+
+
+ }
+
+
+ if(entree)etat_futur=inter;
+ break;
}
@@ -114,52 +534,116 @@
switch(etat_actuel) {
+// a chaque etat je reprend l'information sur le temps pour l'avoir toujours a jour
+ case Horloge :
+ pc.printf("%02u:%02u:%02u\n",heure_t,minute_t,seconde_t);//debug
+ pc.printf("%02u:%02u:%02u\n",Heure_a,Minute_a,Seconde_a);
+ pc.printf("%d\n",cpt_a);
+ ihm.BAR_set(0);
+ heure_t = rtc.GetHour();
+ minute_t = rtc.GetMin();//J'utilise les valeurs qui ont été etablie avant et je les met dans des variables
+ seconde_t = rtc.GetSec();
- case affichage :
+ jour_t=rtc.GetDay();
+ mois_t=rtc.GetMon();
+ annee_t=rtc.GetYear();
+ ihm.LCD_printf("%02u:%02u:%02u",heure_t,minute_t,seconde_t);
+ LG=0;// je met les leds a 0 pour un effet de clignotement
+ LR=0;
+ break;
+
+ case Calendrier:
+ pc.printf("%02u:%02u:%02u\n",heure_t,minute_t,seconde_t);//debug
+ pc.printf("%02u:%02u:%02u\n",Heure_a,Minute_a,Seconde_a);
+ pc.printf("%d\n",cpt_a);
+
+ jour_t=rtc.GetDay();
+ mois_t=rtc.GetMon();
+ annee_t=rtc.GetYear();
+
+ heure_t = rtc.GetHour();
+ minute_t = rtc.GetMin();//J'utilise les valeurs qui ont été etablie avant et je les met dans des variables
+ seconde_t = rtc.GetSec();
+
+ ihm.LCD_printf("%d:%d:%d",jour_t,mois_t);
+ pc.printf("%d\n",annee_t);
+ LG=0;// je met les leds a 0 pour un effet de clignotement
+ LR=0;
+ break;
+ case Menu:
+ pc.printf("%02u:%02u:%02u\n",heure_t,minute_t,seconde_t);
+ pc.printf("%02u:%02u:%02u\n",Heure_a,Minute_a,Seconde_a);//debug
+ pc.printf("%d\n",cpt_a);
+
ihm.BAR_set(0);
- heure_t= rtc.GetHour();
+ heure_t = rtc.GetHour();
minute_t = rtc.GetMin();//J'utilise les valeurs qui ont été etablie avant et je les met dans des variables
seconde_t = rtc.GetSec();
- ihm.LCD_printf("%02d:%02d:%02d",heure_t,minute_t,seconde_t);
- LG=0;// je met les leds a 0 pour un effet de clignotement
+
+ jour_t=rtc.GetDay();
+ mois_t=rtc.GetMon();
+ annee_t=rtc.GetYear();
+ break;
+ case Alarme:
+ pc.printf("%02u:%02u:%02u\n",heure_t,minute_t,seconde_t);//debug
+ pc.printf("%02u:%02u:%02u\n",Heure_a,Minute_a,Seconde_a);
+ pc.printf("%d\n",cpt_a);
+
+
+ ihm.LCD_printf("%02u:%02u:%02u",Heure_a,Minute_a,Seconde_a);
+ break;
+
+ case inter:
+ ihm.LCD_clear();
+ break;
+ case bip:
+ pc.printf("%02u:%02u:%02u\n",heure_t,minute_t,seconde_t);//debug
+ pc.printf("%02u:%02u:%02u\n",Heure_a,Minute_a,Seconde_a);
LR=0;
+ LG=0;
+ tempo1.start();
+ tempo2.start();
+
+ //je cree un clignotement pour simuler ue alarme et je precise quelle alarme
+
+ if(tempo1.read_ms()>500) {
+ LR=!LR;
+ ihm.LCD_printf("BIPALA");
+ tempo1.reset();
+ }
+ if(tempo2.read_ms()>500) {
+ LG=!LG;
+ ihm.LCD_printf("BIPALA");
+ tempo2.reset();
+ }
+ break;
+ case bip2:
+ pc.printf("%02u:%02u:%02u\n",heure_t,minute_t,seconde_t);
+ pc.printf("%02u:%02u:%02u\n",Heure_a,Minute_a,Seconde_a);
+ LR=0;
+ LG=0;
+ tempo3.start();
+ tempo4.start();
+ //je cree un clignotement pour simuler ue alarme et je precise quelle alarme
+
+ if(tempo3.read_ms()>500) {
+ LR=!LR;
+ ihm.LCD_printf("BIPMIN");
+ tempo3.reset();
+ }
+ if(tempo4.read_ms()>500) {
+ LG=!LG;
+ ihm.LCD_printf("BIPMIN");
+ tempo4.reset();
+ }
+ break;
+ case Minuteur :
+ ihm.LCD_printf("%02u:%02u:%02u",Heure_m,Minute_m,Seconde_m);
+
+ pc.printf("S=%02f\n\r",tempsS.read());
break;
-
- case Minutep :
- ihm.BAR_set(2);
- heure_t= rtc.GetHour();
- minute_t = rtc.GetMin();//J'utilise les valeurs qui ont été etablie avant et je les met dans des variables
- seconde_t = rtc.GetSec();
- ihm.LCD_printf("%02d:%02d:%02d",heure_t,minute_t,seconde_t);
- LG=1;// j'allume verte pour l'incrementation
- LR=0;
- break;
- case Minutem :
- ihm.BAR_set(2);
- ihm.LCD_printf("%02d:%02d:%02d",heure_t,minute_t,seconde_t);
- LG=0;// j'allume rouge pour la diminution
- LR=1;
- break;
- case Heurep :
- ihm.BAR_set(1);//debug de l'état
- ihm.LCD_printf("%02d:%02d:%02d",heure_t,minute_t,seconde_t);//affichage de l'heure en format 00:00:00
- LG=1;// j'allume verte pour l'incrementation
- LR=0;
- break;
-
- case Heurem :
- ihm.BAR_set(1);
- ihm.LCD_printf("%02d:%02d:%02d",Heure_t,Minute_t,seconde_t);
- LG=0;
- LR=1;// j'allume rouge pour la diminution
- break;
- case Calendrier:
- break;
-
-
-
}
}
\ No newline at end of file