break;
}
OswaldState.screen->event_func(EVENT_SCREEN_DESTROY, NULL);
+#if 0
// next screen
OswaldState.screen_id++;
if (OswaldState.screen_id >= LAST_SCREEN) {
OswaldState.screen_id = IDLE_SCREEN;
};
+#else
+ OswaldState.screen_id = IDLE_SCREEN;
+#endif
OswaldState.screen = &OswaldScreens[OswaldState.screen_id];
OswaldState.screen->event_func(EVENT_SCREEN_VISIBLE, NULL);
break;
snprintf(rtime, 16, "#RTC%02d%02d%02d\n", OswaldClk.hour, OswaldClk.minute, OswaldClk.second);
hal_bluetooth_send_data(rtime, strlen(rtime));
} else if (strncmp(icmd, "$SRT", 4) == 0) { // set current RTC
+ char rtime[16];
+ snprintf(rtime, 16, "#USP\n");
+ hal_bluetooth_send_data(rtime, strlen(rtime));
} else if (strncmp(icmd, "$MSG", 4) == 0) { // message on main screen
char *msg = (icmd+4);
mlen -= 4;
char rtime[16];
snprintf(rtime, 16, "#BAT%d,%d\n", OswaldPowerState.charge_state, OswaldPowerState.percent);
hal_bluetooth_send_data(rtime, strlen(rtime));
+ } else if (strncmp(icmd, "$GAL", 4) == 0) { // get ambient light value
+ char rtime[16];
+ snprintf(rtime, 16, "#GAL%d\n", hal_amblight_get_val());
+ hal_bluetooth_send_data(rtime, strlen(rtime));
}
}
}
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[MAIN_MENU_SCREEN].event_mask = EVENT_USER_BUTTONS | EVENT_ONE_SEC_TIMER;
+ OswaldScreens[MAIN_MENU_SCREEN].event_func = main_menu_handle_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[BLUETOOTH_SCREEN].event_mask = EVENT_USER_BUTTONS | EVENT_HALF_SEC_TIMER;
OswaldScreens[BLUETOOTH_SCREEN].event_func = bluetooth_screen_events;
- OswaldScreens[ALARM_SCREEN].event_mask = EVENT_USER_BUTTONS | EVENT_HALF_SEC_TIMER;
- OswaldScreens[ALARM_SCREEN].event_func = alarm_handle_events;
+ OswaldScreens[ACCEL_DISPLAY_SCREEN].event_mask = EVENT_USER_BUTTONS | EVENT_ACCEL_UPDATE;
+ OswaldScreens[ACCEL_DISPLAY_SCREEN].event_func = accel_handle_events;
+
+ OswaldScreens[MESSAGES_SCREEN].event_mask = EVENT_USER_BUTTONS;
+ OswaldScreens[MESSAGES_SCREEN].event_func = messages_screen_handle_events;
+
+ OswaldScreens[MESSAGE_SCREEN].event_mask = EVENT_USER_BUTTONS;
+ OswaldScreens[MESSAGE_SCREEN].event_func = message_screen_handle_events;
OswaldScreens[INFO_SCREEN].event_mask = 0x00; // this one does not consume any events
OswaldScreens[INFO_SCREEN].event_func = info_screen_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[MENU_TEST_SCREEN].event_mask = EVENT_USER_BUTTONS;
+ OswaldScreens[MENU_TEST_SCREEN].event_func = test_menu_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];
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.");
}