|
@@ -46,7 +46,7 @@
|
|
|
#define FULL_BRIGHT_ON 0x06
|
|
|
#define FULL_BRIGHT_OFF 0x22
|
|
|
static const uint8_t PROGMEM brightConv[BRIGHT_IDX_MAX+1] = {
|
|
|
- 217, 219, 224, 236, 255
|
|
|
+ 218, 219, 224, 236, 255
|
|
|
};
|
|
|
#endif // USE_BRIGHT_CONTROL
|
|
|
|
|
@@ -191,18 +191,18 @@ void main(void) {
|
|
|
}
|
|
|
#ifdef USE_DHT
|
|
|
switch(RTC.Sec) {
|
|
|
- case 20:
|
|
|
- case 50:
|
|
|
+ case 0x20:
|
|
|
+ case 0x50:
|
|
|
ES_PlaceEvent(evShTemp);
|
|
|
break;
|
|
|
|
|
|
- case 22:
|
|
|
- case 52:
|
|
|
+ case 0x22:
|
|
|
+ case 0x52:
|
|
|
ES_PlaceEvent(evShHum);
|
|
|
break;
|
|
|
|
|
|
- case 24:
|
|
|
- case 54:
|
|
|
+ case 0x24:
|
|
|
+ case 0x54:
|
|
|
ES_PlaceEvent(evShTime);
|
|
|
break;
|
|
|
}
|
|
@@ -339,8 +339,8 @@ static void dhtProcess(void) {
|
|
|
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
|
|
|
- hmdt = 0; tmprtr = 0;
|
|
|
buf = 0;
|
|
|
for (cnt2=0; cnt2<8; cnt2++) {
|
|
|
buf <<= 1;
|
|
@@ -348,7 +348,7 @@ static void dhtProcess(void) {
|
|
|
while(bit_is_clear(PINB, PB0)); // ждём начало импульса
|
|
|
tcnt_old = TCNT1; // начало импульса
|
|
|
while(bit_is_set(PINB, PB0) && TCNT1<DHT_TIMEOUT); // ждём конец импульса
|
|
|
- if ((TCNT1 - tcnt_old) > 12) {
|
|
|
+ if ((TCNT1 - tcnt_old) > 10) {
|
|
|
buf |= 1;
|
|
|
}
|
|
|
}
|
|
@@ -379,11 +379,9 @@ static void dhtProcess(void) {
|
|
|
}
|
|
|
|
|
|
static void dhtEnd(void) {
|
|
|
- /*uint8_t i, k;*/
|
|
|
+#ifdef USE_UART
|
|
|
char buffer[6];
|
|
|
|
|
|
- usart_puts("DHT22 data:\r\n");
|
|
|
-
|
|
|
usart_puts("Humidity: ");
|
|
|
itoa(dhtData.Humidity, buffer, 10);
|
|
|
usart_puts(buffer);
|
|
@@ -396,19 +394,24 @@ static void dhtEnd(void) {
|
|
|
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 / 100;
|
|
|
- uint8_t b = dhtData.Temperature % 100;
|
|
|
+ uint8_t a = dhtData.Temperature / 10;
|
|
|
+ uint8_t b = dhtData.Temperature % 10;
|
|
|
Digit[0] = a / 10;
|
|
|
Digit[1] = a % 10;
|
|
|
Digit[2] = b;
|