summaryrefslogtreecommitdiffstats
path: root/movement/movement.h
diff options
context:
space:
mode:
Diffstat (limited to 'movement/movement.h')
-rw-r--r--movement/movement.h20
1 files changed, 13 insertions, 7 deletions
diff --git a/movement/movement.h b/movement/movement.h
index 79222e8c..6cf8cf0d 100644
--- a/movement/movement.h
+++ b/movement/movement.h
@@ -61,7 +61,8 @@ typedef union {
// altimeter to display feet or meters as easily as it tells a thermometer to display degrees in F or C.
bool clock_mode_24h : 1; // indicates whether clock should use 12 or 24 hour mode.
bool use_imperial_units : 1; // indicates whether to use metric units (the default) or imperial.
- uint8_t reserved : 7; // room for more preferences if needed.
+ bool alarm_enabled : 1; // indicates whether there is at least one alarm enabled.
+ uint8_t reserved : 6; // room for more preferences if needed.
} bit;
uint32_t reg;
} movement_settings_t;
@@ -109,13 +110,16 @@ typedef enum {
EVENT_TIMEOUT, // Your watch face has been inactive for a while. You may want to resign, depending on your watch face's intended use case.
EVENT_LIGHT_BUTTON_DOWN, // The light button has been pressed, but not yet released.
EVENT_LIGHT_BUTTON_UP, // The light button was pressed and released.
- EVENT_LIGHT_LONG_PRESS, // The light button was held for >2 seconds, and released.
+ EVENT_LIGHT_LONG_PRESS, // The light button was held for >2 seconds, but not yet released.
+ EVENT_LIGHT_LONG_UP, // The light button was held for >2 seconds, and released.
EVENT_MODE_BUTTON_DOWN, // The mode button has been pressed, but not yet released.
EVENT_MODE_BUTTON_UP, // The mode button was pressed and released.
- EVENT_MODE_LONG_PRESS, // The mode button was held for >2 seconds, and released. NOTE: your watch face will resign immediately after receiving this event.
+ EVENT_MODE_LONG_PRESS, // The mode button was held for >2 seconds, but not yet released.
+ EVENT_MODE_LONG_UP, // The mode button was held for >2 seconds, and released. NOTE: your watch face will resign immediately after receiving this event.
EVENT_ALARM_BUTTON_DOWN, // The alarm button has been pressed, but not yet released.
EVENT_ALARM_BUTTON_UP, // The alarm button was pressed and released.
- EVENT_ALARM_LONG_PRESS, // The alarm button was held for >2 seconds, and released.
+ EVENT_ALARM_LONG_PRESS, // The alarm button was held for >2 seconds, but not yet released.
+ EVENT_ALARM_LONG_UP, // The alarm button was held for >2 seconds, and released.
} movement_event_type_t;
typedef struct {
@@ -252,11 +256,12 @@ typedef struct {
// alarm stuff
int16_t alarm_ticks;
bool is_buzzing;
+ BuzzerNote alarm_note;
// button tracking for long press
- uint8_t light_down_timestamp;
- uint8_t mode_down_timestamp;
- uint8_t alarm_down_timestamp;
+ uint16_t light_down_timestamp;
+ uint16_t mode_down_timestamp;
+ uint16_t alarm_down_timestamp;
// background task handling
bool needs_background_tasks_handled;
@@ -300,6 +305,7 @@ void movement_request_wake(void);
void movement_play_signal(void);
void movement_play_alarm(void);
+void movement_play_alarm_beeps(uint8_t rounds, BuzzerNote alarm_note);
uint8_t movement_claim_backup_register(void);