summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjoeycastillo <joeycastillo@utexas.edu>2022-11-28 00:40:08 -0600
committerjoeycastillo <joeycastillo@utexas.edu>2022-11-28 00:40:08 -0600
commit423c5ec70e8ba90dd1b899ce2b5433fcf7a9c0fc (patch)
treeae94dcc3aa5e47ea8b299a882b194d737330b7fa
parent444b911e9042e45e3c3ff051d0f4bd80b1a2b874 (diff)
downloadSensor-Watch-423c5ec70e8ba90dd1b899ce2b5433fcf7a9c0fc.tar.gz
Sensor-Watch-423c5ec70e8ba90dd1b899ce2b5433fcf7a9c0fc.tar.bz2
Sensor-Watch-423c5ec70e8ba90dd1b899ce2b5433fcf7a9c0fc.zip
address sunrise/set rounding in last 30 seconds of hour (fixes #146)
-rw-r--r--movement/watch_faces/complication/sunrise_sunset_face.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/movement/watch_faces/complication/sunrise_sunset_face.c b/movement/watch_faces/complication/sunrise_sunset_face.c
index 72424bd0..8bc18ddd 100644
--- a/movement/watch_faces/complication/sunrise_sunset_face.c
+++ b/movement/watch_faces/complication/sunrise_sunset_face.c
@@ -93,15 +93,12 @@ static void _sunrise_sunset_face_update(movement_settings_t *settings, sunrise_s
minutes = 60.0 * fmod(rise, 1);
seconds = 60.0 * fmod(minutes, 1);
scratch_time.unit.hour = floor(rise);
- if (seconds < 30) {
- scratch_time.unit.minute = floor(minutes);
- }
- else {
- scratch_time.unit.minute = ceil(minutes);
- if (scratch_time.unit.minute == 60) {
- scratch_time.unit.minute = 0;
- scratch_time.unit.hour = (scratch_time.unit.hour + 1) % 24;
- }
+ if (seconds < 30) scratch_time.unit.minute = floor(minutes);
+ else scratch_time.unit.minute = ceil(minutes);
+
+ if (scratch_time.unit.minute == 60) {
+ scratch_time.unit.minute = 0;
+ scratch_time.unit.hour = (scratch_time.unit.hour + 1) % 24;
}
if (date_time.reg < scratch_time.reg) _sunrise_sunset_set_expiration(state, scratch_time);
@@ -126,6 +123,11 @@ static void _sunrise_sunset_face_update(movement_settings_t *settings, sunrise_s
if (seconds < 30) scratch_time.unit.minute = floor(minutes);
else scratch_time.unit.minute = ceil(minutes);
+ if (scratch_time.unit.minute == 60) {
+ scratch_time.unit.minute = 0;
+ scratch_time.unit.hour = (scratch_time.unit.hour + 1) % 24;
+ }
+
if (date_time.reg < scratch_time.reg) _sunrise_sunset_set_expiration(state, scratch_time);
if (date_time.reg < scratch_time.reg || show_next_match) {