movement: add mechanism for watch faces to use backup registers
This commit is contained in:
parent
b8cb6f3bcf
commit
96017d6ec1
@ -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__
|
||||
|
@ -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_
|
||||
|
Loading…
x
Reference in New Issue
Block a user