From 11f1f65ed1e2579670f38f7bfc1e9f85d0971c25 Mon Sep 17 00:00:00 2001 From: CTCaer Date: Thu, 30 Apr 2020 03:53:29 +0300 Subject: [PATCH] rtc: Fix hour parsing --- bootloader/rtc/max77620-rtc.c | 6 +++--- nyx/nyx_gui/rtc/max77620-rtc.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bootloader/rtc/max77620-rtc.c b/bootloader/rtc/max77620-rtc.c index 98243d2..385c936 100644 --- a/bootloader/rtc/max77620-rtc.c +++ b/bootloader/rtc/max77620-rtc.c @@ -35,10 +35,10 @@ void max77620_rtc_get_time(rtc_time_t *time) // Get time. time->sec = i2c_recv_byte(I2C_5, MAX77620_RTC_I2C_ADDR, MAX77620_RTC_SEC_REG) & 0x7F; time->min = i2c_recv_byte(I2C_5, MAX77620_RTC_I2C_ADDR, MAX77620_RTC_MIN_REG) & 0x7F; + u8 hour = i2c_recv_byte(I2C_5, MAX77620_RTC_I2C_ADDR, MAX77620_RTC_HOUR_REG); + time->hour = hour & 0x1F; - time->hour = i2c_recv_byte(I2C_5, MAX77620_RTC_I2C_ADDR, MAX77620_RTC_HOUR_REG) & 0x1F; - - if (!(val & MAX77620_RTC_24H) && time->hour & MAX77620_RTC_HOUR_PM_MASK) + if (!(val & MAX77620_RTC_24H) && (hour & MAX77620_RTC_HOUR_PM_MASK)) time->hour = (time->hour & 0xF) + 12; // Get day of week. 1: Monday to 7: Sunday. diff --git a/nyx/nyx_gui/rtc/max77620-rtc.c b/nyx/nyx_gui/rtc/max77620-rtc.c index 98243d2..385c936 100644 --- a/nyx/nyx_gui/rtc/max77620-rtc.c +++ b/nyx/nyx_gui/rtc/max77620-rtc.c @@ -35,10 +35,10 @@ void max77620_rtc_get_time(rtc_time_t *time) // Get time. time->sec = i2c_recv_byte(I2C_5, MAX77620_RTC_I2C_ADDR, MAX77620_RTC_SEC_REG) & 0x7F; time->min = i2c_recv_byte(I2C_5, MAX77620_RTC_I2C_ADDR, MAX77620_RTC_MIN_REG) & 0x7F; + u8 hour = i2c_recv_byte(I2C_5, MAX77620_RTC_I2C_ADDR, MAX77620_RTC_HOUR_REG); + time->hour = hour & 0x1F; - time->hour = i2c_recv_byte(I2C_5, MAX77620_RTC_I2C_ADDR, MAX77620_RTC_HOUR_REG) & 0x1F; - - if (!(val & MAX77620_RTC_24H) && time->hour & MAX77620_RTC_HOUR_PM_MASK) + if (!(val & MAX77620_RTC_24H) && (hour & MAX77620_RTC_HOUR_PM_MASK)) time->hour = (time->hour & 0xF) + 12; // Get day of week. 1: Monday to 7: Sunday.