X-Git-Url: https://git.karo-electronics.de/?p=oswald.git;a=blobdiff_plain;f=ui%2Foswald.h;h=8d16b2e3b01b8f9f6f7c6d67264dd73c564f6324;hp=31ee5cd33a0aa71a3b6e6371d5850ae560022346;hb=84e4829f9f2bbf104d05b4bbb9a2551b3759d792;hpb=5d0ff002cee35d109f4a60eff415b2db556fb8f4 diff --git a/ui/oswald.h b/ui/oswald.h index 31ee5cd..8d16b2e 100644 --- a/ui/oswald.h +++ b/ui/oswald.h @@ -1,7 +1,11 @@ #ifndef _OSWALD_H #define _OSWALD_H +#include +#include #include +#define OSWALD_VERSION "v0.3" + //#define DEBUG 1 #ifdef DEBUG #define dbg_out( args... ) fprintf(stderr, args) @@ -9,11 +13,7 @@ #define dbg_out( args... ) do {} while (0) #endif -typedef signed char s8t; -typedef unsigned char u8t; -typedef signed short s16t; -typedef unsigned short u16t; -typedef u8t boolean; +typedef uint8_t boolean; #ifdef TRUE #undef TRUE #endif @@ -27,13 +27,13 @@ typedef u8t boolean; #endif typedef struct { - u8t hour; - u8t minute; - u8t second; - u8t day; - u8t wday; // day in week, 0=sunday, 1=monday,... - u8t month; - u16t year; + uint8_t hour; + uint8_t minute; + uint8_t second; + uint8_t day; + uint8_t wday; // day in week, 0=sunday, 1=monday,... + uint8_t month; + uint16_t year; boolean clk24hr; boolean day_first; } clock_state; @@ -46,19 +46,21 @@ typedef struct { #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... + uint8_t hour; + uint8_t minute; + uint8_t 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, -// APPLICATION_SCREEN, + INFO_SCREEN, LAST_SCREEN, // a marker for the last (not valid) screen) + MENU_TEST_SCREEN, + APPLICATION_SCREEN, DATETIME_SETTING_SCREEN, ALARM_SCREEN, SCREENS_END, @@ -85,10 +87,15 @@ typedef enum { #define EVENT_COMMS (1<<9) // communication, like Bluetooth I/O #define EVENT_POWER_STATE (1<<10) // power source changed or similar +typedef enum { + EVENT_RET_UNHANDLED = 0, + EVENT_RET_HANDLED, + EVENT_RET_ERR +} event_ret_t; typedef struct { - u16t event_mask; // the event the screen wants to receive - void (*event_func)(u16t event, void *data); // callback for events + uint16_t event_mask; // the event the screen wants to receive + event_ret_t (*event_func)(uint16_t event, void *data); // callback for events void *user_data; } watch_screen; @@ -99,9 +106,9 @@ typedef struct { } watch_state; typedef struct { - u8t x; - u8t y; - u8t z; + int8_t x; + int8_t y; + int8_t z; } accel_data_t; #define POWER_SOURCE_BATTERY 0 @@ -113,10 +120,10 @@ typedef struct { #define POWER_CHARGER_UNK 3 typedef struct { - u8t source; - u8t charge_state; - u8t percent; - u16t level; + uint8_t source; + uint8_t charge_state; + uint8_t percent; + uint16_t level; } power_state; typedef enum {