diff --git a/firmware/at.c b/firmware/at.c index 6e86377..4aee2a3 100644 --- a/firmware/at.c +++ b/firmware/at.c @@ -112,18 +112,18 @@ int8_t cmd_at_rst_handler(uint8_t mode, char* arg) int8_t cmd_at_tim_handler(uint8_t mode, char* arg) { - struct TIME_HMS n_time; + struct TIME_HMS time; char* val; char* tail; switch(mode) { case M_GET: - uart_puti(time.hour, 10); + uart_puti(clock.hour, 10); uart_putc(':'); - uart_puti(time.minute, 10); + uart_puti(clock.minute, 10); uart_putc(':'); - uart_puti(time.second, 10); + uart_puti(clock.second, 10); uart_puts("\n\r"); break; @@ -131,25 +131,25 @@ int8_t cmd_at_tim_handler(uint8_t mode, char* arg) if(!strlen(arg)) return -1; val = strtok_r(arg, ",", &tail); - n_time.hour = atoi(val); - if(n_time.hour >= 24) return -1; + time.hour = atoi(val); + if(time.hour >= 24) return -1; val = strtok_r(NULL, ",", &tail); - n_time.minute = atoi(val); - if(n_time.minute >= 60) return -1; + time.minute = atoi(val); + if(time.minute >= 60) return -1; val = strtok_r(NULL, ",", &tail); - n_time.second = atoi(val); - if(n_time.second >= 60) return -1; + time.second = atoi(val); + if(time.second >= 60) return -1; - rtc_set_time(&n_time); + rtc_set_clock(&time); uart_puts_P(PSTR("+TIM=")); - uart_puti(time.hour, 10); + uart_puti(clock.hour, 10); uart_puts(","); - uart_puti(time.minute, 10); + uart_puti(clock.minute, 10); uart_puts(","); - uart_puti(time.second, 10); + uart_puti(clock.second, 10); uart_puts("\n\r"); break; diff --git a/firmware/keyboard.c b/firmware/keyboard.c index e16d46a..f3da6e7 100644 --- a/firmware/keyboard.c +++ b/firmware/keyboard.c @@ -9,17 +9,17 @@ uint8_t k_inc_hour, k_inc_minute, k_inc_second, k_inc_brightness; void inc_hour(void) { - rtc_set_time_part(HOUR, (time.hour + 1) % 24); + rtc_set_clock_part(HOUR, (clock.hour + 1) % 24); } void inc_minute(void) { - rtc_set_time_part(MINUTE, (time.minute + 1) % 60); + rtc_set_clock_part(MINUTE, (clock.minute + 1) % 60); } void inc_second(void) { - rtc_set_time_part(SECOND, (time.second + 1) % 60); + rtc_set_clock_part(SECOND, (clock.second + 1) % 60); } void inc_brightness(void) @@ -27,13 +27,13 @@ void inc_brightness(void) led_inc_btnes(); } -void keyboard_init(void) +void kbd_init(void) { KEYBOARD_DIR &= ~(KEY_INC_HOUR | KEY_INC_MINUTE | KEY_INC_SECOND | KEY_INC_BRIGHTNESS); PORTB |= KEY_INC_HOUR | KEY_INC_MINUTE | KEY_INC_SECOND | KEY_INC_BRIGHTNESS; } -void keyboard_handle_input(void) +void kbd_handle_event(void) { SuperDebounce(&k_inc_hour, &KEYBOARD_PIN, KEY_INC_HOUR, 20, 0, &inc_hour, 0); SuperDebounce(&k_inc_minute, &KEYBOARD_PIN, KEY_INC_MINUTE, 20, 0, &inc_minute, 0); diff --git a/firmware/keyboard.h b/firmware/keyboard.h index 8d351c7..2e401bd 100644 --- a/firmware/keyboard.h +++ b/firmware/keyboard.h @@ -9,7 +9,7 @@ #define KEY_INC_SECOND (1<= pwm_counter ? ~HOUR_ANODE : 0xFF; break; case 2: - LED_PORT = ~time.minute; + LED_PORT = ~clock.minute; ANODES_PORT = led_btnes >= pwm_counter ? ~MINUTE_ANODE : 0xFF; break; case 4: - LED_PORT = ~time.second; + LED_PORT = ~clock.second; ANODES_PORT = led_btnes >= pwm_counter ? ~SECOND_ANODE : 0xFF; break; } diff --git a/firmware/main.c b/firmware/main.c index 1ae67a3..0452bcb 100644 --- a/firmware/main.c +++ b/firmware/main.c @@ -17,7 +17,7 @@ int main() { cfg_init(); - keyboard_init(); + kbd_init(); ptimer_init(); i2c_init(I2C_BITRATE); rtc_int0_init(); @@ -31,9 +31,9 @@ int main() while(1) { - keyboard_handle_input(); + kbd_handle_event(); uart_handle_event(uart_buf); - if(rtc_handle_timer()) nightm_handle(); + if(rtc_handle_clock()) nightm_handle(); } } diff --git a/firmware/nightm.c b/firmware/nightm.c index 174958e..34c141a 100644 --- a/firmware/nightm.c +++ b/firmware/nightm.c @@ -14,7 +14,7 @@ void nightm_handle(void) { if(ram_cfg.night_mode.led_btnes >= 0) { - uint16_t current = TIME2INT(time); + uint16_t current = TIME2INT(clock); uint16_t begin = TIME2INT(ram_cfg.night_mode.begin); uint16_t end = TIME2INT(ram_cfg.night_mode.end); diff --git a/firmware/rtc.c b/firmware/rtc.c index e6b2f65..864f9af 100644 --- a/firmware/rtc.c +++ b/firmware/rtc.c @@ -3,7 +3,7 @@ #include "rtc.h" #include "i2c.h" -volatile struct TIME_HMS time; +volatile struct TIME_HMS clock; void rtc_int0_init(void) { @@ -19,37 +19,33 @@ void rtc_int1_init(void) GICR |= (1<second), DEC_2_BCD(time->minute), DEC_2_BCD(time->hour) }; i2c_writebuf(RTC_I2C_ADDR, SECOND, 3, buf); // SECOND is the first memory cell (0x02) } -struct TIME_HMS rtc_read_time(void) +void rtc_update_clock(void) { uint8_t buffer[3]; i2c_readbuf(RTC_I2C_ADDR, 0x02, 3, buffer); - struct TIME_HMS curr_time = { - BCD_2_DEC(buffer[2]), - BCD_2_DEC(buffer[1]), - BCD_2_DEC(buffer[0]) - }; - - return curr_time; + clock.hour = BCD_2_DEC(buffer[2]); + clock.minute = BCD_2_DEC(buffer[1]); + clock.second = BCD_2_DEC(buffer[0]); } -uint8_t rtc_handle_timer(void) +uint8_t rtc_handle_clock(void) { if(!(GIFR & (1<> 4) & 0x0F) * 10) + ((bcd) & 0x0F)) -extern volatile struct TIME_HMS time; +extern volatile struct TIME_HMS clock; void rtc_int0_init(void); void rtc_int1_init(void); -void rtc_set_time(struct TIME_HMS* time); -void rtc_set_time_part(uint8_t part, uint8_t value); -uint8_t rtc_handle_timer(void); +void rtc_set_clock(struct TIME_HMS* time); +void rtc_set_clock_part(uint8_t part, uint8_t value); +uint8_t rtc_handle_clock(void); #endif \ No newline at end of file