X-Git-Url: https://git.karo-electronics.de/?p=oswald.git;a=blobdiff_plain;f=ui%2Foswald.h;fp=ui%2Foswald.h;h=f92651dedd9b0ae6cba3b6d353337a813179a101;hp=6e641eb35113db769b66508f572029a3a5206a59;hb=e9b651b4a531d38826d7952475b5ad0d3d8118e9;hpb=8e3cbad72c8e3abb97f2081527f91af98d8558be diff --git a/ui/oswald.h b/ui/oswald.h index 6e641eb..f92651d 100644 --- a/ui/oswald.h +++ b/ui/oswald.h @@ -31,18 +31,20 @@ typedef struct { u8t second; u8t day; u8t month; - u8t year; + u16t year; + boolean clk24hr; + boolean day_first; } clock_state; typedef enum { IDLE_SCREEN = 0, ACCEL_DISPLAY_SCREEN, - DATETIME_SETTING_SCREEN, MENU_TEST_SCREEN, // SCREEN2_SCREEN, // SCREEN3_SCREEN, // APPLICATION_SCREEN, LAST_SCREEN, // a marker for the last (not valid) screen) + DATETIME_SETTING_SCREEN, } screen_number; typedef enum { @@ -56,13 +58,14 @@ typedef enum { #define EVENT_SCREEN_VISIBLE (1<<0) // screen just became visible #define EVENT_SCREEN_DESTROY (1<<1) // screen is destroyed -#define EVENT_ONE_SEC_TIMER (1<<2) -#define EVENT_MS_TIMER (1<<3) -#define EVENT_USER_BUTTONS (1<<4) -#define EVENT_ACCEL_UPDATE (1<<5) -#define EVENT_AMBIENTLIGHT_UPDATE (1<<6) -#define EVENT_POWER_CHANGE (1<<7) -#define EVENT_COMMS (1<<8) +#define EVENT_ONE_SEC_TIMER (1<<2) // one second timer for reguler clock +#define EVENT_HALF_SEC_TIMER (1<<3) // half second timer for blinking displays +#define EVENT_CS_TIMER (1<<4) // centisecond timer, e.g. for stop watch +#define EVENT_USER_BUTTONS (1<<5) // button presses +#define EVENT_ACCEL_UPDATE (1<<6) // accelerometer updates +#define EVENT_AMBIENTLIGHT_UPDATE (1<<7) // ambient light sensor updates +#define EVENT_POWER_CHANGE (1<<8) // power source status change +#define EVENT_COMMS (1<<9) // communication, like Bluetooth I/O typedef struct { u16t event_mask; // the event the screen wants to receive @@ -76,5 +79,11 @@ typedef struct { boolean pending_idle; } watch_state; +typedef struct { + u8t x; + u8t y; + u8t z; +} accel_data_t; + #endif