瀏覽代碼

gotosleep compleet en klaar voor merge

its complete and goes 1 volume down every 10 minutes for 1 hour. and
then stops completely.
sandriek 9 年之前
父節點
當前提交
0e641f0be9
共有 2 個文件被更改,包括 40 次插入25 次删除
  1. 27 14
      gotosleep.c
  2. 13 11
      main.c

+ 27 - 14
gotosleep.c

@@ -16,11 +16,15 @@ struct _tm sleepTime;
 struct _tm count;
 int i = 1;
 int x = 0;
+int mins;
+int hours;
+int days;
 bool sleepOn = false;
 void setSleep(void)
 {
 	if (sleepOn == true)
 	{
+		printf("closed1");
 			killPlayerThread();
 			sleepOn = false;
 	}
@@ -28,9 +32,12 @@ void setSleep(void)
 	X12RtcGetClock(&count);
 	sleepTime = count;
 	AddMinutes(60);
-	
-	changeChanel();
+	printf("%d", sleepTime.tm_hour);
+	playChanel();
 	x = sleepTime.tm_min;
+	mins = 	sleepTime.tm_min;
+		hours = sleepTime.tm_hour;
+		days = sleepTime.tm_mday;
 	sleepOn = true;
 	}
 }
@@ -58,40 +65,46 @@ void AddMinutes(int minutes){
 }
 void checkSleep(void)
 {
-	if(sleepOn == true){
 	X12RtcGetClock(&count);
-	if(compareTime(count, sleepTime) == 0){
-		killPlayerThread();	
+	if(count.tm_min == mins && count.tm_hour == hours && count.tm_mday == days){
+		printf("closed");
+		killPlayerThread();
+		volumeUp();
+		volumeUp();
+		volumeUp();
+		volumeUp();
+		volumeUp();
+		volumeUp();
+
 		sleepOn = false;
 	}
-	if(compareTime(count, sleepTime) == 5 && sleepTime.tm_min == x){
+	if(count.tm_min == x){
 		volumeDown();
 		if (x >= 60){
 			x = 0;
 		}
-		x += 2;
-	}
+		x += 10;
 	}
 
+
 }
 void changeChanel(void){
-	
+	i++;
 	if (i > 2){
-		i =1;
+		i = 1;
 	}
+}
+void playChanel(void){
+
 	switch(i) {
    case 1  :
-	  killPlayerThread(); 
       connectToStream("62.195.226.247",80,"/test.mp3");
 	  play();
-	  i++;
       break;
 	
    case 2  :
-	  killPlayerThread(); 
       connectToStream("62.195.226.247",80,"/test2.mp3");
 	  play();
-	  i++;
       break;
 }
 

+ 13 - 11
main.c

@@ -48,6 +48,8 @@
 #include "vs10xx.h"
 #include "watchdog.h"
 
+
+
 /*-------------------------------------------------------------------------*/
 /* local routines (prototyping)                                            */
 /*-------------------------------------------------------------------------*/
@@ -202,6 +204,8 @@ THREAD(AlarmCheck, arg)
         if(checkAlarms() == 1){
           setCurrentDisplay(DISPLAY_Alarm, 1000);
         }
+
+
         NutSleep(1000);
     }
 
@@ -219,8 +223,10 @@ THREAD(AlarmSync, arg)
 
     for(;;)
     {
+
         if((initialized == true) && (hasNetworkConnection() == true))
         {
+            checkSleep();
             isAlarmSyncing = true;
             char url[49];
             sprintf(url, "/getAlarmen.php?radiomac=%s&tz=%d", getMacAdress(), getTimeZone());
@@ -310,6 +316,7 @@ int main(void)
                     setCurrentDisplay(DISPLAY_DateTime, 5);
                 }
             }else{
+
                 if(KbGetKey() == KEY_DOWN){
                     setCurrentDisplay(DISPLAY_Volume, 5);
                     volumeDown();
@@ -317,20 +324,15 @@ int main(void)
                     setCurrentDisplay(DISPLAY_Volume, 5);
                     volumeUp();
                 }
+                if(KbGetKey() == KEY_01){
+                    setSleep();
+                }
+                if(KbGetKey() == KEY_02){
+                    changeChanel();
+                }
             }
-        }
-		else if(KbGetKey() == KEY_LEFT)
-        {
-            NutSleep(150);
-            X12RtcGetClock(&timeCheck);
-            setSleep();
-        }
-		else if(KbGetKey() == KEY_RIGHT)
-        {
-           changeChanel();
         }
         refreshScreen();
-		checkSleep();
         WatchDogRestart();
         NutSleep(100);
     }