Prechádzať zdrojové kódy

Remove DHT support.

Vladimir Shilov 4 rokov pred
rodič
commit
8cb39ee944
5 zmenil súbory, kde vykonal 3 pridanie a 177 odobranie
  1. 3 3
      SNC.cbp
  2. 0 5
      inc/event-system.h
  3. 0 9
      inc/list_event.h
  4. 0 7
      src/event-system.c
  5. 0 153
      src/main.c

+ 3 - 3
SNC.cbp

@@ -30,7 +30,7 @@
 					<Add option="-std=gnu99" />
 				</Compiler>
 				<Environment>
-					<Variable name="USE_DHT" value="1" />
+					<Variable name="USE_BRIGHT_CONTROL" value="0" />
 				</Environment>
 			</Target>
 			<Target title="Release">
@@ -54,8 +54,8 @@
 			</Target>
 			<Environment>
 				<Variable name="MCU" value="atmega8" />
-				<Variable name="USE_DHT" value="1" />
-				<Variable name="USE_UART" value="1" />
+				<Variable name="USE_BRIGHT_CONTROL" value="0" />
+				<Variable name="USE_UART" value="0" />
 			</Environment>
 		</Build>
 		<Compiler>

+ 0 - 5
inc/event-system.h

@@ -46,11 +46,6 @@ void incBright(void);
 void decBright(void);
 #endif
 
-#ifdef USE_DHT
-void showTemperature(void);
-void showHumidity(void);
-#endif // USE_DHT
-
 void incHH(void);
 void incMM(void);
 void incSS(void);

+ 0 - 9
inc/list_event.h

@@ -13,11 +13,6 @@ typedef enum {
   evBTN2Holded,
   evBTN3Holded,
   evRefreshCal,
-#ifdef USE_DHT
-  evShTime,
-  evShTemp,
-  evShHum,
-#endif // USE_DHT
   evDisplayWDT
 } es_event_t;
 
