corrected sliding hour rounding for pixels < 60

This commit is contained in:
Jörg R. Weimar 2019-02-12 15:28:45 +01:00
parent c05e42f563
commit e8df8c4fa6

View File

@ -170,8 +170,7 @@ void Ws2812Clock(void)
Ws2812UpdateHand((RtcTime.second * 1000) / clksize, WS_SECOND); Ws2812UpdateHand((RtcTime.second * 1000) / clksize, WS_SECOND);
Ws2812UpdateHand((RtcTime.minute * 1000) / clksize, WS_MINUTE); Ws2812UpdateHand((RtcTime.minute * 1000) / clksize, WS_MINUTE);
uint32_t local_hour = (LocalTime()/3600)%12; // RtcTime.hour is UTC timezone, not local. Ws2812UpdateHand((((RtcTime.hour % 12) * 5000) + ((RtcTime.minute * 1000) / 12 )) / clksize, WS_HOUR);
Ws2812UpdateHand(((local_hour % 12) * (5000 / clksize)) + ((RtcTime.minute * 1000) / (12 * clksize)), WS_HOUR);
if (Settings.ws_color[WS_MARKER][WS_RED] + Settings.ws_color[WS_MARKER][WS_GREEN] + Settings.ws_color[WS_MARKER][WS_BLUE]) { if (Settings.ws_color[WS_MARKER][WS_RED] + Settings.ws_color[WS_MARKER][WS_GREEN] + Settings.ws_color[WS_MARKER][WS_BLUE]) {
for (uint8_t i = 0; i < 12; i++) { for (uint8_t i = 0; i < 12; i++) {
Ws2812UpdateHand((i * 5000) / clksize, WS_MARKER); Ws2812UpdateHand((i * 5000) / clksize, WS_MARKER);