]> git.earman.xyz Git - sensor-watch.git/commitdiff
add default loop handler to all current watch faces
authorJeremy O'Brien <neutral@fastmail.com>
Wed, 25 Jan 2023 03:43:31 +0000 (22:43 -0500)
committerjoeycastillo <joeycastillo@utexas.edu>
Wed, 25 Jan 2023 15:23:50 +0000 (09:23 -0600)
40 files changed:
movement/watch_faces/clock/beats_face.c
movement/watch_faces/clock/mars_time_face.c
movement/watch_faces/clock/weeknumber_clock_face.c
movement/watch_faces/complication/alarm_face.c
movement/watch_faces/complication/astronomy_face.c
movement/watch_faces/complication/blinky_face.c
movement/watch_faces/complication/countdown_face.c
movement/watch_faces/complication/counter_face.c
movement/watch_faces/complication/databank_face.c
movement/watch_faces/complication/day_one_face.c
movement/watch_faces/complication/interval_face.c
movement/watch_faces/complication/orrery_face.c
movement/watch_faces/complication/probability_face.c
movement/watch_faces/complication/pulsometer_face.c
movement/watch_faces/complication/ratemeter_face.c
movement/watch_faces/complication/rpn_calculator_alt_face.c
movement/watch_faces/complication/rpn_calculator_face.c
movement/watch_faces/complication/sailing_face.c
movement/watch_faces/complication/stock_stopwatch_face.c
movement/watch_faces/complication/tachymeter_face.c
movement/watch_faces/complication/tally_face.c
movement/watch_faces/complication/tarot_face.c
movement/watch_faces/complication/tempchart_face.c
movement/watch_faces/complication/tomato_face.c
movement/watch_faces/complication/totp_face.c
movement/watch_faces/complication/totp_face_lfs.c
movement/watch_faces/complication/wake_face.c
movement/watch_faces/demo/character_set_face.c
movement/watch_faces/demo/demo_face.c
movement/watch_faces/demo/frequency_correction_face.c
movement/watch_faces/demo/hello_there_face.c
movement/watch_faces/demo/lis2dw_logging_face.c
movement/watch_faces/demo/voltage_face.c
movement/watch_faces/sensor/accelerometer_data_acquisition_face.c
movement/watch_faces/sensor/thermistor_logging_face.c
movement/watch_faces/sensor/thermistor_readout_face.c
movement/watch_faces/sensor/thermistor_testing_face.c
movement/watch_faces/settings/finetune_face.c
movement/watch_faces/settings/nanosec_face.c
movement/watch_faces/settings/set_time_hackwatch_face.c

