
le test
Dependencies: LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI
Alarme/alarme.cpp
- Committer:
- ascheriit
- Date:
- 2019-05-16
- Revision:
- 29:55d27fb3eb34
- Parent:
- 27:86d38e8d3015
- Child:
- 33:31271a36a9a4
File content as of revision 29:55d27fb3eb34:
# 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); } }