9 #define dbg_out( args... ) fprintf(stderr, args)
11 #define dbg_out( args... ) do {} while (0)
14 typedef signed char s8t;
15 typedef unsigned char u8t;
16 typedef signed short s16t;
17 typedef unsigned short u16t;
36 u8t wday; // day in week, 0=sunday, 1=monday,...
43 #define WDAY_SUNDAY (1 << 0)
44 #define WDAY_MONDAY (1 << 1)
45 #define WDAY_TUESDAY (1 << 2)
46 #define WDAY_WEDNESDAY (1 << 3)
47 #define WDAY_THURSDAY (1 << 4)
48 #define WDAY_FRIDAY (1 << 5)
49 #define WDAY_SATURDAY (1 << 6)
53 u8t wday; // bitfield 0 to 6, 1=sunday, 2=monday, 4=tuesday...
63 // APPLICATION_SCREEN,
64 LAST_SCREEN, // a marker for the last (not valid) screen)
65 DATETIME_SETTING_SCREEN,
79 #define EVENT_SCREEN_VISIBLE (1<<0) // screen just became visible
80 #define EVENT_SCREEN_DESTROY (1<<1) // screen is destroyed
81 #define EVENT_ONE_SEC_TIMER (1<<2) // one second timer for reguler clock
82 #define EVENT_HALF_SEC_TIMER (1<<3) // half second timer for blinking displays
83 #define EVENT_CS_TIMER (1<<4) // centisecond timer, e.g. for stop watch
84 #define EVENT_USER_BUTTONS (1<<5) // button presses
85 #define EVENT_ACCEL_UPDATE (1<<6) // accelerometer updates
86 #define EVENT_AMBIENTLIGHT_UPDATE (1<<7) // ambient light sensor updates
87 #define EVENT_POWER_CHANGE (1<<8) // power source status change
88 #define EVENT_COMMS (1<<9) // communication, like Bluetooth I/O
89 #define EVENT_POWER_STATE (1<<10) // power source changed or similar
93 u16t event_mask; // the event the screen wants to receive
94 void (*event_func)(u16t event, void *data); // callback for events
99 screen_number screen_id;
100 watch_screen *screen; // the current screen
101 boolean pending_idle;
110 #define POWER_SOURCE_BATTERY 0
111 #define POWER_SOURCE_EXTERNAL 1
113 #define POWER_CHARGER_DONE 0
114 #define POWER_CHARGER_PRECHARGE 1
115 #define POWER_CHARGER_CHARGING 2
116 #define POWER_CHARGER_UNK 3