]> git.earman.xyz Git - sensor-watch.git/commitdiff
fix sunrise/sunset in last 30 seconds of the hour
authorjoeycastillo <joeycastillo@utexas.edu>
Sun, 27 Nov 2022 23:02:30 +0000 (17:02 -0600)
committerjoeycastillo <joeycastillo@utexas.edu>
Sun, 27 Nov 2022 23:02:30 +0000 (17:02 -0600)
movement/watch_faces/complication/sunrise_sunset_face.c

index 8dea812e6b274e56559d2cbaf89ae2384839a6ef..72424bd04aa21357e2c8cf3eb99a8be1bbcecce5 100644 (file)
@@ -93,8 +93,16 @@ 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 (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);