diff options
-rw-r--r-- | movement/movement.c | 6 | ||||
-rw-r--r-- | movement/movement.h | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/movement/movement.c b/movement/movement.c index 42b73526..8185458c 100644 --- a/movement/movement.c +++ b/movement/movement.c @@ -216,6 +216,11 @@ void movement_play_alarm(void) { _movement_enable_fast_tick_if_needed(); } +uint8_t movement_claim_backup_register(void) { + if (movement_state.next_available_backup_register >= 8) return 0; + return movement_state.next_available_backup_register++; +} + void app_init(void) { memset(&movement_state, 0, sizeof(movement_state)); @@ -226,6 +231,7 @@ void app_init(void) { movement_state.settings.bit.time_zone = 16; // default to GMT movement_state.light_ticks = -1; movement_state.alarm_ticks = -1; + movement_state.next_available_backup_register = 4; _movement_reset_inactivity_countdown(); #if __EMSCRIPTEN__ diff --git a/movement/movement.h b/movement/movement.h index cb2c9ca2..a29c4469 100644 --- a/movement/movement.h +++ b/movement/movement.h @@ -268,6 +268,9 @@ typedef struct { uint8_t tick_frequency; uint8_t last_second; uint8_t subsecond; + + // backup register stuff + uint8_t next_available_backup_register; } movement_state_t; void movement_move_to_face(uint8_t watch_face_index); @@ -287,4 +290,6 @@ void movement_cancel_background_task(void); void movement_play_signal(void); void movement_play_alarm(void); +uint8_t movement_claim_backup_register(void); + #endif // MOVEMENT_H_ |