
le test
Dependencies: LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI
Diff: Alarme/alarme.cpp
- Revision:
- 27:86d38e8d3015
- Child:
- 29:55d27fb3eb34
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Alarme/alarme.cpp Sun May 12 17:08:35 2019 +0000 @@ -0,0 +1,64 @@ +# include "alarme.h" + +DigitalIn pinTgAl(PE_6); + +void A_initAlarmes(STalarmes* all){ + all->ListeAlarmes = (temps*) malloc(sizeof(temps) * NOMBREDALARMES); + for(int i=0;i<NOMBREDALARMES;i++){ + (all->ListeAlarmes+i)->heure = 0; + (all->ListeAlarmes+i)->minute = 0; + all->ListeActivation[i] = 0; + } +} + +void A_DisplayAlarmes(STalarmes* alarmesPNT){ + STalarmes alarmes = *alarmesPNT; + int positionYinit = 5; + int positionYIncrement = 25; + int alarmeTaille = 1; + int positionXinit = 10; + for(int i=0;i<NOMBREDALARMES;i++){ + if(alarmes.positionCurseur==i){ + DisplayMatrix(positionXinit,positionYinit + positionYIncrement * i,BS_fleche(),alarmeTaille * 2,COULEUR_FLECHE); + }else{ + DisplayMatrix(positionXinit,positionYinit + positionYIncrement * i,BS_fleche(),alarmeTaille * 2,COULEUR_FOND); + } + if(alarmes.ListeActivation[i]){ + DisplayMatrix(positionXinit + alarmeTaille * 26,positionYinit + positionYIncrement * i,BS_cloche(),alarmeTaille,COULEUR_ACTIVE); + }else{ + DisplayMatrix(positionXinit + alarmeTaille * 26,positionYinit + positionYIncrement * i,BS_cloche(),alarmeTaille,COULEUR_OFF); + } + H_afficheHorlogeElemClean(*(alarmes.ListeAlarmes + i),positionXinit + alarmeTaille * 54,positionYinit + positionYIncrement * i,alarmeTaille * 2,COULEUR_HEURE_ALARME,COULEUR_FOND); + } +} + +void A_getSelection(STalarmes* alarmesPNT){ + alarmesPNT->positionCurseur=CR_donneSelection(CR_position(CR_readPins())); +} + +void A_toogleAlarme(STalarmes* alarmesPNT){ + if(!pinTgAl.read()){ + while(!pinTgAl.read()){ + ; + } + } + *(alarmesPNT->ListeActivation + alarmesPNT->positionCurseur)=!*(alarmesPNT->ListeActivation + alarmesPNT->positionCurseur); +} + +void A_test(){ + STalarmes alarmes; + A_initAlarmes(&alarmes); + clean(); + A_DisplayAlarmes(&alarmes); + alarmes.positionCurseur=2; + *(alarmes.ListeActivation+3)=1; + (alarmes.ListeAlarmes+4)->minute=23; + (alarmes.ListeAlarmes+4)->heure=17; + wait(2); + while(1){ + A_getSelection(&alarmes); + //A_toogleAlarme(&alarmes); + A_DisplayAlarmes(&alarmes); + wait(0.05); + } +}