diff options
author | joeycastillo <joeycastillo@utexas.edu> | 2022-11-28 00:40:08 -0600 |
---|---|---|
committer | joeycastillo <joeycastillo@utexas.edu> | 2022-11-28 00:40:08 -0600 |
commit | 423c5ec70e8ba90dd1b899ce2b5433fcf7a9c0fc (patch) | |
tree | ae94dcc3aa5e47ea8b299a882b194d737330b7fa /movement | |
parent | 444b911e9042e45e3c3ff051d0f4bd80b1a2b874 (diff) | |
download | Sensor-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)
Diffstat (limited to 'movement')
-rw-r--r-- | movement/watch_faces/complication/sunrise_sunset_face.c | 20 |
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) { |