/** * @brief Start task * @param argument: pointer that is passed to the thread function as start argument. * @retval None */ static void GUIThread(void const * argument) { /* Check for calibration */ if(k_CalibrationIsDone() == 0) { k_CalibrationInit(); } /* Demo Startup */ k_StartUp(); /* Initialize Storage Units */ k_StorageInit(); /* Initialize audio Interface */ k_BspAudioInit(); /* Show the main menu */ k_InitMenu(); /* Gui background Task */ while(1) { GUI_Exec(); /* Do the background work ... Update windows etc.) */ osDelay(20); /* Nothing left to do for the moment ... Idle processing */ GUI_FreeMem = GUI_ALLOC_GetNumFreeBytes(); } }
/** * @brief Start task * @param argument: pointer that is passed to the thread function as start argument. * @retval None */ static void GUIThread(void const * argument) { /* Initialize Storage Units */ k_StorageInit(); if(k_CalibrationIsDone() == 0) { k_CalibrationInit(); } /* Demo Startup */ k_StartUp(); /* Show the main menu */ k_InitMenu(); /* Gui background Task */ while(1) { GUI_Exec(); /* Toggle LED3 and LED4 */ BSP_LED_Toggle(LED3); BSP_LED_Toggle(LED4); osDelay(20); GUI_FreeMem = GUI_ALLOC_GetNumFreeBytes(); } }
/** * @brief Start task * @param argument: pointer that is passed to the thread function as start argument. * @retval None */ static void GUIThread(void const * argument) { /* Initialize Storage Units */ k_StorageInit(); /* Set General Graphical proprieties */ k_SetGuiProfile(); #ifdef INCLUDE_THIRD_PARTY_MODULE if(*(__IO uint32_t *)(0x40024000) == GFX_DEMO_SIGNATURE_B) { *(__IO uint32_t *)(0x40024000) = 0; } else { /* Demo Startup */ k_StartUp(); } #else k_StartUp(); #endif /* Create Touch screen Timer */ osTimerDef(TS_Timer, TimerCallback); lcd_timer = osTimerCreate(osTimer(TS_Timer), osTimerPeriodic, (void *)0); /* Start the TS Timer */ osTimerStart(lcd_timer, 30); /* Show the main menu */ k_InitMenu(); /* Gui background Task */ while(1) { GUI_Exec(); /* Do the background work ... Update windows etc.) */ osDelay(10); /* Nothing left to do for the moment ... Idle processing */ } }
/** * @brief Start task * @param argument: pointer that is passed to the thread function as start argument. * @retval None */ static void GUIThread(void const * argument) { /* Initialize Storage Units */ k_StorageInit(); /* Demo Startup */ k_StartUp(); /* Show the main menu */ k_InitMenu(); /* Gui background Task */ while(1) { GUI_Exec(); /* Do the background work ... Update windows etc.) */ osDelay(20); /* Nothing left to do for the moment ... Idle processing */ } }
/** * @brief Start task * @param argument: pointer that is passed to the thread function as start argument. * @retval None */ static void StartThread(void const * argument) { RCC_ClkInitTypeDef RCC_ClkInitStruct; RCC_OscInitTypeDef RCC_OscInitStruct; uint32_t FLatency; SystemSettingsTypeDef settings; osTimerId lcd_timer; /* Initialize Joystick, Touch screen and LEDs */ k_BspInit(); k_LogInit(); /* Initialize GUI */ GUI_Init(); WM_MULTIBUF_Enable(1); GUI_SelectLayer(1); /* Initialize RTC */ k_CalendarBkupInit(); /* Get General settings */ settings.d32 = k_BkupRestoreParameter(CALIBRATION_GENERAL_SETTINGS_BKP); if(settings.b.use_180Mhz) { HAL_RCC_GetClockConfig(&RCC_ClkInitStruct, &FLatency); /* Select HSE as system clock source */ RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK); RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSE; HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1); HAL_RCC_GetOscConfig(&RCC_OscInitStruct); RCC_OscInitStruct.PLL.PLLM = 8; RCC_OscInitStruct.PLL.PLLN = 360; RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; RCC_OscInitStruct.PLL.PLLQ = 7; HAL_RCC_OscConfig(&RCC_OscInitStruct); HAL_PWREx_EnableOverDrive(); /* Select PLL as system clock source */ RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK); RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5); } k_StartUp(); /* Initialize Storage Units */ k_StorageInit(); /*Initialize memory pools */ k_MemInit(); /* Add Modules*/ k_ModuleInit(); k_ModuleAdd(&video_player); k_ModuleOpenLink(&video_player, "emf"); k_ModuleOpenLink(&video_player, "EMF"); k_ModuleAdd(&image_browser); k_ModuleOpenLink(&image_browser, "jpg"); k_ModuleOpenLink(&image_browser, "JPG"); k_ModuleOpenLink(&image_browser, "bmp"); k_ModuleOpenLink(&image_browser, "BMP"); k_ModuleAdd(&system_info); k_ModuleAdd(&file_browser); k_ModuleAdd(&cpu_bench); k_ModuleAdd(&game_board); /* Create GUI task */ osThreadDef(GUI_Thread, GUIThread, osPriorityHigh, 0, 15 * configMINIMAL_STACK_SIZE); osThreadCreate (osThread(GUI_Thread), NULL); /* Create Touch screen Timer */ osTimerDef(TS_Timer, TimerCallback); lcd_timer = osTimerCreate(osTimer(TS_Timer), osTimerPeriodic, (void *)0); /* Start the TS Timer */ osTimerStart(lcd_timer, 100); for( ;; ) { /* Toggle LED3 and LED4 */ BSP_LED_Toggle(LED3); BSP_LED_Toggle(LED4); osDelay(250); } }