mirror of
https://github.com/joeycastillo/second-movement.git
synced 2025-10-29 19:47:40 +00:00
accelerometer status face: bug fixes
This commit is contained in:
parent
e9b7f3f955
commit
bb5aa4ff7c
@ -54,13 +54,6 @@ void accelerometer_status_face_setup(uint8_t watch_face_index, void ** context_p
|
|||||||
void accelerometer_status_face_activate(void *context) {
|
void accelerometer_status_face_activate(void *context) {
|
||||||
accel_interrupt_count_state_t *state = (accel_interrupt_count_state_t *)context;
|
accel_interrupt_count_state_t *state = (accel_interrupt_count_state_t *)context;
|
||||||
|
|
||||||
// get the current data rate from Movement
|
|
||||||
state->old_rate = movement_get_accelerometer_background_rate();
|
|
||||||
if (state->old_rate == LIS2DW_DATA_RATE_POWERDOWN) {
|
|
||||||
// if accelerometer was powered down, power it up at the lowest possible rate
|
|
||||||
movement_set_accelerometer_background_rate(LIS2DW_DATA_RATE_LOWEST);
|
|
||||||
}
|
|
||||||
|
|
||||||
// never in settings mode at the start
|
// never in settings mode at the start
|
||||||
state->is_setting = false;
|
state->is_setting = false;
|
||||||
|
|
||||||
@ -96,6 +89,7 @@ bool accelerometer_status_face_loop(movement_event_t event, void *context) {
|
|||||||
case EVENT_ALARM_BUTTON_UP:
|
case EVENT_ALARM_BUTTON_UP:
|
||||||
lis2dw_configure_wakeup_threshold(state->new_threshold);
|
lis2dw_configure_wakeup_threshold(state->new_threshold);
|
||||||
state->threshold = state->new_threshold;
|
state->threshold = state->new_threshold;
|
||||||
|
watch_clear_decimal_if_available();
|
||||||
state->is_setting = false;
|
state->is_setting = false;
|
||||||
break;
|
break;
|
||||||
case EVENT_TIMEOUT:
|
case EVENT_TIMEOUT:
|
||||||
@ -133,9 +127,5 @@ bool accelerometer_status_face_loop(movement_event_t event, void *context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void accelerometer_status_face_resign(void *context) {
|
void accelerometer_status_face_resign(void *context) {
|
||||||
accel_interrupt_count_state_t *state = (accel_interrupt_count_state_t *)context;
|
(void)context;
|
||||||
|
|
||||||
// restore old data rate. This only does something if old_rate was POWERDOWN.
|
|
||||||
// If the old rate was anything other than POWERDOWN, we didn't change anything and this will be a no-op.
|
|
||||||
movement_set_accelerometer_background_rate(state->old_rate);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,7 +38,6 @@
|
|||||||
typedef struct {
|
typedef struct {
|
||||||
uint8_t new_threshold;
|
uint8_t new_threshold;
|
||||||
uint8_t threshold;
|
uint8_t threshold;
|
||||||
lis2dw_data_rate_t old_rate;
|
|
||||||
bool is_setting;
|
bool is_setting;
|
||||||
} accel_interrupt_count_state_t;
|
} accel_interrupt_count_state_t;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user