X-Git-Url: https://git.karo-electronics.de/?p=oswald.git;a=blobdiff_plain;f=ui%2Foswald.h;h=ee51438c1edbe39141fc39627f3683b8db1f5208;hp=f92651dedd9b0ae6cba3b6d353337a813179a101;hb=b83e605bc8ba69950a84b6ed268f0c196f68762c;hpb=e9b651b4a531d38826d7952475b5ad0d3d8118e9 diff --git a/ui/oswald.h b/ui/oswald.h index f92651d..ee51438 100644 --- a/ui/oswald.h +++ b/ui/oswald.h @@ -1,7 +1,10 @@ #ifndef _OSWALD_H #define _OSWALD_H +#include +#include +#include -#define DEBUG 1 +//#define DEBUG 1 #ifdef DEBUG #define dbg_out( args... ) fprintf(stderr, args) #else @@ -30,21 +33,38 @@ typedef struct { u8t minute; u8t second; u8t day; + u8t wday; // day in week, 0=sunday, 1=monday,... u8t month; u16t year; boolean clk24hr; boolean day_first; } clock_state; +#define WDAY_SUNDAY (1 << 0) +#define WDAY_MONDAY (1 << 1) +#define WDAY_TUESDAY (1 << 2) +#define WDAY_WEDNESDAY (1 << 3) +#define WDAY_THURSDAY (1 << 4) +#define WDAY_FRIDAY (1 << 5) +#define WDAY_SATURDAY (1 << 6) +typedef struct { + u8t hour; + u8t minute; + u8t wday; // bitfield 0 to 6, 1=sunday, 2=monday, 4=tuesday... +} alarm_clk; + typedef enum { IDLE_SCREEN = 0, + ALARM_SETUP_SCREEN, + STOP_WATCH_SCREEN, + BLUETOOTH_SCREEN, ACCEL_DISPLAY_SCREEN, MENU_TEST_SCREEN, -// SCREEN2_SCREEN, -// SCREEN3_SCREEN, // APPLICATION_SCREEN, LAST_SCREEN, // a marker for the last (not valid) screen) DATETIME_SETTING_SCREEN, + ALARM_SCREEN, + SCREENS_END, } screen_number; typedef enum { @@ -66,6 +86,8 @@ typedef enum { #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 +#define EVENT_POWER_STATE (1<<10) // power source changed or similar + typedef struct { u16t event_mask; // the event the screen wants to receive @@ -85,5 +107,26 @@ typedef struct { u8t z; } accel_data_t; -#endif +#define POWER_SOURCE_BATTERY 0 +#define POWER_SOURCE_EXTERNAL 1 +#define POWER_CHARGER_DONE 0 +#define POWER_CHARGER_PRECHARGE 1 +#define POWER_CHARGER_CHARGING 2 +#define POWER_CHARGER_UNK 3 + +typedef struct { + u8t source; + u8t charge_state; + u8t percent; + u16t level; +} power_state; + +typedef enum { + BLUETOOTH_OFF = 0, + BLUETOOTH_ON, + BLUETOOTH_CONNECTED, + BLUETOOTH_ILL +} bluetooth_state; + +#endif