/********************************************************************* * * MainTask */ void MainTask(void) { #if GUI_WINSUPPORT WM_SetCreateFlags(WM_CF_MEMDEV); #endif GUI_Init(); #if GUI_WINSUPPORT WM_MULTIBUF_Enable(1); #endif GUIDEMO_Main(); }
void GUIThread (void const *argument) { WM_SetCreateFlags(WM_CF_MEMDEV); WM_MULTIBUF_Enable(1); /* Initialize the Graphics Component */ GUI_Init(); ICONVIEW_EnableStreamAuto(); /* Add GUI setup code here */ hbkWin = CreatebkWin(); //ADC_Start(); while (1) { GUI_Delay(2); } }
/** * @brief Main program * @param None * @retval int */ int main(void) { /* STM32F4xx HAL library initialization: - Configure the Flash ART accelerator on ITCM interface - Configure the Systick to generate an interrupt each 1 msec - Set NVIC Group Priority to 4 - Global MSP (MCU Support Package) initialization */ #ifdef INCLUDE_THIRD_PARTY_MODULE /* Code Need to handle third party module */ __HAL_RCC_RTC_ENABLE(); __HAL_RCC_PWR_CLK_ENABLE(); __HAL_RCC_BKPSRAM_CLK_ENABLE(); HAL_PWR_EnableBkUpAccess(); if(*(__IO uint32_t *)(0x40024000) == GFX_DEMO_SIGNATURE_A) { *(__IO uint32_t *)(0x40024000) = 0; /* Reinitialize the Stack pointer*/ __set_MSP(*(__IO uint32_t*) GFX_DEMO_ADDRESS); /* jump to application address */ ((pFunc) (*(__IO uint32_t*) (GFX_DEMO_ADDRESS + 4)))(); } #endif HAL_Init(); /* Configure the system clock @ 180 Mhz */ SystemClock_Config(); k_BspInit(); /* Initialize RTC */ k_CalendarBkupInit(); /* Create GUI task */ osThreadDef(GUI_Thread, GUIThread, osPriorityNormal, 0, 2048); osThreadCreate (osThread(GUI_Thread), NULL); /* Add Modules*/ k_ModuleInit(); /* Link modules */ k_ModuleAdd(&audio_player_board); k_ModuleAdd(&video_player_board); k_ModuleAdd(&games_board); k_ModuleAdd(&audio_recorder_board); #ifdef INCLUDE_THIRD_PARTY_MODULE k_ModuleAdd(&third_party_board); #else k_ModuleAdd(&gardening_control_board); #endif k_ModuleAdd(&home_alarm_board); k_ModuleAdd(&settings_board); /* Initialize GUI */ GUI_Init(); WM_MULTIBUF_Enable(1); GUI_SetLayerVisEx (1, 0); GUI_SelectLayer(0); GUI_SetBkColor(GUI_WHITE); GUI_Clear(); /* Start scheduler */ osKernelStart (); /* We should never get here as control is now taken by the scheduler */ for( ;; ); }
void MainTask(void) { WM_SetCreateFlags(WM_CF_MEMDEV); GUI_Init(); WM_MULTIBUF_Enable(1); GUIDEMO_Main(); }
/** * @brief Main program * @param None * @retval int */ int main(void) { RCC_ClkInitTypeDef RCC_ClkInitStruct; RCC_OscInitTypeDef RCC_OscInitStruct; uint32_t FLatency; SystemSettingsTypeDef setting; osTimerId lcd_timer; /* STM32F4xx HAL library initialization: - Configure the Flash prefetch, instruction and Data caches - Configure the Systick to generate an interrupt each 1 msec - Set NVIC Group Priority to 4 - Global MSP (MCU Support Package) initialization */ HAL_Init(); /* Configure the system clock to 168 MHz */ SystemClock_Config(); /* Initialize Joystick, Touch screen and LEDs */ k_BspInit(); k_LogInit(); /* Initialize memory pools */ k_MemInit(); /* Initialize audio Interface */ k_BspAudioInit(); /* Initialize RTC */ k_CalendarBkupInit(); /* Add Modules */ k_ModuleInit(); /* Create GUI task */ osThreadDef(GUI_Thread, GUIThread, osPriorityHigh, 0, 2048); osThreadCreate (osThread(GUI_Thread), NULL); 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(&audio_player); k_ModuleOpenLink(&audio_player, "wav"); k_ModuleOpenLink(&audio_player, "WAV"); k_ModuleAdd(&camera_capture); k_ModuleAdd(&system_info); k_ModuleAdd(&file_browser); k_ModuleAdd(&cpu_bench); k_ModuleAdd(&game_board); k_ModuleAdd(&usb_device); /* Initialize GUI */ GUI_Init(); WM_MULTIBUF_Enable(1); /* Set General Graphical proprieties */ k_SetGuiProfile(); /* Get General settings */ setting.d32 = k_BkupRestoreParameter(CALIBRATION_GENERAL_SETTINGS_BKP); if(setting.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 = 25; 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); } /* Create Touch screen Timer */ osTimerDef(TS_Timer, TimerCallback); lcd_timer = osTimerCreate(osTimer(TS_Timer), osTimerPeriodic, (void *)0); /* Start the TS Timer */ osTimerStart(lcd_timer, 55); GUI_X_InitOS(); /* Start scheduler */ osKernelStart(); /* We should never get here as control is now taken by the scheduler */ for( ;; ); }
/** * @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); } }
/** * @brief Main program * @param None * @retval int */ int main(void) { /* Configure the MPU attributes as Write Through */ MPU_Config(); /* Enable the CPU Cache */ CPU_CACHE_Enable(); /* STM32F7xx HAL library initialization: - Configure the Flash ART accelerator on ITCM interface - Configure the Systick to generate an interrupt each 1 msec - Set NVIC Group Priority to 4 - Global MSP (MCU Support Package) initialization */ HAL_Init(); /* Configure the system clock @ 200 Mhz */ SystemClock_Config(); k_BspInit(); /* Initialize RTC */ k_CalendarBkupInit(); /* Create GUI task */ osThreadDef(GUI_Thread, GUIThread, osPriorityNormal, 0, 2048); osThreadCreate (osThread(GUI_Thread), NULL); /* Add Modules*/ k_ModuleInit(); /* Link modules */ k_ModuleAdd(&audio_player_board); k_ModuleAdd(&video_player_board); k_ModuleAdd(&games_board); k_ModuleAdd(&audio_recorder_board); k_ModuleAdd(&gardening_control_board); k_ModuleAdd(&home_alarm_board); k_ModuleAdd(&vnc_server); k_ModuleAdd(&settings_board); /* Initialize GUI */ GUI_Init(); WM_MULTIBUF_Enable(1); GUI_SetLayerVisEx (1, 0); GUI_SelectLayer(0); GUI_SetBkColor(GUI_WHITE); GUI_Clear(); /* Set General Graphical proprieties */ k_SetGuiProfile(); /* 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); /* Start scheduler */ osKernelStart (); /* We should never get here as control is now taken by the scheduler */ for( ;; ); }