]> git.earman.xyz Git - sensor-watch.git/commitdiff
refactor LE and TO intervals to function calls
authorjoeycastillo <joeycastillo@utexas.edu>
Sun, 29 Sep 2024 12:53:39 +0000 (08:53 -0400)
committerjoeycastillo <joeycastillo@utexas.edu>
Sun, 29 Sep 2024 12:53:39 +0000 (08:53 -0400)
movement.c
movement.h
movement/watch_faces/demo/demo_face.c
movement/watch_faces/sensor/accel_interrupt_count_face.c
movement/watch_faces/sensor/thermistor_testing_face.c
watch-faces/settings/preferences_face.c

index fdc28d3c66ad38aecd21fa24e3560bedac6b9073..25ae93031713ed20e17862a6966b5935388b6cf3 100644 (file)
@@ -353,6 +353,22 @@ void movement_set_use_imperial_units(bool value) {
     movement_state.settings.bit.use_imperial_units = value;
 }
 
+uint8_t movement_get_fast_tick_timeout(void) {
+    return movement_state.settings.bit.to_interval;
+}
+
+void movement_set_fast_tick_timeout(uint8_t value) {
+    movement_state.settings.bit.to_interval = value;
+}
+
+uint8_t movement_get_low_energy_timeout(void) {
+    return movement_state.settings.bit.le_interval;
+}
+
+void movement_set_low_energy_timeout(uint8_t value) {
+    movement_state.settings.bit.le_interval = value;
+}
+
 movement_color_t movement_backlight_color(void) {
     return (movement_color_t) {
         .red = movement_state.settings.bit.led_red_color,
index 20c4cf384c03cbb4121e5f4340148ee57e176aba..f56f90b927f9bfeed4ed7c7f798857f52f768b5f 100644 (file)
@@ -340,6 +340,12 @@ void movement_set_clock_mode_24h(movement_clock_mode_t value);
 bool movement_use_imperial_units(void);
 void movement_set_use_imperial_units(bool value);
 
+uint8_t movement_get_fast_tick_timeout(void);
+void movement_set_fast_tick_timeout(uint8_t value);
+
+uint8_t movement_get_low_energy_timeout(void);
+void movement_set_low_energy_timeout(uint8_t value);
+
 movement_color_t movement_backlight_color(void);
 void movement_set_backlight_color(movement_color_t color);
 
index 7026d3ac5f41599fd7620ce11cb11e8f3fe0095b..2f4d0b931301b1233511826e4ad330662cd799fb 100644 (file)
@@ -57,7 +57,7 @@ void demo_face_activate(movement_settings_t *settings, void *context) {
     (void) context;
     movement_request_tick_frequency(0);
     // ensure the watch never enters low energy mode
-    settings->bit.le_interval = 0;
+    movement_set_low_energy_timeout(0);
     settings->bit.led_duration = 3;
 }
 
index 6473988a0e9d17c8e63c761937925ac90be4e653..b0eb28d52bd3e324c9259bd470324f7acdd86899 100644 (file)
@@ -82,7 +82,7 @@ void accel_interrupt_count_face_activate(movement_settings_t *settings, void *co
     state->is_setting = false;
 
     // force LE interval to never sleep
-    settings->bit.le_interval = 0;
+    movement_set_low_energy_timeout(0);
 }
 
 bool accel_interrupt_count_face_loop(movement_event_t event, movement_settings_t *settings, void *context) {
index ca6cebf10c4cdfbf5b158d1c04969fe95fc7d7b2..26b8e001f84d8aacb3320dcc35078279db44aaaa 100644 (file)
@@ -46,7 +46,7 @@ void thermistor_testing_face_setup(movement_settings_t *settings, uint8_t watch_
     (void) context_ptr;
     // force one setting: never enter low energy mode.
     // I'm using this watch face to test the temperature sensor boards; there's no need for it.
-    settings->bit.le_interval = 0;
+    movement_set_low_energy_timeout(0);
 }
 
 void thermistor_testing_face_activate(movement_settings_t *settings, void *context) {
index 1eaf4b73566caf026a0474e593dc5424dcf33820..db5bbac5a0970444849300baaec68d8547394663 100644 (file)
@@ -96,7 +96,7 @@ bool preferences_face_loop(movement_event_t event, movement_settings_t *settings
                         }
                         break;
                     case PREFERENCES_PAGE_TIMEOUT:
-                        switch (settings->bit.to_interval) {
+                        switch (movement_get_fast_tick_timeout()) {
                             case 0:
                                 watch_display_text(WATCH_POSITION_BOTTOM, "60 SeC");
                                 break;
@@ -112,7 +112,7 @@ bool preferences_face_loop(movement_event_t event, movement_settings_t *settings
                         }
                         break;
                     case PREFERENCES_PAGE_LOW_ENERGY:
-                        switch (settings->bit.le_interval) {
+                        switch (movement_get_low_energy_timeout()) {
                             case 0:
                                 watch_display_text(WATCH_POSITION_BOTTOM, " Never");
                                 break;
@@ -189,10 +189,10 @@ bool preferences_face_loop(movement_event_t event, movement_settings_t *settings
                     movement_set_button_should_sound(!movement_button_should_sound());
                     break;
                 case PREFERENCES_PAGE_TIMEOUT:
-                    settings->bit.to_interval = settings->bit.to_interval + 1;
+                    movement_set_fast_tick_timeout((movement_get_fast_tick_timeout() + 1));
                     break;
                 case PREFERENCES_PAGE_LOW_ENERGY:
-                    settings->bit.le_interval = settings->bit.le_interval + 1;
+                    movement_set_low_energy_timeout((movement_get_low_energy_timeout() + 1));
                     break;
                 case PREFERENCES_PAGE_LED_DURATION:
                     settings->bit.led_duration = settings->bit.led_duration + 1;