@@ -33,10 +28,6 @@ typedef enum {
 #ifdef USE_BRIGHT_CONTROL
   stShowBright,
 #endif // USE_BRIGHT_CONTROL
-#ifdef USE_DHT
-  stShowTemperature,
-  stShowHumidity,
-#endif // USE_DHT
   stSetHH,
   stSetMM,
   /* end */

+ 0 - 7
src/event-system.c

@@ -40,13 +40,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 */
   {stShowWDM,  evDisplayWDT, stShowTime, showTime, NULL},
   {stShowYear, evDisplayWDT, stShowTime, showTime, NULL},

+ 0 - 153
src/main.c

@@ -50,16 +50,6 @@ static const uint8_t PROGMEM brightConv[BRIGHT_IDX_MAX+1] = {
 };
 #endif // USE_BRIGHT_CONTROL
 
-#ifdef USE_DHT
-// timeout in timer tiks, step 4 mks
-#define DHT_TIMEOUT       1500
-#define DHT_TOUT1         55
-static struct {
-  uint8_t Humidity;
-  uint16_t Temperature;
-} dhtData;
-#endif // USE_DHT
-
 
 /* Variables */
 static volatile uint8_t Digit[LAMP_NUM] = {1, 2, 3, 4, 5, 6};
@@ -92,13 +82,6 @@ static void valDecrease(uint8_t * val, uint8_t max);
 static void blink(void);
 static void setSummerWinterTime(void);
 static void lampTest(void);
-#ifdef USE_DHT
-static void dhtStart(void);
-static void dhtProcess(void);
-static void dhtEnd(void);
-static void dhtTimeout(void);
-static void dhtNoAck(void);
-#endif // USE_DHT
 #ifdef USE_UART
 void usart_putc (char send);
 void usart_puts (const char *send);
@@ -147,9 +130,6 @@ void main(void) {
   showTime();
 
   RTOS_SetTask(btnProcess, 3, BTN_SCAN_PERIOD);
-#ifdef USE_DHT
-  RTOS_SetTask(dhtStart, 2000, 15000);
-#endif // USE_DHT
 
   /** main loop */
   do {
@@ -193,24 +173,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();
@@ -245,11 +207,6 @@ static void Board_Init(void) {
   DDRC = DIGIT_PINS; // as output
   DDRD = (DOT_PIN | ANODD_PINS); // as output
 
-#ifdef USE_DHT
-  /* Timer1, IC negative edge, CTC mode, 64 prescaler, 4 mks one tick */
-  TCCR1B = ((0<<ICES1) | (1<<CS11) | (1<<CS10));
-#endif // USE_DHT
-
   /* Timer2 - refresh Nixie values */
   TCCR2 = TIMER2_CS;
   TCNT2 = TIMER2_CNT;
@@ -320,116 +277,6 @@ void dotOnPersistent(void) {
   PORTD |= DOT_PIN;
 }
 
-#ifdef USE_DHT
-static void dhtStart(void) {
-  RTOS_SetTask(dhtProcess, 2, 0);
-  DHT_PIN_LOW;
-}
-
-static void dhtProcess(void) {
-  uint8_t cnt1, cnt2, buf;
-  uint16_t tcnt_old, hmdt, tmprtr;
-
-  DHT_PIN_INPUT;
-  TCNT1 = 0;
-
-  // ждём первого "0"
-  while(bit_is_set(PINB, PB0) && TCNT1<DHT_TOUT1);
-  if (TCNT1 >= DHT_TOUT1) {
-    RTOS_SetTask(dhtNoAck, 0, 0);
-    return;
-  }
-  // white for end of preamble
-  while(bit_is_clear(PINB, PB0));
-  while(bit_is_set(PINB, PB0) && TCNT1<DHT_TIMEOUT);
-  if (TCNT1 >= DHT_TIMEOUT) {
-    RTOS_SetTask(dhtTimeout, 0, 0);
-  }
-  hmdt = 0; tmprtr = 0;
-  for (cnt1=0; cnt1<32; cnt1+=8) { // 0 8 16 24 32
-    buf = 0;
-    for (cnt2=0; cnt2<8; cnt2++) {
-      buf <<= 1;
-      // "0", начало периода
-      while(bit_is_clear(PINB, PB0)); // ждём начало импульса
-      tcnt_old = TCNT1; // начало импульса
-      while(bit_is_set(PINB, PB0) && TCNT1<DHT_TIMEOUT); // ждём конец импульса
-      if ((TCNT1 - tcnt_old) > 10) {
-        buf |= 1;
-      }
-    }
-    switch (cnt1) {
-    case 0:
-      hmdt = buf << 8;
-      break;
-    case 8:
-      hmdt |= buf;
-      break;
-    case 16:
-      tmprtr = buf << 8;
-      break;
-    case 24:
-      tmprtr |= buf;
-      break;
-    }
-  }
-  if (TCNT1 >= DHT_TIMEOUT) {
-    RTOS_SetTask(dhtTimeout, 0, 0);
-    return;
-  }
-
-  dhtData.Humidity = (uint8_t)((hmdt + 5) / 10);
-  dhtData.Temperature = tmprtr;
-
-  RTOS_SetTask(dhtEnd, 0, 0);
-}
-
-static void dhtEnd(void) {
-#ifdef USE_UART
-  char buffer[6];
-
-  usart_puts("Humidity: ");
-  itoa(dhtData.Humidity, buffer, 10);
-  usart_puts(buffer);
-  usart_puts(" %\t\t");
-
-  usart_puts("Temperature: ");
-  itoa(dhtData.Temperature/10, buffer, 10);
-  usart_puts(buffer);
-  usart_putc('.');
-  itoa(dhtData.Temperature%10, buffer, 10);
-  usart_puts(buffer);
-  usart_puts("oC\r\n");
-#endif // USE_UART
-}
-
-static void dhtNoAck(void) {
-#ifdef USE_UART
-  usart_puts("DHT22 no ACK occurred.\r\n");
-#endif // USE_UART
-}
-
-static void dhtTimeout(void) {
-#ifdef USE_UART
-  usart_puts("DHT22 Timeout occurred.\r\n");
-#endif // USE_UART
-}
-
-void showTemperature(void) {
-  uint8_t a = dhtData.Temperature / 10;
-  uint8_t b = dhtData.Temperature % 10;
-  Digit[0] = a / 10;
-  Digit[1] = a % 10;
-  Digit[2] = b;
-  Digit[3] = DIGIT_BLANK;
-}
-
-void showHumidity(void) {
-  Digit[0] = DIGIT_BLANK;
-  Digit[1] = DIGIT_BLANK;
-  Digit[2] = dhtData.Humidity / 10;
-  Digit[3] = dhtData.Humidity % 10;}
-#endif // USE_DHT
 
 /**
   * @brief  Обработка кнопок.