void ACCEL_StopAccelDemo(void) { EVNT1_SetEvent(EVNT1_APP_MODE_CHANGE); /* request to close application */ while(EVNT1_GetEvent(EVNT1_APP_MODE_CHANGE)) { /* wait until task has killed itself */ FRTOS1_vTaskDelay(50/portTICK_RATE_MS); } APP_SetApplicationMode(APP_MODE_MAIN_MENU); }
static void runnerW_WindowCallback(UI1_Window *window, UI1_Element *element, UI1_EventCallbackKind kind, UI1_Pvoid data) { (void)window; (void)data; /* unused argument */ if (kind==UI1_EVENT_CLICK) { if (UI1_EqualElement(element, &appWp->iconClose)) { FRTOS1_vTaskDelete(xHandleTaskRunner); APP_SetApplicationMode(APP_MODE_MAIN_MENU); return; } else if (UI1_EqualElement(element, &appWp->iconDelLast)) { RUNNER_delLastRunner = TRUE; } } }
static void motorGraphW_WindowCallback(UI1_Window *window, UI1_Element *element, UI1_EventCallbackKind kind, UI1_Pvoid data) { #if PL_HAS_SLIDER if (UI1_EqualElement(element, &appWp->sliderSpace)) { SLIDER_SliderW_WindowCallback(window, element, kind, data); return; } #else (void)data; (void)window; #endif if (kind==UI1_EVENT_CLICK) { if (UI1_EqualElement(element, &appWp->iconClose)) { EVNT1_SetEvent(EVNT1_APP_MODE_CHANGE); /* request to close application */ while(EVNT1_GetEvent(EVNT1_APP_MODE_CHANGE)) { /* wait until task has killed itself */ FRTOS1_vTaskDelay(50/portTICK_RATE_MS); } APP_SetApplicationMode(APP_MODE_MAIN_MENU); return; } } }
static portTASK_FUNCTION(TaskMain, pvParameters ) { byte i; #if PL_HAS_HW_LED byte cntr; #endif /* The parameters are not used. */ (void)pvParameters; #if PL_HAS_WATCHDOG WDOG_Clear(); #endif #if PL_HAS_HW_TOUCHSCREEN TouchScreen_CheckTouchScreenCalibrationData(); #endif BUZ_Init(); #if PL_HAS_UI APP_Init(); #endif #if PL_HAS_HW_LED cntr = 0; LED3_On(); LED4_Off(); #endif for(;;) { #if PL_HAS_HW_TOUCHSCREEN TCHS1_Scan(); #endif #if PL_POLL_KEYS2 KEY2_ScanKeys(); /* poll keys */ #endif i = 10; /* to avoid stalling */ while (EVNT1_EventsPending() && i>0) { EVNT1_HandleEvent(); i--; } #if PL_HAS_HW_LED cntr++; if (cntr == 10) { /* change LED's */ LED3_Neg(); LED4_Neg(); cntr = 0; } #endif #if PL_HAS_AUTO_DEMO #if PL_HAS_FONT_DEMO FRTOS1_vTaskDelay((2*1000)/portTICK_RATE_MS); APP_SetApplicationMode(APP_MODE_FONT_DEMO); FRTOS1_vTaskDelay((10*1000)/portTICK_RATE_MS); #endif #if PL_HAS_ACCEL_DEMO APP_SetApplicationMode(APP_MODE_ACCEL_DEMO); FRTOS1_vTaskDelay((15*1000)/portTICK_RATE_MS); ACCEL_StopAccelDemo(); FRTOS1_vTaskDelay((2*1000)/portTICK_RATE_MS); #endif #if 0 && PL_HAS_TETRIS_DEMO APP_SetApplicationMode(APP_MODE_TETRIS); FRTOS1_vTaskDelay((5*1000)/portTICK_RATE_MS); TETRIS_KillTask(); FRTOS1_vTaskDelay((2*1000)/portTICK_RATE_MS); #endif #if PL_HAS_CUBE_DEMO APP_SetApplicationMode(APP_MODE_3D_CUBE); FRTOS1_vTaskDelay((8*1000)/portTICK_RATE_MS); CUBE_CloseShipWindow(); FRTOS1_vTaskDelay((2*1000)/portTICK_RATE_MS); CUBE_CloseCubeWindow(); FRTOS1_vTaskDelay((2*1000)/portTICK_RATE_MS); #endif //APP_SetApplicationMode(APP_MODE_MAIN_MENU); //FRTOS1_vTaskDelay((5*1000)/portTICK_RATE_MS); heapSize = FRTOS1_xPortGetFreeHeapSize(); #endif FRTOS1_vTaskDelay(50/portTICK_RATE_MS); } /* for */ }