index df31ad1c1b5b0b13fdf9a065786c1d3daefc0132..50c3284dbaf856edda2b766bd4913b972462e560 100644 (file)
@@ -57,16 +57,8 @@ bool beats_face_loop(movement_event_t event, movement_settings_t *settings, void
 
             watch_display_string(buf, 0);
             break;
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
-        case EVENT_LIGHT_BUTTON_DOWN:
-            movement_illuminate_led();
-            break;
-        case EVENT_ALARM_BUTTON_DOWN:
-        case EVENT_ALARM_BUTTON_UP:
-        case EVENT_ALARM_LONG_PRESS:
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
@@ -88,4 +80,4 @@ uint32_t clock2beats(uint32_t hours, uint32_t minutes, uint32_t seconds, uint32_
     retval %= 100000;
 
     return retval;
-}
\ No newline at end of file
+}
index 7753ae723f8188a65f0fd1e17b292d066548ac6a..ae39e696e94545ec11e7bd62c70570d6197636e2 100644 (file)
@@ -129,9 +129,6 @@ bool mars_time_face_loop(movement_event_t event, movement_settings_t *settings,
         case EVENT_TICK:
             _update(settings, state);
             break;
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
         case EVENT_LIGHT_BUTTON_UP:
             state->displaying_sol = !state->displaying_sol;
             _update(settings, state);
@@ -152,6 +149,7 @@ bool mars_time_face_loop(movement_event_t event, movement_settings_t *settings,
             // watch_start_tick_animation(500);
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index e49e5abf743b7f6bb13da59c710dc6c065a2e841..4e40ebdcaa21a6b3cc56667b6637a215890730e8 100644 (file)
@@ -122,12 +122,6 @@ bool weeknumber_clock_face_loop(movement_event_t event, movement_settings_t *set
             // handle alarm indicator
             if (state->alarm_enabled != settings->bit.alarm_enabled) _update_alarm_indicator(settings->bit.alarm_enabled, state);
             break;
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            return false;
-        case EVENT_LIGHT_BUTTON_DOWN:
-            movement_illuminate_led();
-            break;
         case EVENT_ALARM_LONG_PRESS:
             state->signal_enabled = !state->signal_enabled;
             if (state->signal_enabled) watch_set_indicator(WATCH_INDICATOR_BELL);
@@ -149,6 +143,7 @@ bool weeknumber_clock_face_loop(movement_event_t event, movement_settings_t *set
             }
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index 5ad3976c24d404605a3f2feb21875bbc72dda386..4c0befdeef0d3e9424cf17a3922639f8a8977af2 100644 (file)
@@ -441,13 +441,11 @@ bool alarm_face_loop(movement_event_t event, movement_settings_t *settings, void
             _alarm_update_alarm_enabled(settings, state);
         }
         break;
-    case EVENT_MODE_BUTTON_UP:
-        movement_move_to_next_face();
-        break;
     case EVENT_TIMEOUT:
         movement_move_to_face(0);
         break;
     default:
+        movement_default_loop_handler(event, settings);
       break;
     }
 
index 50e5221b083ad9255a9988080a8de444b7fbbb84..204a0a3a70509c84ed3503671ac322ab3efebae6 100644 (file)
@@ -219,14 +219,6 @@ bool astronomy_face_loop(movement_event_t event, movement_settings_t *settings,
         case EVENT_TICK:
             _astronomy_face_update(event, settings, state);
             break;
-        case EVENT_MODE_BUTTON_UP:
-            // You shouldn't need to change this case; Mode almost always moves to the next watch face.
-            movement_move_to_next_face();
-            break;
-        case EVENT_LIGHT_BUTTON_UP:
-            // If you have other uses for the Light button, you can opt not to illuminate the LED for this event.
-            movement_illuminate_led();
-            break;
         case EVENT_ALARM_BUTTON_UP:
             switch (state->mode) {
                 case ASTRONOMY_MODE_SELECTING_BODY:
@@ -267,6 +259,7 @@ bool astronomy_face_loop(movement_event_t event, movement_settings_t *settings,
             // TODO?
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index 4c17476ec3dfc2c69af98828f6918e241423d3a8..dc3c8ab02f092e02c900647b2e610924b75d4a1b 100644 (file)
@@ -57,9 +57,6 @@ bool blinky_face_loop(movement_event_t event, movement_settings_t *settings, voi
         case EVENT_ACTIVATE:
             _blinky_face_update_lcd(state);
             break;
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
         case EVENT_LIGHT_BUTTON_UP:
             if (!state->active) {
                 state->color = (state->color + 1) % 3;
@@ -93,7 +90,9 @@ bool blinky_face_loop(movement_event_t event, movement_settings_t *settings, voi
             break;
         case EVENT_TIMEOUT:
             if (!state->active) movement_move_to_face(0);
+            break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index b2206b8f61bedab4e4ce9796014fb34234080821..f3bbd9631bd17320cc693cd102beccad545b2f45 100644 (file)
@@ -160,9 +160,6 @@ bool countdown_face_loop(movement_event_t event, movement_settings_t *settings,
             }
             draw(state, event.subsecond);
             break;
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
         case EVENT_LIGHT_BUTTON_UP:
             switch(state->mode) {
                 case cd_running:
@@ -216,8 +213,10 @@ bool countdown_face_loop(movement_event_t event, movement_settings_t *settings,
             movement_move_to_face(0);
             break;
         case EVENT_LOW_ENERGY_UPDATE:
+            break;
         default:
-          break;
+            movement_default_loop_handler(event, settings);
+            break;
     }
 
     return true;
index fb03ce6731ae8b12230b78d69fe64fd4d24daf94..14f6862918a2b54256184131aa626b8954bdd965 100644 (file)
@@ -47,12 +47,6 @@ bool counter_face_loop(movement_event_t event, movement_settings_t *settings, vo
     counter_state_t *state = (counter_state_t *)context;
 
     switch (event.event_type) {
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
-        case EVENT_LIGHT_BUTTON_DOWN:
-            movement_illuminate_led();
-            break;
         case EVENT_ALARM_BUTTON_UP:
             state->counter_idx++; // increment counter index
             if (state->counter_idx>99) { //0-99
@@ -72,6 +66,7 @@ bool counter_face_loop(movement_event_t event, movement_settings_t *settings, vo
             // ignore timeout
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index 9a5b333130162e199dc666778bbf631091351424..c32d696267d8fbd1aa085e12610b6d76ca05fd7a 100644 (file)
@@ -110,12 +110,6 @@ bool databank_face_loop(movement_event_t event, movement_settings_t *settings, v
             databank_state.current_word = 0;
             display();
             break;
-        case EVENT_MODE_BUTTON_UP:
-            // when the user presses 'mode', we tell movement to move to the next watch face.
-            // movement will call our resign function, clear the screen, and transfer control
-            // to the next watch face in the list.
-            movement_move_to_next_face();
-            break;
         case EVENT_ALARM_LONG_PRESS:
             databank_state.databank_page = (databank_state.databank_page + 1) % databank_num_pages;
             databank_state.current_word = 0;
@@ -141,7 +135,9 @@ bool databank_face_loop(movement_event_t event, movement_settings_t *settings, v
             // and it will do it long before the watch enters low energy mode. This ensures we
             // won't be on screen, and thus opts us out of getting the EVENT_LOW_ENERGY_UPDATE above.
             movement_move_to_face(0);
+            break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index 99433990f36603693f4c6c437a2a7fe4edfbc73f..00e711bc55cd732dd5cb4d1093d6d0f78182df2c 100644 (file)
@@ -123,9 +123,6 @@ bool day_one_face_loop(movement_event_t event, movement_settings_t *settings, vo
                 }
             }
             break;
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
         case EVENT_LIGHT_BUTTON_DOWN:
             // only illuminate if we're in display mode
             if (state->current_page == 0) movement_illuminate_led();
@@ -176,7 +173,9 @@ bool day_one_face_loop(movement_event_t event, movement_settings_t *settings, vo
             if (state->current_page != 0) {
                 movement_move_to_face(0);
             }
+            break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index 0c35cdfcb1d9b275056397ba0a8c3840b3211f79..1f982d3abab5519693b12822d51b864ff34afced 100644 (file)
@@ -664,14 +664,12 @@ bool interval_face_loop(movement_event_t event, movement_settings_t *settings, v
             watch_buzzer_play_sequence((int8_t *)_sound_seq_finish, NULL);
         }
         break;
-    case EVENT_MODE_BUTTON_UP:
-        movement_move_to_next_face();
-        break;
     case EVENT_TIMEOUT:
         if (state->face_state != interval_state_running) movement_move_to_face(0);
         break;
     default:
-      break;
+        movement_default_loop_handler(event, settings);
+        break;
     }
     return true;
-}
\ No newline at end of file
+}
index 3afced9899c76aa29195ca7494dfde11abb62e09..b533960cf060146de85d9c5fc79b7acdac513531 100644 (file)
@@ -174,14 +174,6 @@ bool orrery_face_loop(movement_event_t event, movement_settings_t *settings, voi
         case EVENT_TICK:
             _orrery_face_update(event, settings, state);
             break;
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
-        case EVENT_LIGHT_BUTTON_DOWN:
-            movement_illuminate_led();
-            break;
-        case EVENT_LIGHT_BUTTON_UP:
-            break;
         case EVENT_ALARM_BUTTON_UP:
             switch (state->mode) {
                 case ORRERY_MODE_SELECTING_BODY:
@@ -219,6 +211,7 @@ bool orrery_face_loop(movement_event_t event, movement_settings_t *settings, voi
             movement_move_to_face(0);
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index 7b056b33f1cd4d2ee7f822f6375bafe2dc6011c1..00d1d6d7d95166bc7e2981af5965d9385ff5d9d4 100644 (file)
@@ -141,9 +141,6 @@ bool probability_face_loop(movement_event_t event, movement_settings_t *settings
         case EVENT_TICK:
             display_dice_roll_animation(state);
             break;
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
         case EVENT_LIGHT_BUTTON_UP:
             // Change how many sides the die has
             for (int i = 0; i < NUM_DICE_TYPES; i++) {
@@ -170,6 +167,7 @@ bool probability_face_loop(movement_event_t event, movement_settings_t *settings
             watch_display_string("SLEEP ", 4);
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index ea7aad5930dec7382f4b04d30c457131de3d90ec..2247421c46b825d4cb97556eea611c1524cd22f7 100644 (file)
@@ -46,12 +46,6 @@ bool pulsometer_face_loop(movement_event_t event, movement_settings_t *settings,
     pulsometer_state_t *pulsometer_state = (pulsometer_state_t *)context;
     char buf[14];
     switch (event.event_type) {
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
-        case EVENT_LIGHT_BUTTON_DOWN:
-            movement_illuminate_led();
-            break;
         case EVENT_ALARM_BUTTON_DOWN:
             pulsometer_state->measuring = true;
             pulsometer_state->pulse = 0xFFFF;
@@ -102,6 +96,7 @@ bool pulsometer_face_loop(movement_event_t event, movement_settings_t *settings,
             movement_move_to_face(0);
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index 38423eb324a571a696932913dbdb76c1f6eb1278..8ae80515dc818310b01174c4b8e25979c9530701 100644 (file)
@@ -49,12 +49,6 @@ bool ratemeter_face_loop(movement_event_t event, movement_settings_t *settings,
         case EVENT_ACTIVATE:
             watch_display_string("ra          ", 0);
             break;
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
-        case EVENT_LIGHT_BUTTON_DOWN:
-            movement_illuminate_led();
-            break;
         case EVENT_ALARM_BUTTON_DOWN:
             if (ratemeter_state->ticks != 0) {
                 ratemeter_state->rate = (int16_t)(60.0 / ((float)ratemeter_state->ticks / (float)RATEMETER_FACE_FREQUENCY));
@@ -85,6 +79,7 @@ bool ratemeter_face_loop(movement_event_t event, movement_settings_t *settings,
             movement_move_to_face(0);
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index bfbce9023804f3acec6c90d48495bc091d704a7a..ad7ef900e988bc3d3f0d49ba37986bd2ebbadfe5 100644 (file)
@@ -441,7 +441,9 @@ bool rpn_calculator_alt_face_loop(movement_event_t event, movement_settings_t *s
             movement_move_to_face(0);
             break;
         case EVENT_LOW_ENERGY_UPDATE:
+            break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index 9271a1015e2f7bafd23d3d4f59d78c50edcea640..2047971bd9c72a7bacf05df06c92ac224b328d8d 100644 (file)
@@ -333,6 +333,7 @@ bool rpn_calculator_face_loop(movement_event_t event, movement_settings_t *setti
         case EVENT_LOW_ENERGY_UPDATE:
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index 97868a54cd655541eca1b869ca25768b4c57efdf..cec042246eac82374313bbda23f2bd413dab8a09 100644 (file)
@@ -197,9 +197,6 @@ bool sailing_face_loop(movement_event_t event, movement_settings_t *settings, vo
             }
             draw(state, event.subsecond, settings);
             break;
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
         case EVENT_LIGHT_LONG_PRESS:
             if (state->mode == sl_running) {
                 reset(state);
@@ -258,8 +255,10 @@ bool sailing_face_loop(movement_event_t event, movement_settings_t *settings, vo
             }
             break;
         case EVENT_LOW_ENERGY_UPDATE:
+            break;
         default:
-          break;
+            movement_default_loop_handler(event, settings);
+            break;
     }
 
     return true;
index 1164eb9a7c4016c67008cae1d0d9136473a85e27..4a9608d91e0e3d08015f458739eca6e18d11ba1e 100644 (file)
@@ -251,9 +251,6 @@ bool stock_stopwatch_face_loop(movement_event_t event, movement_settings_t *sett
         case EVENT_TICK:
             _draw();
             break;
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
         case EVENT_LIGHT_LONG_PRESS:
             // kind od hidden feature: long press toggles light on or off
             state->light_on_button = !state->light_on_button;
@@ -313,6 +310,7 @@ bool stock_stopwatch_face_loop(movement_event_t event, movement_settings_t *sett
             _draw();
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
     return true;
@@ -323,4 +321,4 @@ void stock_stopwatch_face_resign(movement_settings_t *settings, void *context) {
     (void) context;
     // cancel the keepalive task
     movement_cancel_background_task();
-}
\ No newline at end of file
+}
index 41ff8eca655d67c4a0c99838ad00092ba3f52b67..2b0a67cdb3cc6afc335641f99e24a42d76ce46df 100644 (file)
@@ -138,9 +138,6 @@ bool tachymeter_face_loop(movement_event_t event, movement_settings_t *settings,
                 state->animation_state = (state->animation_state + 1) % 6;
             }
             break;
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
         case EVENT_LIGHT_BUTTON_UP:
             if (state->editing){
                 // Go to next digit
@@ -254,6 +251,7 @@ bool tachymeter_face_loop(movement_event_t event, movement_settings_t *settings,
             // watch_start_tick_animation(500);
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
     // return true if the watch can enter standby mode. If you are PWM'ing an LED or buzzing the buzzer here,
index 86e97ab01937ad2368c12940fc19b1ced91526b9..896a54fff11ced8d3f5c2008036dd578133ad78f 100644 (file)
@@ -46,12 +46,6 @@ bool tally_face_loop(movement_event_t event, movement_settings_t *settings, void
     tally_state_t *state = (tally_state_t *)context;
     
     switch (event.event_type) {
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
-        case EVENT_LIGHT_BUTTON_DOWN:
-            movement_illuminate_led();
-               break;
         case EVENT_ALARM_BUTTON_UP:
             // increment tally index
             state->tally_idx++;
@@ -79,6 +73,7 @@ bool tally_face_loop(movement_event_t event, movement_settings_t *settings, void
             // ignore timeout
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index fe29f8a7e251739e5ca5e661fbee7689162805dc..ec42865a5f7045c0047462b2495e02b4333c5cea 100644 (file)
@@ -248,9 +248,6 @@ bool tarot_face_loop(movement_event_t event, movement_settings_t *settings, void
         case EVENT_TICK:
             display_animation(state);
             break;
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
         case EVENT_LIGHT_BUTTON_UP:
             if (state->drawn_cards[0] == 0xff) {
                 // deck is inited; cycle through # cards to draw
@@ -287,11 +284,8 @@ bool tarot_face_loop(movement_event_t event, movement_settings_t *settings, void
         case EVENT_LOW_ENERGY_UPDATE:
             watch_display_string("SLEEP ", 4);
             break;
-        case EVENT_MODE_LONG_PRESS:
-            // since we ignore timeouts, provide a convenient way to jump back to the start
-            movement_move_to_face(0);
-            break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index f2bb50ad89ea2c503bc0b425ce01725407141aca..53b027d9677fe78065e81dcd0b3feff2df80af6b 100644 (file)
@@ -89,12 +89,6 @@ bool tempchart_face_loop(movement_event_t event, movement_settings_t *settings,
         case EVENT_TICK:
             // on activate and tick, if we are animating,
             break;
-        case EVENT_MODE_BUTTON_UP:
-            // when the user presses 'mode', we tell movement to move to the next watch face.
-            // movement will call our resign function, clear the screen, and transfer control
-            // to the next watch face in the list.
-            movement_move_to_next_face();
-            break;
         case EVENT_LOW_ENERGY_UPDATE:
             // This low energy mode update occurs once a minute, if the watch face is in the
             // foreground when Movement enters low energy mode. We have the option of supporting
@@ -133,6 +127,7 @@ bool tempchart_face_loop(movement_event_t event, movement_settings_t *settings,
             break;
 
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index ed5554f2a28529dcd38db13f1fbf809940d9301f..f96f52e240d7966e9c7656e1880a70aed8b58c3b 100644 (file)
@@ -142,9 +142,6 @@ bool tomato_face_loop(movement_event_t event, movement_settings_t *settings, voi
             }
             tomato_draw(state);
             break;
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
         case EVENT_LIGHT_BUTTON_UP:
             movement_illuminate_led();
             if (state->mode == tomato_ready) {
@@ -179,6 +176,7 @@ bool tomato_face_loop(movement_event_t event, movement_settings_t *settings, voi
             movement_move_to_face(0);
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index b6d3b6a7e04a12b4724fcfd05ca5c1f3462bad38..844475d452a9669c95668a0d0144b40684b367c8 100644 (file)
@@ -79,12 +79,6 @@ bool totp_face_loop(movement_event_t event, movement_settings_t *settings, void
 
             watch_display_string(buf, 0);
             break;
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
-        case EVENT_LIGHT_BUTTON_DOWN:
-            movement_illuminate_led();
-            break;
         case EVENT_TIMEOUT:
             movement_move_to_face(0);
             break;
@@ -101,7 +95,9 @@ bool totp_face_loop(movement_event_t event, movement_settings_t *settings, void
             break;
         case EVENT_ALARM_BUTTON_DOWN:
         case EVENT_ALARM_LONG_PRESS:
+            break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index e16bbe065c1ff1163776d26c75f492c629fdc4ca..d52d8629fed61cdb8ba478c7a74acbf4c6a4a07d 100644 (file)
@@ -242,12 +242,6 @@ bool totp_face_lfs_loop(movement_event_t event, movement_settings_t *settings, v
         case EVENT_ACTIVATE:
             totp_face_display(totp_state);
             break;
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
-        case EVENT_LIGHT_BUTTON_DOWN:
-            movement_illuminate_led();
-            break;
         case EVENT_TIMEOUT:
             movement_move_to_face(0);
             break;
@@ -257,7 +251,9 @@ bool totp_face_lfs_loop(movement_event_t event, movement_settings_t *settings, v
             break;
         case EVENT_ALARM_BUTTON_DOWN:
         case EVENT_ALARM_LONG_PRESS:
+            break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index 4c265c7578e353815cde6aaf80cc8e7e4e220071..c94b916bbe10ae5f1f7c57911a696378820cee51 100644 (file)
@@ -144,16 +144,15 @@ bool wake_face_loop(movement_event_t event, movement_settings_t *settings, void
         movement_play_alarm();
             // 2022-07-23: Thx @joeycastillo for the dedicated “alarm” signal
         break;
-    case EVENT_MODE_BUTTON_UP:
-        movement_move_to_next_face();
-        break;
     case EVENT_TIMEOUT:
         movement_move_to_face(0);
         break;
     case EVENT_LOW_ENERGY_UPDATE:
+        break;
     default:
-      break;
+        movement_default_loop_handler(event, settings);
+        break;
     }
 
     return true;
-}
\ No newline at end of file
+}
index 6aa42083b4b9f46d376ae448f049de775e8caa53..21bbc793a8627b2a0f879a57b7bd2780e47dbaae 100644 (file)
@@ -45,12 +45,6 @@ bool character_set_face_loop(movement_event_t event, movement_settings_t *settin
     char *c = (char *)context;
     char buf[11];
     switch (event.event_type) {
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
-        case EVENT_LIGHT_BUTTON_DOWN:
-            movement_illuminate_led();
-            break;
         case EVENT_ALARM_BUTTON_UP:
             *c = (*c) + 1;
             if (*c & 0x80) *c = ' ';
@@ -63,6 +57,7 @@ bool character_set_face_loop(movement_event_t event, movement_settings_t *settin
             movement_move_to_face(0);
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index c9a929a1573d82733d1d370ea0bbc3e5eb8bd305..7026d3ac5f41599fd7620ce11cb11e8f3fe0095b 100644 (file)
@@ -65,12 +65,6 @@ bool demo_face_loop(movement_event_t event, movement_settings_t *settings, void
     (void) settings;
     demo_face_index_t *screen = (demo_face_index_t *)context;
     switch (event.event_type) {
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
-        case EVENT_LIGHT_BUTTON_DOWN:
-            movement_illuminate_led();
-            break;
         case EVENT_ALARM_BUTTON_UP:
             *screen = ((*screen) + 1) % DEMO_FACE_NUM_FACES;
             // fall through
@@ -129,6 +123,7 @@ bool demo_face_loop(movement_event_t event, movement_settings_t *settings, void
             // ignore timeout
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index a46f192ad392fa5af6bd891bb0bb799d521e91eb..3fdef7eef5cf682ff45aa0015cea5e74df74ce84 100644 (file)
@@ -96,9 +96,6 @@ bool frequency_correction_face_loop(movement_event_t event, movement_settings_t
             break;
         case EVENT_TICK:
             break;
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
         case EVENT_LIGHT_BUTTON_UP:
             freqcorr = RTC->MODE2.FREQCORR.reg;
             if (freqcorr < 127) {
@@ -126,6 +123,7 @@ bool frequency_correction_face_loop(movement_event_t event, movement_settings_t
             watch_start_tick_animation(500);
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index f21cb762768824c705f74543ae66ce1bccdef442..97af2579834780e72d1b288330fdbf7d7c3720d8 100644 (file)
@@ -66,18 +66,6 @@ bool hello_there_face_loop(movement_event_t event, movement_settings_t *settings
                 state->current_word = (state->current_word + 1) % 2;
             }
             break;
-        case EVENT_LIGHT_BUTTON_UP:
-            // when the user presses 'light', we illuminate the LED. We could override this if
-            // our UI needed an additional button for input, consuming the light button press
-            // but not illuminating the LED.
-            movement_illuminate_led();
-            break;
-        case EVENT_MODE_BUTTON_UP:
-            // when the user presses 'mode', we tell movement to move to the next watch face.
-            // movement will call our resign function, clear the screen, and transfer control
-            // to the next watch face in the list.
-            movement_move_to_next_face();
-            break;
         case EVENT_ALARM_BUTTON_UP:
             // when the user presses 'alarm', we toggle the state of the animation. If animating,
             // we stop; if stopped, we resume.
@@ -97,7 +85,9 @@ bool hello_there_face_loop(movement_event_t event, movement_settings_t *settings
             // and it will do it long before the watch enters low energy mode. This ensures we
             // won't be on screen, and thus opts us out of getting the EVENT_LOW_ENERGY_UPDATE above.
             movement_move_to_face(0);
+            break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index 0e63e41ed86c096d5415fbdef78a28763ca457d9..0a957bb49f645971609f5d700d0df87638903c4c 100644 (file)
@@ -146,12 +146,6 @@ bool lis2dw_logging_face_loop(movement_event_t event, movement_settings_t *setti
     lis2dw_interrupt_source interrupt_source = 0;
 
     switch (event.event_type) {
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
-        case EVENT_LIGHT_LONG_PRESS:
-            movement_illuminate_led();
-            break;
         case EVENT_LIGHT_BUTTON_DOWN:
             logger_state->axis_index = (logger_state->axis_index + 1) % 4;
             logger_state->log_ticks = 255;
@@ -187,6 +181,7 @@ bool lis2dw_logging_face_loop(movement_event_t event, movement_settings_t *setti
             _lis2dw_logging_face_log_data(logger_state);
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index 2a568d2c96abc33eb1118f7f554bab8ea49fd5c7..51ed9ccbb3e38f6374c8ec85d7320bd2455d664e 100644 (file)
@@ -55,12 +55,6 @@ bool voltage_face_loop(movement_event_t event, movement_settings_t *settings, vo
     (void) context;
     watch_date_time date_time;
     switch (event.event_type) {
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
-        case EVENT_LIGHT_BUTTON_DOWN:
-            movement_illuminate_led();
-            break;
         case EVENT_ACTIVATE:
             _voltage_face_update_display();
             break;
@@ -78,6 +72,7 @@ bool voltage_face_loop(movement_event_t event, movement_settings_t *settings, vo
             watch_display_string("BA  SLEEP ", 0);
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index 9da8b35c9bdfbbc3b8360620cfe2edc58805a986..80f09f7c0267dd1f2d587258ee5d1895a98e1fe6 100644 (file)
@@ -159,9 +159,6 @@ bool accelerometer_data_acquisition_face_loop(movement_event_t event, movement_s
                     break;
             }
             break;
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
         case EVENT_LIGHT_BUTTON_UP:
             switch (state->mode) {
                 case ACCELEROMETER_DATA_ACQUISITION_MODE_IDLE:
@@ -218,6 +215,7 @@ bool accelerometer_data_acquisition_face_loop(movement_event_t event, movement_s
             }
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index 40c40027e96f3bf531dc9a66861e71c75341eb30..64f605e9aeed3d434b563df298268da7ef4fe1e8 100644 (file)
@@ -94,9 +94,6 @@ bool thermistor_logging_face_loop(movement_event_t event, movement_settings_t *s
         case EVENT_TIMEOUT:
             movement_move_to_face(0);
             break;
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
         case EVENT_LIGHT_LONG_PRESS:
             // light button shows the timestamp, but if you need the light, long press it.
             movement_illuminate_led();
@@ -121,6 +118,7 @@ bool thermistor_logging_face_loop(movement_event_t event, movement_settings_t *s
             _thermistor_logging_face_log_data(logger_state);
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index 28106022b84f16007fcdc74d86a3639f133513fa..8a78f73a1f170b0e909d17eb2299d3278a69a12e 100644 (file)
@@ -57,12 +57,6 @@ bool thermistor_readout_face_loop(movement_event_t event, movement_settings_t *s
     (void) context;
     watch_date_time date_time = watch_rtc_get_date_time();
     switch (event.event_type) {
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
-        case EVENT_LIGHT_BUTTON_DOWN:
-            movement_illuminate_led();
-            break;
         case EVENT_ALARM_BUTTON_DOWN:
             settings->bit.use_imperial_units = !settings->bit.use_imperial_units;
             _thermistor_readout_face_update_display(settings->bit.use_imperial_units);
@@ -86,6 +80,7 @@ bool thermistor_readout_face_loop(movement_event_t event, movement_settings_t *s
             watch_display_string("TE  SLEEP ", 0);
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index f50e0567379ed9c92974abfdfdd3a9caffd0c72a..2910fbd9a367193169d7519a6776bc4b92a5c2dc 100644 (file)
@@ -64,9 +64,6 @@ void thermistor_testing_face_activate(movement_settings_t *settings, void *conte
 bool thermistor_testing_face_loop(movement_event_t event, movement_settings_t *settings, void *context) {
     (void) context;
     switch (event.event_type) {
-        case EVENT_MODE_BUTTON_UP:
-            movement_move_to_next_face();
-            break;
         case EVENT_ALARM_BUTTON_DOWN:
             settings->bit.use_imperial_units = !settings->bit.use_imperial_units;
             _thermistor_testing_face_update_display(settings->bit.use_imperial_units);
@@ -76,6 +73,7 @@ bool thermistor_testing_face_loop(movement_event_t event, movement_settings_t *s
             _thermistor_testing_face_update_display(settings->bit.use_imperial_units);
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index f328cbcbfa21ea8596bf27e85b35b0fa66e9b519..89c816657841f94f1bf1d2fff5e764981f213c4d 100644 (file)
@@ -239,6 +239,7 @@ bool finetune_face_loop(movement_event_t event, movement_settings_t *settings, v
             break;
 
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index e28b0350c25797e20bf69d3cdc6d33c6b1f4e468..6bfe29c4087b65f5cdc7c6e9a62e7f1c7df376c8 100644 (file)
@@ -365,6 +365,7 @@ bool nanosec_face_loop(movement_event_t event, movement_settings_t *settings, vo
             apply_RTC_correction(correction);
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }
 
index 79f0d3566aefec2782a0a28d9555de8a028a8158..0ad75049f040257b87ed0e9f1dfc72295b9ceabd 100644 (file)
@@ -201,6 +201,7 @@ bool set_time_hackwatch_face_loop(movement_event_t event, movement_settings_t *s
             movement_move_to_face(0);
             break;
         default:
+            movement_default_loop_handler(event, settings);
             break;
     }