watch_state OswaldState;
watch_screen OswaldScreens[SCREENS_END];
power_state OswaldPowerState;
-u8t backlight_safety_off = 0;
+uint8_t backlight_safety_off = 0;
char MainMessage[148];
}
}
-void oswald_set_time(u8t hour, u8t minute, u8t second, boolean clk24hr)
+void oswald_set_time(uint8_t hour, uint8_t minute, uint8_t second, boolean clk24hr)
{
OswaldClk.hour = hour;
OswaldClk.minute = minute;
OswaldClk.clk24hr = clk24hr;
}
-void oswald_set_date(u8t day, u8t month, u16t year, boolean day_first)
+void oswald_set_date(uint8_t day, uint8_t month, uint16_t year, boolean day_first)
{
OswaldClk.day = day;
OswaldClk.month = month;
void oswald_handle_button_press(watch_button button)
{
switch (button) {
- case BUTTON_D:
- // backlight on/off
- if (hal_lcd_get_backlight()) {
- hal_lcd_set_backlight(FALSE);
- backlight_safety_off = 0;
- } else {
- hal_lcd_set_backlight(TRUE);
- backlight_safety_off = 2;
- }
- break;
case BUTTON_A:
case BUTTON_B:
case BUTTON_E:
case BUTTON_F:
if (OswaldState.screen->event_func != NULL &&
- (OswaldState.screen->event_mask & EVENT_USER_BUTTONS))
- OswaldState.screen->event_func(EVENT_USER_BUTTONS, &button);
+ (OswaldState.screen->event_mask & EVENT_USER_BUTTONS)) {
+ OswaldState.screen->event_func(EVENT_USER_BUTTONS, &button);
+ }
break;
case BUTTON_C:
+ if (OswaldState.screen->event_func != NULL &&
+ (OswaldState.screen->event_mask & EVENT_USER_BUTTONS)) {
+ if (OswaldState.screen->event_func(EVENT_USER_BUTTONS, &button) == EVENT_RET_HANDLED)
+ break;
+ }
OswaldState.screen->event_func(EVENT_SCREEN_DESTROY, NULL);
// next screen
OswaldState.screen_id++;
OswaldState.screen = &OswaldScreens[OswaldState.screen_id];
OswaldState.screen->event_func(EVENT_SCREEN_VISIBLE, NULL);
break;
+ case BUTTON_D:
+ // backlight on/off
+ if (hal_lcd_get_backlight()) {
+ hal_lcd_set_backlight(FALSE);
+ backlight_safety_off = 0;
+ } else {
+ hal_lcd_set_backlight(TRUE);
+ backlight_safety_off = 2;
+ }
+ break;
default:
// should never get here
break;
};
}
-void oswald_handle_accel_event(u8t x, u8t y, u8t z)
+void oswald_handle_accel_event(uint8_t x, uint8_t y, uint8_t z)
{
accel_data_t accel_data;
OswaldState.screen->event_func(EVENT_ACCEL_UPDATE, &accel_data);
}
-void oswald_handle_ambientlight_event(u8t light_level)
+void oswald_handle_ambientlight_event(uint8_t light_level)
{
if (OswaldState.screen->event_func != NULL &&
(OswaldState.screen->event_mask & EVENT_AMBIENTLIGHT_UPDATE))
OswaldAlarm.hour = 12;
OswaldAlarm.minute = 0;
OswaldAlarm.wday = 0x00;
+
+ // strcpy(MainMessage, "So koennte dann eine Nachricht aussehen. Samt Text mit Unterlaengen. Und dies ist dann die letzte Zeile und mehr Text als paßt.");
}