7 #define dbg_out( args... ) fprintf(stderr, args)
9 #define dbg_out( args... ) do {} while (0)
12 typedef signed char s8t;
13 typedef unsigned char u8t;
14 typedef signed short s16t;
15 typedef unsigned short u16t;
34 u8t wday; // day in week, 0=sunday, 1=monday,...
41 #define WDAY_SUNDAY (1 << 0)
42 #define WDAY_MONDAY (1 << 1)
43 #define WDAY_TUESDAY (1 << 2)
44 #define WDAY_WEDNESDAY (1 << 3)
45 #define WDAY_THURSDAY (1 << 4)
46 #define WDAY_FRIDAY (1 << 5)
47 #define WDAY_SATURDAY (1 << 6)
51 u8t wday; // bitfield 0 to 6, 1=sunday, 2=monday, 4=tuesday...
60 // APPLICATION_SCREEN,
61 LAST_SCREEN, // a marker for the last (not valid) screen)
62 DATETIME_SETTING_SCREEN,
76 #define EVENT_SCREEN_VISIBLE (1<<0) // screen just became visible
77 #define EVENT_SCREEN_DESTROY (1<<1) // screen is destroyed
78 #define EVENT_ONE_SEC_TIMER (1<<2) // one second timer for reguler clock
79 #define EVENT_HALF_SEC_TIMER (1<<3) // half second timer for blinking displays
80 #define EVENT_CS_TIMER (1<<4) // centisecond timer, e.g. for stop watch
81 #define EVENT_USER_BUTTONS (1<<5) // button presses
82 #define EVENT_ACCEL_UPDATE (1<<6) // accelerometer updates
83 #define EVENT_AMBIENTLIGHT_UPDATE (1<<7) // ambient light sensor updates
84 #define EVENT_POWER_CHANGE (1<<8) // power source status change
85 #define EVENT_COMMS (1<<9) // communication, like Bluetooth I/O
86 #define EVENT_POWER_STATE (1<<10) // power source changed or similar
90 u16t event_mask; // the event the screen wants to receive
91 void (*event_func)(u16t event, void *data); // callback for events
96 screen_number screen_id;
97 watch_screen *screen; // the current screen
107 #define POWER_SOURCE_BATTERY 0
108 #define POWER_SOURCE_EXTERNAL 1
110 #define POWER_CHARGER_DONE 0
111 #define POWER_CHARGER_PRECHARGE 1
112 #define POWER_CHARGER_CHARGING 2
113 #define POWER_CHARGER_UNK 3