Bläddra i källkod

Change sata output.

Vladimir N. Shilov 6 år sedan
förälder
incheckning
123e826464
2 ändrade filer med 39 tillägg och 35 borttagningar
  1. 0 7
      src/event-system.c
  2. 39 28
      src/main.c

+ 0 - 7
src/event-system.c

@@ -43,13 +43,6 @@ const table_state_t stateTable[] PROGMEM = {
 #else
   {stShowYear, evBTN1Pressed, stShowTime, showTime, NULL},
 #endif
-#ifdef USE_DHT
-  {stShowTime,        evShTemp,      stShowTemperature,  dotOnPersistent, showTemperature},
-  {stShowTemperature, evShHum,       stShowHumidity,     showHumidity,    NULL},
-  {stShowHumidity,    evShTime,      stShowTime,         showTime,        NULL},
-  {stShowTemperature, evBTN1Pressed, stShowTime,         showTime,        NULL},
-  {stShowHumidity,    evBTN1Pressed, stShowTemperature,  dotOnPersistent, showTemperature},
-#endif // USE_DHT
   /* display wdt */
   {stShowWDay,   evDisplayWDT, stShowTime, showTime, NULL},
   {stShowMDay,   evDisplayWDT, stShowTime, showTime, NULL},

+ 39 - 28
src/main.c

@@ -132,6 +132,7 @@ void main(void) {
 
   /* Initialize Scheduler */
   RTOS_Init();
+  tdelay_ms(1000); // warm up
 
   /* Initialize I2C Bus and RTC */
   I2C_Init();
@@ -189,24 +190,6 @@ void main(void) {
           }
         }
       }
-#ifdef USE_DHT
-      switch(RTC.Sec) {
-      case 0x20:
-      case 0x50:
-        ES_PlaceEvent(evShTemp);
-        break;
-
-      case 0x22:
-      case 0x52:
-        ES_PlaceEvent(evShHum);
-        break;
-
-      case 0x24:
-      case 0x54:
-        ES_PlaceEvent(evShTime);
-        break;
-      }
-#endif // USE_DHT
     } // End of New Second
 
     event = ES_GetEvent();
@@ -229,7 +212,7 @@ void main(void) {
  */
 
 /**
- * @brief Initializy perephireal
+ * @brief Initialize peripheral
  */
 static void Board_Init(void) {
   /* power off Analog Comparator */
@@ -410,6 +393,7 @@ static void dhtTimeout(void) {
 }
 
 void showTemperature(void) {
+  dotOn();
   uint8_t a = dhtData.Temperature / 10;
   uint8_t b = dhtData.Temperature % 10;
   Digit[0] = a / 10;
@@ -419,6 +403,7 @@ void showTemperature(void) {
 }
 
 void showHumidity(void) {
+  dotOff();
   Digit[0] = DIGIT_BLANK;
   Digit[1] = DIGIT_BLANK;
   Digit[2] = dhtData.Humidity / 10;
@@ -459,17 +444,43 @@ static void btnProcess(void) {
 }
 
 void showTime(void) {
-  dotOn();
-  RTOS_SetTask(dotOff, 500, 0);
+  switch(RTC.Sec) {
+#ifdef USE_DHT
+  case 0x20:
+  case 0x50:
+    showTemperature();
+    break;
 
-  if (RTC.Hr > 0x09) {
-    Digit[0] = RTC.Hr >> 4;
-  } else {
-    Digit[0] = DIGIT_BLANK;
+  case 0x22:
+  case 0x52:
+    showHumidity();
+    break;
+#endif // USE_DHT
+
+  case 0x27:
+  case 0x28:
+  case 0x29:
+  case 0x57:
+  case 0x58:
+  case 0x59:
+    dotOn();
+    showMMSS();
+    break;
+
+  default:
+    dotOn();
+    RTOS_SetTask(dotOff, 500, 0);
+
+    if (RTC.Hr > 0x09) {
+      Digit[0] = RTC.Hr >> 4;
+    } else {
+      Digit[0] = DIGIT_BLANK;
+    }
+    Digit[1] = RTC.Hr & 0x0F;
+    Digit[2] = RTC.Min >> 4;
+    Digit[3] = RTC.Min & 0x0F;
   }
-  Digit[1] = RTC.Hr & 0x0F;
-  Digit[2] = RTC.Min >> 4;
-  Digit[3] = RTC.Min & 0x0F;
+
 }
 
 void showMMSS(void) {