Browse Source

nog niet werkende alarm

MalekSediqi 9 years ago
parent
commit
2954852c00
3 changed files with 29 additions and 16 deletions
  1. 10 10
      display.c
  2. 2 1
      display.h
  3. 17 5
      main.c

+ 10 - 10
display.c

@@ -26,7 +26,7 @@
 #include "portio.h"
 #include "display.h"
 #include "log.h"
-
+#include <time.h>
 /*-------------------------------------------------------------------------*/
 /* local defines                                                           */
 /*-------------------------------------------------------------------------*/
@@ -42,14 +42,14 @@ static void LcdWriteByte(u_char, u_char);
 static void LcdWriteNibble(u_char, u_char);
 static void LcdWaitBusy(void);
 
-int timer(u_char Mode){
+int timerLCD(u_char Mode){
     time_t Start;
-    if(Mode == start)
+    if(Mode == startLCD)
     {
             time_t diff = time(0) - Start;
             return diff;
     }
-    else if(Mode == stop)
+    else if(Mode == stopLCD)
     {
         Start = time(0);
     }
@@ -91,17 +91,17 @@ void LcdBackLight(u_char Mode)
 
 void LcdBacklightKnipperen(u_char Mode)
 {
-    time_t start;
-    time_t stop;
-    if (Mode==LCD_BACKLIGHT_ON)
+    time_t Start;
+    time_t Stop;
+    if (Mode==startLCD)
     {
         sbi(LCD_BL_PORT, LCD_BL_BIT);   // Turn on backlight
-        timer(start);
+        timer(Start);
     }
-    if (Mode==LCD_BACKLIGHT_OFF)
+    if (Mode==stopLCD)
     {
         cbi(LCD_BL_PORT, LCD_BL_BIT);   // Turn off backlight
-        timer(stop);
+        timer(Stop);
     }
 }
 /*

+ 2 - 1
display.h

@@ -30,7 +30,8 @@
 
 #define LCD_BACKLIGHT_ON            1
 #define LCD_BACKLIGHT_OFF           0
-
+#define startLCD        1
+#define stopLCD          0
 #define ALL_ZERO          			0x00      // 0000 0000 B
 #define WRITE_COMMAND     			0x02      // 0000 0010 B
 #define WRITE_DATA        			0x03      // 0000 0011 B

+ 17 - 5
main.c

@@ -225,10 +225,19 @@ int checkOffPressed(){
 
 void displayAlarm()
 {
+    struct _tm gmt;
+    gmt = GetRTCTime();
     long flags;
-    X12RtcGetAlarm(0,&gmt.tm,flags);
+    X12RtcGetAlarm(1,&gmt,1<<7);
     char str[12];
     sprintf(str, "    %02d:%02d:%02d", gmt.tm_hour, gmt.tm_min, gmt.tm_sec);
+    LogMsg_P(LOG_INFO, PSTR("Alarm : [%02d:%02d:%02d]"), gmt.tm_hour, gmt.tm_min, gmt.tm_sec );
+    LcdArrayLineOne(str,12);
+
+    char str2[6];
+    sprintf(str2,"Wekker");
+    LcdArrayLineTwo(str2,6);
+    LcdBacklightKnipperen(startLCD);
 }
 
 /* ����������������������������������������������������������������������� */
@@ -327,10 +336,13 @@ int main(void)
 				LcdBackLight(LCD_BACKLIGHT_OFF);
 			}
 		}
-		displayTime();
-		displayDate();
-        X12RtcSetAlarm(0,get);
-        LcdBacklightKnipperen();
+		/*displayTime();
+		displayDate();*/
+        gmt.tm_hour = 04;
+        gmt.tm_min = 04;
+        gmt.tm_sec= 10;
+        X12RtcSetAlarm(1,&gmt,1<<7);
+        displayAlarm();
         WatchDogRestart();
     }