le test

Dependencies:   LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI

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);
+    }
+}