It renames days_in_month to watch_utility_days_in_month. This is to make the function match other functions found in watch_utility, and to avoid conflicts with the upcoming UTZ logic, which also includes a function called days_in_month.
There is a bug where if you roll over the current date, the day will start at 0, rather than 1 because day is held in a 5 bit variable. Before, we added to the day and then checked if it's larger than how many days are in a month. With October, there are 31 days, and that means that it'll write 32 to the bit before changing it to one. However, 32 will overflow to 0.
I tested set_time_face and time_left_face with October being the month to attempt an overflow and they both now work.
This PR does two things:
days_in_month
towatch_utility_days_in_month
. This is to make the function match other functions found inwatch_utility
, and to avoid conflicts with the upcoming UTZ logic, which also includes a function calleddays_in_month
.day
is held in a 5 bit variable. Before, we added to the day and then checked if it's larger than how many days are in a month. With October, there are 31 days, and that means that it'll write 32 to the bit before changing it to one. However, 32 will overflow to 0.I tested
set_time_face
andtime_left_face
with October being the month to attempt an overflow and they both now work.