joeycastillo / Sensor-Watch

A board replacement for the classic Casio F-91W wristwatch
Other
1.3k stars 250 forks source link

Fix months #484

Open voloved opened 1 month ago

voloved commented 1 month ago

This PR does two things:

  1. 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.
  2. 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.