- OswaldState.screen = IDLE_SCREEN;
- OswaldState.idle_show_seconds = FALSE;
- OswaldState.user_screendraw_func = DrawLcdDigitalClock;
- OswaldState.user_button_func = idle_handle_user_buttons;
+ OswaldScreens[IDLE_SCREEN].event_mask = EVENT_USER_BUTTONS | EVENT_ONE_SEC_TIMER;
+ OswaldScreens[IDLE_SCREEN].event_func = idle_handle_events;
+
+ OswaldScreens[ACCEL_DISPLAY_SCREEN].event_mask = EVENT_USER_BUTTONS | EVENT_ACCEL_UPDATE;
+ OswaldScreens[ACCEL_DISPLAY_SCREEN].event_func = accel_handle_events;
+
+ OswaldScreens[DATETIME_SETTING_SCREEN].event_mask = EVENT_USER_BUTTONS | EVENT_HALF_SEC_TIMER;
+ OswaldScreens[DATETIME_SETTING_SCREEN].event_func = datetime_setup_events;
+
+ OswaldScreens[ALARM_SETUP_SCREEN].event_mask = EVENT_USER_BUTTONS | EVENT_HALF_SEC_TIMER;
+ OswaldScreens[ALARM_SETUP_SCREEN].event_func = alarm_setup_events;
+
+ OswaldScreens[MENU_TEST_SCREEN].event_mask = EVENT_USER_BUTTONS;
+ OswaldScreens[MENU_TEST_SCREEN].event_func = test_menu_handle_events;
+
+ OswaldScreens[STOP_WATCH_SCREEN].event_mask = EVENT_USER_BUTTONS | EVENT_CS_TIMER;
+ OswaldScreens[STOP_WATCH_SCREEN].event_func = stop_watch_handle_events;
+
+ OswaldScreens[ALARM_SCREEN].event_mask = EVENT_USER_BUTTONS | EVENT_HALF_SEC_TIMER;
+ OswaldScreens[ALARM_SCREEN].event_func = alarm_handle_events;
+
+ OswaldState.screen_id = IDLE_SCREEN;
+ OswaldState.screen = &OswaldScreens[OswaldState.screen_id];
+
+ if (OswaldState.screen->event_func != NULL)
+ OswaldState.screen->event_func(EVENT_SCREEN_VISIBLE, NULL);
+
+ OswaldAlarm.hour = 12;
+ OswaldAlarm.minute = 0;
+ OswaldAlarm.wday = 0x00;