]> git.earman.xyz Git - sensor-watch.git/commitdiff
address sunrise/set rounding in last 30 seconds of hour (fixes #146)
authorjoeycastillo <joeycastillo@utexas.edu>
Mon, 28 Nov 2022 06:40:08 +0000 (00:40 -0600)
committerjoeycastillo <joeycastillo@utexas.edu>
Mon, 28 Nov 2022 06:40:08 +0000 (00:40 -0600)
movement/watch_faces/complication/sunrise_sunset_face.c

index 72424bd04aa21357e2c8cf3eb99a8be1bbcecce5..8bc18ddd32b376b475af07ef8df51abfca93fad2 100644 (file)
@@ -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) {