movement: allow watch faces to request zero ticks
This commit is contained in:
parent
b8c824419f
commit
8e2bf8591a
@ -104,7 +104,7 @@ void movement_request_tick_frequency(uint8_t freq) {
|
||||
RTC->MODE2.INTENCLR.reg = 0xFE; // disable all callbacks except the 128 Hz one
|
||||
movement_state.subsecond = 0;
|
||||
movement_state.tick_frequency = freq;
|
||||
watch_rtc_register_periodic_callback(cb_tick, freq);
|
||||
if (freq) watch_rtc_register_periodic_callback(cb_tick, freq);
|
||||
}
|
||||
|
||||
void movement_illuminate_led() {
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
const watch_face_t watch_faces[] = {
|
||||
simple_clock_face,
|
||||
character_set_face,
|
||||
preferences_face,
|
||||
set_time_face,
|
||||
};
|
||||
|
@ -12,6 +12,7 @@ void character_set_face_activate(movement_settings_t *settings, void *context) {
|
||||
(void) settings;
|
||||
char *c = (char *)context;
|
||||
*c = '@';
|
||||
movement_request_tick_frequency(0);
|
||||
}
|
||||
|
||||
bool character_set_face_loop(movement_event_t event, movement_settings_t *settings, void *context) {
|
||||
@ -33,8 +34,6 @@ bool character_set_face_loop(movement_event_t event, movement_settings_t *settin
|
||||
sprintf(buf, "%c%c%c%c%c%c%c%c%c%c", *c, *c, *c, *c, *c, *c, *c, *c, *c, *c);
|
||||
watch_display_string(buf, 0);
|
||||
break;
|
||||
case EVENT_TICK:
|
||||
break;
|
||||
case EVENT_TIMEOUT:
|
||||
movement_move_to_face(0);
|
||||
break;
|
||||
@ -48,4 +47,5 @@ bool character_set_face_loop(movement_event_t event, movement_settings_t *settin
|
||||
void character_set_face_resign(movement_settings_t *settings, void *context) {
|
||||
(void) settings;
|
||||
(void) context;
|
||||
movement_request_tick_frequency(1);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user