/** * @brief Display main example message * @param None * @retval None */ static void Display_ExampleDescription(void) { BSP_LCD_SetFont(&LCD_DEFAULT_FONT); /* Clear the LCD */ BSP_LCD_SetBackColor(LCD_COLOR_WHITE); BSP_LCD_Clear(LCD_COLOR_WHITE); /* Set the LCD Text Color */ BSP_LCD_SetTextColor(LCD_COLOR_DARKBLUE); /* Display LCD messages */ BSP_LCD_DisplayStringAt(0, 10, (uint8_t *)"STM32F303xE", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 35, (uint8_t *)"Example", CENTER_MODE); /* Draw Bitmap */ BSP_LCD_DrawBitmap((BSP_LCD_GetXSize() - 80)/2, 65, (uint8_t *)stlogo); BSP_LCD_SetFont(&Font12); BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize()- 20, (uint8_t *)"Copyright (c) STMicroelectronics 2015", CENTER_MODE); BSP_LCD_SetFont(&Font16); BSP_LCD_SetTextColor(LCD_COLOR_DARKBLUE); BSP_LCD_FillRect(0, BSP_LCD_GetYSize()/2 + 15, BSP_LCD_GetXSize(), 60); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_SetBackColor(LCD_COLOR_DARKBLUE); BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize()/2 + 15, (uint8_t *)"Press Key push-button", CENTER_MODE); BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize()/2 + 30, (uint8_t *)"to start :", CENTER_MODE); BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize()/2 + 45, (uint8_t *)"AUDIO playback Example", CENTER_MODE); }
/** * @brief Display SD Demo Hint * @param None * @retval None */ static void SD_SetHint(void) { /* Clear the LCD */ BSP_LCD_Clear(LCD_COLOR_WHITE); /* Set LCD Demo description */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_FillRect(0, 0, BSP_LCD_GetXSize(), 80); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_SetBackColor(LCD_COLOR_BLUE); BSP_LCD_SetFont(&Font24); BSP_LCD_DisplayStringAt(0, 0, (uint8_t *)"SD", CENTER_MODE); BSP_LCD_SetFont(&Font12); BSP_LCD_DisplayStringAt(0, 30, (uint8_t *)"This example shows how to write", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 45, (uint8_t *)"and read data on the microSD and also", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 60, (uint8_t *)"how to detect the presence of the card", CENTER_MODE); /* Set the LCD Text Color */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_DrawRect(10, 90, BSP_LCD_GetXSize() - 20, BSP_LCD_GetYSize()- 100); BSP_LCD_DrawRect(11, 91, BSP_LCD_GetXSize() - 22, BSP_LCD_GetYSize()- 102); BSP_LCD_SetTextColor(LCD_COLOR_BLACK); BSP_LCD_SetBackColor(LCD_COLOR_WHITE); }
/** * @brief Display SD Demo Hint * @param None * @retval None */ static void SD_SetHint(void) { /* Clear the LCD */ BSP_LCD_Clear(LCD_COLOR_WHITE); /* Set LCD Demo description */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_FillRect(0, 0, BSP_LCD_GetXSize(), 80); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_SetBackColor(LCD_COLOR_BLUE); BSP_LCD_SetFont(&Font24); BSP_LCD_DisplayStringAt(0, 0, (uint8_t *)"SD", CENTER_MODE); BSP_LCD_SetFont(&Font12); BSP_LCD_DisplayStringAt(0, 20, (uint8_t *)"This example shows", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 35, (uint8_t *)"how to write and", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 50, (uint8_t *)"read data on the" , CENTER_MODE); BSP_LCD_DisplayStringAt(0, 65, (uint8_t *)"microSD card ", CENTER_MODE); /* Set the LCD Text Color */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_DrawRect(1, 82, BSP_LCD_GetXSize() - 3, BSP_LCD_GetYSize()- 84); BSP_LCD_DrawRect(2, 83, BSP_LCD_GetXSize() - 5, BSP_LCD_GetYSize()- 86); BSP_LCD_SetTextColor(LCD_COLOR_BLACK); BSP_LCD_SetBackColor(LCD_COLOR_WHITE); }
/** * @brief Draws the menu. * @param None * @retval None */ static void Draw_Menu(void) { /* Clear the LCD */ BSP_LCD_Clear(LCD_COLOR_WHITE); /* Draw color image */ BSP_LCD_DrawBitmap(0, 0, (uint8_t *)color); /* Draw save image */ BSP_LCD_DrawBitmap(320, (BSP_LCD_GetYSize() - 90), (uint8_t *)save); /* Set Black as text color */ BSP_LCD_SetTextColor(LCD_COLOR_BLACK); /* Draw working window */ BSP_LCD_DrawRect(91, 0, (BSP_LCD_GetXSize()-91), (BSP_LCD_GetYSize()-90)); BSP_LCD_DrawRect(93, 3, (BSP_LCD_GetXSize()-96), (BSP_LCD_GetYSize()-96)); BSP_LCD_DrawRect(95, 5, (BSP_LCD_GetXSize()-100), (BSP_LCD_GetYSize()-100)); BSP_LCD_DrawRect(97, 7, (BSP_LCD_GetXSize()-104), (BSP_LCD_GetYSize()-104)); /* Draw size icons */ BSP_LCD_FillRect(100, (BSP_LCD_GetYSize() - 85), 210, 80); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_FillCircle(135, (BSP_LCD_GetYSize() - 45), 15); BSP_LCD_FillCircle(205, (BSP_LCD_GetYSize() - 45), 10); BSP_LCD_FillCircle(275, (BSP_LCD_GetYSize() - 45), 5); BSP_LCD_SetTextColor(LCD_COLOR_DARKRED); BSP_LCD_SetFont(&Font8); BSP_LCD_DisplayStringAt(430, (BSP_LCD_GetYSize() - 75), (uint8_t *)"Selected Color Size", LEFT_MODE); BSP_LCD_SetTextColor(LCD_COLOR_BLACK); BSP_LCD_FillRect(450, (BSP_LCD_GetYSize() - 50), 30, 30); BSP_LCD_FillCircle(520, (BSP_LCD_GetYSize() - 35), Radius); }
static void Display_DemoDescription(void) { uint8_t desc[50]; BSP_LCD_SetFont(&LCD_DEFAULT_FONT); /* Clear the LCD */ BSP_LCD_SetBackColor(LCD_COLOR_WHITE); BSP_LCD_Clear(LCD_COLOR_WHITE); /* Set the LCD Text Color */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); /* Display LCD messages */ BSP_LCD_DisplayStringAt(0, 10, (uint8_t *)"STM32F446ZE BSP", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 25, (uint8_t *)"Drivers examples", CENTER_MODE); /* Draw Bitmap */ BSP_LCD_DrawBitmap((BSP_LCD_GetXSize() - 80)/2, 35, (uint8_t *)stlogo); BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize()- 15, (uint8_t *)"Copyright (c) STM 2015", CENTER_MODE); BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_FillRect(0, BSP_LCD_GetYSize()/2 + 15, BSP_LCD_GetXSize(), 40); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_SetBackColor(LCD_COLOR_BLUE); BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize()/2 + 25, (uint8_t *)"Use User Button to start", CENTER_MODE); sprintf((char *)desc,"%s example", BSP_examples[DemoIndex].DemoName); BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize()/2 + 40, (uint8_t *)desc, CENTER_MODE); }
/** * @brief Display IOE_GPIO Demo Hint * @param None * @retval None */ static void IOE_GPIO_SetHint(void) { /* Clear the LCD */ BSP_LCD_Clear(LCD_COLOR_WHITE); /* Set LCD Demo description */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_FillRect(0, 0, BSP_LCD_GetXSize(), 80); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_SetBackColor(LCD_COLOR_BLUE); BSP_LCD_SetFont(&Font24); BSP_LCD_DisplayStringAt(0, 0, (uint8_t *)"IOE_GPIO", CENTER_MODE); BSP_LCD_SetFont(&Font12); BSP_LCD_DisplayStringAt(0, 30, (uint8_t *)"This test check the IO and exti ", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 45, (uint8_t *)"of the MFX expander Driver", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 60, (uint8_t *)"Connect the requested pins with a wire", CENTER_MODE); /* Set the LCD Text Color */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_DrawRect(10, 90, BSP_LCD_GetXSize() - 20, BSP_LCD_GetYSize()- 100); BSP_LCD_DrawRect(11, 91, BSP_LCD_GetXSize() - 22, BSP_LCD_GetYSize()- 102); BSP_LCD_SetTextColor(LCD_COLOR_BLACK); BSP_LCD_SetBackColor(LCD_COLOR_WHITE); }
/** * @brief Display TSENSOR Demo Hint * @param None * @retval None */ static void TSENSOR_SetHint(void) { /* Clear the LCD */ BSP_LCD_Clear(LCD_COLOR_WHITE); /* Set LCD Demo description */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_FillRect(0, 0, BSP_LCD_GetXSize(), 80); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_SetBackColor(LCD_COLOR_BLUE); BSP_LCD_SetFont(&Font24); BSP_LCD_DisplayStringAt(0, 0, (uint8_t*)"TEMPERATURE SENSOR", CENTER_MODE); BSP_LCD_SetFont(&Font12); BSP_LCD_DisplayStringAt(0, 30, (uint8_t*)"This example shows how to", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 45, (uint8_t*)"read a Temperature", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 60, (uint8_t*)"and manage temperature limit alert", CENTER_MODE); /* Set the LCD Text Color */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_DrawRect(10, 90, BSP_LCD_GetXSize() - 20, BSP_LCD_GetYSize()- 100); BSP_LCD_DrawRect(11, 91, BSP_LCD_GetXSize() - 22, BSP_LCD_GetYSize()- 102); /* Prepare LCD to display */ BSP_LCD_SetBackColor(LCD_COLOR_WHITE); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_FillRect(12, 92, BSP_LCD_GetXSize() - 24, BSP_LCD_GetYSize()- 104); BSP_LCD_SetTextColor(LCD_COLOR_BLACK); }
/** * @brief Display main demo messages * @param None * @retval None */ static void Display_DemoDescription(void) { char desc[50]; BSP_LCD_SetFont(&LCD_DEFAULT_FONT); /* Clear the LCD */ BSP_LCD_SetBackColor(LCD_COLOR_WHITE); BSP_LCD_Clear(LCD_COLOR_WHITE); /* Set the LCD Text Color */ BSP_LCD_SetTextColor(LCD_COLOR_DARKBLUE); /* Display LCD messages */ BSP_LCD_DisplayStringAt(0, 10, (uint8_t *)"STM32F4xG BSP", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 35, (uint8_t *)"Drivers examples", CENTER_MODE); /* Draw Bitmap */ BSP_LCD_DrawBitmap((BSP_LCD_GetXSize() - 80)/2, 65, (uint8_t *)stlogo); BSP_LCD_SetFont(&Font12); BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize()- 20, (uint8_t *)"Copyright (c) STMicroelectronics 2014", CENTER_MODE); BSP_LCD_SetFont(&Font16); BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_FillRect(0, BSP_LCD_GetYSize()/2 + 15, BSP_LCD_GetXSize(), 60); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_SetBackColor(LCD_COLOR_BLUE); BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize()/2 + 30, (uint8_t *)"Press User Button to start :", CENTER_MODE); sprintf(desc,"%s example", BSP_examples[DemoIndex].DemoName); BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize()/2 + 45, (uint8_t *)desc, CENTER_MODE); }
/** * @brief Display joystick demo hint * @param None * @retval None */ static void Joystick_SetHint(uint8_t exti_vs_polling) { /* Clear the LCD */ BSP_LCD_Clear(LCD_COLOR_WHITE); /* Set Joystick Demo description */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_FillRect(0, 0, BSP_LCD_GetXSize(), 80); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_SetBackColor(LCD_COLOR_BLUE); BSP_LCD_SetFont(&Font24); if (exti_vs_polling == 0) { BSP_LCD_DisplayStringAt(0, 0, (uint8_t *)"MFX Joystick", CENTER_MODE); } else { BSP_LCD_DisplayStringAt(0, 0, (uint8_t *)"MFX Joystick Exti", CENTER_MODE); } BSP_LCD_SetFont(&Font12); BSP_LCD_DisplayStringAt(0, 30, (uint8_t *)"Please use the joystick to", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 45, (uint8_t *)"move the pointer inside the", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 60, (uint8_t *)"rectangle", CENTER_MODE); /* Set the LCD Text Color */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_DrawRect(10, 90, BSP_LCD_GetXSize() - 20, BSP_LCD_GetYSize()- 100); BSP_LCD_DrawRect(11, 91, BSP_LCD_GetXSize() - 22, BSP_LCD_GetYSize()- 102); }
/** * @brief Display QSPI Demo Hint * @param None * @retval None */ static void QSPI_SetHint(void) { /* Clear the LCD */ BSP_LCD_Clear(LCD_COLOR_WHITE); /* Set LCD Demo description */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_FillRect(0, 0, BSP_LCD_GetXSize(), 80); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_SetBackColor(LCD_COLOR_BLUE); BSP_LCD_SetFont(&Font24); BSP_LCD_DisplayStringAt(0, 0, (uint8_t*)"QSPI", CENTER_MODE); BSP_LCD_SetFont(&Font12); BSP_LCD_DisplayStringAt(0, 30, (uint8_t*)"This example shows how to write", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 45, (uint8_t*)"and read data on QSPI memory", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 60, (uint8_t*)"(Hardware modifications needed)", CENTER_MODE); /* Set the LCD Text Color */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_DrawRect(10, 90, BSP_LCD_GetXSize() - 20, BSP_LCD_GetYSize()- 100); BSP_LCD_DrawRect(11, 91, BSP_LCD_GetXSize() - 22, BSP_LCD_GetYSize()- 102); BSP_LCD_SetTextColor(LCD_COLOR_BLACK); BSP_LCD_SetBackColor(LCD_COLOR_WHITE); }
/** * @brief Display AUDIO Playback Demo Hint * @param None * @retval None */ static void AudioPlay_SetHint(void) { /* Clear the LCD */ BSP_LCD_Clear(LCD_COLOR_WHITE); /* Set LCD Demo description */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_FillRect(0, 0, BSP_LCD_GetXSize(), 80); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_SetBackColor(LCD_COLOR_BLUE); BSP_LCD_SetFont(&Font24); BSP_LCD_DisplayStringAt(0, 0, (uint8_t*)"AUDIO Playback", CENTER_MODE); BSP_LCD_SetFont(&Font12); BSP_LCD_DisplayStringAt(0, 30, (uint8_t*)"This example provides basic", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 45, (uint8_t*)"implementation of audio features", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 60, (uint8_t*)"through the I2S peripheral ", CENTER_MODE); /* Set the LCD Text Color */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_DrawRect(10, 90, BSP_LCD_GetXSize() - 20, BSP_LCD_GetYSize()- 100); BSP_LCD_DrawRect(11, 91, BSP_LCD_GetXSize() - 22, BSP_LCD_GetYSize()- 102); /* Prepare LCD to display */ BSP_LCD_SetBackColor(LCD_COLOR_WHITE); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_FillRect(12, 92, BSP_LCD_GetXSize() - 24, BSP_LCD_GetYSize()- 104); BSP_LCD_SetTextColor(LCD_COLOR_BLACK); }
/** * @brief Display audio play demo hint * @param None * @retval None */ static void AudioPlay_SetHint(void) { /* Clear the LCD */ BSP_LCD_Clear(LCD_COLOR_WHITE); /* Set Joystick Demo description */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_FillRect(0, 0, BSP_LCD_GetXSize(), 80); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_SetBackColor(LCD_COLOR_BLUE); BSP_LCD_SetFont(&Font24); BSP_LCD_DisplayStringAt(0, 0, (uint8_t *)"Audio Play", CENTER_MODE); BSP_LCD_SetFont(&Font12); BSP_LCD_DisplayStringAt(0, 30, (uint8_t *)"Press KEY to stop playback", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 45, (uint8_t *)"Press SEL to pause/resume playback", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 60, (uint8_t *)"Press UP/DOWN to change Volume", CENTER_MODE); /* Set the LCD Text Color */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_DrawRect(10, 90, BSP_LCD_GetXSize() - 20, BSP_LCD_GetYSize()- 100); BSP_LCD_DrawRect(11, 91, BSP_LCD_GetXSize() - 22, BSP_LCD_GetYSize()- 102); BSP_LCD_SetTextColor(LCD_COLOR_BLACK); BSP_LCD_SetBackColor(LCD_COLOR_WHITE); }
/** * @brief Display TS Demo Hint * @param None * @retval None */ static void Touchscreen_SetHint(uint8_t exti_vs_polling) { /* Clear the LCD */ BSP_LCD_Clear(LCD_COLOR_WHITE); /* Set Touchscreen Demo description */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_FillRect(0, 0, BSP_LCD_GetXSize(), 80); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_SetBackColor(LCD_COLOR_BLUE); BSP_LCD_SetFont(&Font24); if (exti_vs_polling == 0) { BSP_LCD_DisplayStringAt(0, 0, (uint8_t *)"Touchscreen", CENTER_MODE); } else { BSP_LCD_DisplayStringAt(0, 0, (uint8_t *)"Touchscreen Exti", CENTER_MODE); } BSP_LCD_SetFont(&Font12); BSP_LCD_DisplayStringAt(0, 30, (uint8_t *)"Please use the Touchscreen to", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 45, (uint8_t *)"activate the colored circle", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 60, (uint8_t *)"inside the rectangle", CENTER_MODE); /* Set the LCD Text Color */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_DrawRect(10, 90, BSP_LCD_GetXSize() - 20, BSP_LCD_GetYSize()- 100); BSP_LCD_DrawRect(11, 91, BSP_LCD_GetXSize() - 22, BSP_LCD_GetYSize()- 102); }
/** * @brief Draws the menu. * @param None * @retval None */ static void Draw_Menu(void) { /* Clear the LCD */ BSP_LCD_Clear(LCD_COLOR_WHITE); /* Draw color image */ BSP_LCD_DrawBitmap(0, 0, (uint8_t *)color); /* Draw save image */ BSP_LCD_DrawBitmap(160, (BSP_LCD_GetYSize() - 50), (uint8_t *)save); /* Set Black as text color */ BSP_LCD_SetTextColor(LCD_COLOR_BLACK); /* Draw working window */ BSP_LCD_DrawRect(61, 0, (BSP_LCD_GetXSize()-61), (BSP_LCD_GetYSize()-60)); BSP_LCD_DrawRect(63, 3, (BSP_LCD_GetXSize()-66), (BSP_LCD_GetYSize()-66)); BSP_LCD_DrawRect(65, 5, (BSP_LCD_GetXSize()-70), (BSP_LCD_GetYSize()-70)); BSP_LCD_DrawRect(67, 7, (BSP_LCD_GetXSize()-74), (BSP_LCD_GetYSize()-74)); /* Draw size icons */ BSP_LCD_FillRect(60, (BSP_LCD_GetYSize() - 48), 90, 48); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_FillCircle(80, (BSP_LCD_GetYSize() - 24), 10); BSP_LCD_FillCircle(110, (BSP_LCD_GetYSize() - 24), 5); BSP_LCD_FillCircle(135, (BSP_LCD_GetYSize() - 24), 2); BSP_LCD_SetTextColor(LCD_COLOR_DARKRED); BSP_LCD_SetFont(&Font8); BSP_LCD_DisplayStringAt(210, (BSP_LCD_GetYSize() - 55), (uint8_t *)"Selected Color Size", LEFT_MODE); BSP_LCD_SetTextColor(LCD_COLOR_BLACK); BSP_LCD_FillRect(220, (BSP_LCD_GetYSize() - 40), 30, 30); BSP_LCD_FillCircle(290, (BSP_LCD_GetYSize() - 24), Radius); }
void lcd_init(void) { BSP_LCD_Init(); BSP_LCD_LayerDefaultInit(0, (uint32_t)LCD_FRAME_BUFFER); BSP_LCD_SelectLayer(0); BSP_LCD_Clear(LCD_COLOR_RED); BSP_LCD_SetBackColor(LCD_COLOR_RED); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); // BSP_LCD_LayerDefaultInit(1, (uint32_t)LCD_FRAME_BUFFER + 76800); // BSP_LCD_SelectLayer(1); // BSP_LCD_Clear(LCD_COLOR_RED); // BSP_LCD_SetBackColor(LCD_COLOR_RED); // BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_SetLayerVisible(0, ENABLE); // BSP_LCD_SetLayerVisible(1, ENABLE); BSP_LCD_DisplayOn(); for (int i = 0; i < LCD_SIZE; i ++) { lcd.screen[i] = ' '; } lcd.col = 0; }
/** * @brief Main program * @param None * @retval None */ int main(void) { /* This sample code shows how to use STM32F4xx GPIO HAL API to toggle PG13 IOs (connected to LED3 on STM32F429i-Discovery board) in an infinite loop. To proceed, 3 steps are required: */ /* 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(); /* -1- Initialize LEDs mounted on Discovery board */ BSP_LED_Init(LED3); BSP_LED_Init(LED4); /* -2- Configure the system clock */ SystemClock_Config(); /* -3- Configure EXTI Line0 (connected to PA0 pin) in interrupt mode */ EXTILine0_Config(); /*##-1- Initialize the LCD #################################################*/ /* Initialize the LCD */ BSP_LCD_Init(); /* Initialise the LCD Layers */ BSP_LCD_LayerDefaultInit(1, LCD_FRAME_BUFFER); /* Gleich bleibende Einstellenungen am LCD-Display */ /* Set LCD Foreground Layer */ BSP_LCD_SelectLayer(1); BSP_LCD_SetFont(&LCD_DEFAULT_FONT); /* Clear the LCD */ BSP_LCD_SetBackColor(LCD_COLOR_WHITE); BSP_LCD_Clear(LCD_COLOR_WHITE); /* Set the LCD Text Color */ BSP_LCD_SetTextColor(LCD_COLOR_DARKBLUE); /* Display LCD messages */ BSP_LCD_DisplayStringAt(0, 10, (uint8_t*)"GOLF CART", CENTER_MODE); BSP_LCD_SetFont(&Font16); BSP_LCD_DisplayStringAt(0, 35, (uint8_t*)"v in km/h", CENTER_MODE); /* Infinite loop */ while (1) { if (uAenderung) { GeschwindigkeitAufLCD(uAktuelleGeschwindigkeit_zehntelkmh); uAenderung = 0; } } }
void LCD_LOG_Init ( void) { /* Deinit LCD cache */ LCD_LOG_DeInit(); /* Clear the LCD */ BSP_LCD_Clear(LCD_LOG_BACKGROUND_COLOR); }
// Constructor LCD_DISCO_F469NI::LCD_DISCO_F469NI() { BSP_LCD_Init(); BSP_LCD_InitEx(LCD_ORIENTATION_LANDSCAPE); BSP_LCD_LayerDefaultInit(LTDC_ACTIVE_LAYER_BACKGROUND, LCD_FB_START_ADDRESS); BSP_LCD_SetFont(&Font20); BSP_LCD_Clear(LCD_COLOR_WHITE); }
/** * @brief Main program * @param None * @retval None */ int main(void) { /* 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(); /* Configure LED1 and LED3 */ BSP_LED_Init(LED1); BSP_LED_Init(LED3); /*##-1- LCD Initialization #################################################*/ /* Initialize the LCD */ BSP_LCD_Init(); /* Enable the LCD */ BSP_LCD_DisplayOn(); /* Clear the LCD Background layer */ BSP_LCD_Clear(LCD_COLOR_WHITE); /*##-2- Touch screen initialization ########################################*/ Touchscreen_Calibration(); BSP_TS_Init(BSP_LCD_GetXSize(), BSP_LCD_GetYSize()); /*##-3- Link the SD Card disk I/O driver ###################################*/ if(FATFS_LinkDriver(&SD_Driver, SDPath) != 0) { /* FatFs Initialization Error */ Error_Handler(); } /* Create a FAT file system (format) on the logical drive */ f_mkfs((TCHAR const*)SDPath, 0, 0); /*##-4- Register the file system object to the FatFs module ################*/ if(f_mount(&SDFatFs, (TCHAR const*)SDPath, 0) != FR_OK) { /* FatFs Initialization Error */ Error_Handler(); } /*##-5- Draw the menu ######################################################*/ Draw_Menu(); /* Infinite loop */ while (1) { /*##-6- Configure the touch screen and Get the position ####################*/ GetPosition(); } }
int main(void) { HAL_Init(); /* Configure the system clock */ SystemClock_Config(); BSP_LCD_Init(); BSP_LCD_LayerDefaultInit(1, (uint32_t) LCD_FRAME_BUFFER); BSP_LCD_SetLayerVisible(1, ENABLE); BSP_LCD_SelectLayer(1); BSP_LCD_Clear(LCD_COLOR_WHITE); BSP_LCD_SetBackColor(LCD_COLOR_WHITE); BSP_LCD_SetTextColor(LCD_COLOR_BLACK); BSP_LCD_DisplayOn(); BSP_LCD_DisplayStringAtLine(0, (uint8_t *) "Hello FreeRTOS"); #define LED_TASK_PRIORITY ((1 + tskIDLE_PRIORITY) | portPRIVILEGE_BIT) #define LCD_TASK_PRIORITY ((1 + tskIDLE_PRIORITY) | portPRIVILEGE_BIT) #define LED_TASK_PRIORITY_LOW ((1 + tskIDLE_PRIORITY) | portPRIVILEGE_BIT) #define LED_TASK_PRIORITY_HIGH ((2 + tskIDLE_PRIORITY) | portPRIVILEGE_BIT) //xTaskCreate( (pdTASK_CODE)test_task_delay, "test", configMINIMAL_STACK_SIZE, 0, LED_TASK_PRIORITY, NULL); //xTaskCreate( (pdTASK_CODE)test_task_delay_until, "test", configMINIMAL_STACK_SIZE, 0, LED_TASK_PRIORITY, NULL); /*std::stringstream output; std::string outputstring; const char * chararray; output.str(std::string()); output << "Counter: " << 0; outputstring = ""; outputstring = output.str(); chararray = ""; chararray = outputstring.c_str(); BSP_LCD_DisplayStringAtLine (1, (uint8_t *) chararray);*/ //xTaskCreate( (pdTASK_CODE)led1_task, "led1", 256, 0, LED_TASK_PRIORITY, NULL); //xTaskCreate( (pdTASK_CODE)led2_task, "led2", 256, 0, LED_TASK_PRIORITY, NULL); //xTaskCreate( (pdTASK_CODE)lcd_task, "lcd", 256, 0, LCD_TASK_PRIORITY, NULL); xTaskCreate( (pdTASK_CODE)led1_task_timeslicing, "led1", 256, 0, LED_TASK_PRIORITY, NULL); xTaskCreate( (pdTASK_CODE)led2_task_timeslicing, "led2", 256, 0, LED_TASK_PRIORITY+1, NULL); // was LED_TASK_PRIORITY //job_descriptor blink1_job_descriptor = job_descriptor(1000/3, LED3); //xTaskCreate( (pdTASK_CODE)blink1_task, "led3", 256, &blink1_job_descriptor, LED_TASK_PRIORITY, NULL); //job_descriptor blink2_job_descriptor = job_descriptor(2000/3, LED4); //xTaskCreate( (pdTASK_CODE)blink2_task, "led4", 256, &blink2_job_descriptor, LED_TASK_PRIORITY, NULL); //xTaskCreate( (pdTASK_CODE)blink_task_low_priority, "led3", 256, 0, LED_TASK_PRIORITY_LOW, NULL); //xTaskCreate( (pdTASK_CODE)blink_task_high_priority, "led4", 256, 0, LED_TASK_PRIORITY_HIGH, NULL); vTaskStartScheduler (); return 0; }
/** * @brief Displays adequate message on TFT available on adafruit 1.8" TFT shield * @param message: Error message to be displayed on the LCD. * This parameter can be one of following values: * @arg SD_CARD_NOT_FORMATTED: SD CARD is not FAT formatted * @arg SD_CARD_FILE_NOT_SUPPORTED: File is not supported * @arg SD_CARD_OPEN_FAIL: Failure to open directory * @arg FATFS_NOT_MOUNTED: FatFs is not mounted * @retval None */ static void TFT_DisplayErrorMessage(uint8_t message) { /* LCD Clear */ BSP_LCD_Clear(LCD_COLOR_WHITE); /* Set Error Message Font */ BSP_LCD_SetFont(&Font12); /* Set Text and Back colors */ BSP_LCD_SetBackColor(LCD_COLOR_GREY); BSP_LCD_SetTextColor(LCD_COLOR_RED); if(message == SD_CARD_NOT_FORMATTED) { /* Display message */ BSP_LCD_DisplayStringAtLine(5, (uint8_t*)" SD Card is not "); BSP_LCD_DisplayStringAtLine(6, (uint8_t*)" FAT formatted. "); BSP_LCD_DisplayStringAtLine(7, (uint8_t*)" Please Format the "); BSP_LCD_DisplayStringAtLine(8, (uint8_t*)" microSD card. "); while (1) { } } if(message == SD_CARD_FILE_NOT_SUPPORTED) { /* Display message */ BSP_LCD_DisplayStringAtLine(5, (uint8_t*)" "); BSP_LCD_DisplayStringAtLine(6, (uint8_t*)" File type is not "); BSP_LCD_DisplayStringAtLine(7, (uint8_t*)" supported. "); BSP_LCD_DisplayStringAtLine(8, (uint8_t*)" "); while(1) { } } if(message == SD_CARD_OPEN_FAIL) { /* Display message */ BSP_LCD_DisplayStringAtLine(5, (uint8_t*)" "); BSP_LCD_DisplayStringAtLine(6, (uint8_t*)" Open directory "); BSP_LCD_DisplayStringAtLine(7, (uint8_t*)" fails. "); BSP_LCD_DisplayStringAtLine(8, (uint8_t*)" "); while(1) { } } if(message == FATFS_NOT_MOUNTED) { /* Display message */ BSP_LCD_DisplayStringAtLine(5, (uint8_t*)" "); BSP_LCD_DisplayStringAtLine(6, (uint8_t*)" Cannot mount "); BSP_LCD_DisplayStringAtLine(7, (uint8_t*)" FatFs on Drive. "); BSP_LCD_DisplayStringAtLine(8, (uint8_t*)" "); while (1) { } } }
int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_ADC1_Init(); MX_DMA2D_Init(); MX_FMC_Init(); MX_I2C3_Init(); MX_LTDC_Init(); MX_RNG_Init(); MX_SPI5_Init(); BSP_LCD_Init(); BSP_LCD_LayerDefaultInit(LCD_BACKGROUND_LAYER, LCD_FRAME_BUFFER); BSP_LCD_LayerDefaultInit(LCD_FOREGROUND_LAYER, LCD_FRAME_BUFFER); BSP_LCD_SelectLayer(LCD_FOREGROUND_LAYER); BSP_LCD_Clear(LCD_COLOR_BLACK); BSP_LCD_DisplayOn(); uint8_t Button_Value; GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.Pin |= GPIO_PIN_0; GPIO_InitStruct.Mode = 0x00; GPIO_InitStruct.Pull = 0x02; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); while (1) { for(uint16_t i = 0; i < SIZE; i+=2) { HAL_ADC_Start(&hadc1); HAL_ADC_PollForConversion(&hadc1,1000); samples[i] = HAL_ADC_GetValue(&hadc1); samples[i+1] = 0; HAL_ADC_Stop(&hadc1); } Button_Value = HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0); if( Button_Value ) { fft(); } else { display_samples(samples); } } }
/** * @brief Display LCD demo contextual hint * @param feature_index : index of the feature to show * @retval None */ static void LCD_SetHint(uint8_t feature_index) { if(feature_index < LCD_FEAT_NB_MAX) { /* Clear the LCD */ BSP_LCD_Clear(LCD_COLOR_WHITE); /* Set LCD Demo description */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_FillRect(0, 0, BSP_LCD_GetXSize(), 80); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_SetBackColor(LCD_COLOR_BLUE); BSP_LCD_SetFont(&Font24); BSP_LCD_DisplayStringAt(0, 0, (uint8_t *)"LCD Demo", CENTER_MODE); BSP_LCD_SetFont(&Font12); switch(feature_index) { case LCD_FEAT_TEXT : BSP_LCD_DisplayStringAt(0, 30, (uint8_t *)"Basic Text", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 45, (uint8_t *)"With different Fonts sizes", CENTER_MODE); break; case LCD_FEAT_SIMPLE_SHAPES : BSP_LCD_DisplayStringAt(0, 30, (uint8_t *)"Simple Shapes", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 45, (uint8_t *)"Draws circles, ellipses, polygons...", CENTER_MODE); break; case LCD_FEAT_BASIC_BITMAP : BSP_LCD_DisplayStringAt(0, 30, (uint8_t *)"Basic Bitmap", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 45, (uint8_t *)"Display logo several times...", CENTER_MODE); break; case LCD_FEAT_ULPM_DATA_ONLY : BSP_LCD_DisplayStringAt(0, 30, (uint8_t *)"ULPM mode in/out", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 45, (uint8_t *)"data only...", CENTER_MODE); break; case LCD_FEAT_ULPM_DATA_AND_CLOCK : BSP_LCD_DisplayStringAt(0, 30, (uint8_t *)"ULPM mode in/out", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 45, (uint8_t *)"data and clock ...", CENTER_MODE); break; default : break; } BSP_LCD_DisplayStringAt(0, 60, (uint8_t *)"press TAMPER button press for next test", CENTER_MODE); /* Set the LCD Text Color */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_DrawRect(10, 90, BSP_LCD_GetXSize() - 20, BSP_LCD_GetYSize() - 100); BSP_LCD_DrawRect(11, 91, BSP_LCD_GetXSize() - 22, BSP_LCD_GetYSize() - 102); } /* of if(feature_index < LCD_FEAT_NB_MAX) */ }
/** * @brief Display Example description. * @param None * @retval None */ static void LCD_BriefDisplay(void) { BSP_LCD_Clear(LCD_COLOR_WHITE); BSP_LCD_SetBackColor(LCD_COLOR_BLUE); BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_FillRect(0, 0, 800, 112); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_DisplayStringAtLine(1, (uint8_t *)" LCD_DSI_VideoMode_DoubleBuffering"); BSP_LCD_SetFont(&Font16); BSP_LCD_DisplayStringAtLine(4, (uint8_t *)"This example shows how to display images on LCD DSI using two buffers"); BSP_LCD_DisplayStringAtLine(5, (uint8_t *)"one for display and the other for draw "); }
/** * @brief Animation demo * @param None * @retval None */ void Animation_demo (void) { uint32_t exit = 0; uint32_t entry = 1; uint32_t initialState = 0; Animation_SetHint(); /* Infinite loop */ while (exit == 0) { if(entry == 1) /* Entry */ { entry = 0; BSP_LCD_SetBackColor(LCD_COLOR_WHITE); BSP_LCD_SetTextColor(LCD_COLOR_BLUE); /* Clear first the LCD */ BSP_LCD_Clear(LCD_COLOR_WHITE); } /* of if(entry == 1) */ /* Read initial state of button User */ initialState = BSP_PB_GetState(BUTTON_USER); /* Toggle LED4 */ BSP_LED_Toggle(LED4); /* Insert 100 ms delay */ HAL_Delay(100); /* Toggle LED2 */ BSP_LED_Toggle(LED2); /* Insert 400 ms delay */ HAL_Delay(400); /* update the scene */ anime_draw_scene(anime_lcd_frame_buffer); /* Re check button state */ if(BSP_PB_GetState(BUTTON_USER) != initialState) { exit = 1; } } /* of while (exit == 0) */ }
/** * @brief Display calibration hint * @param None * @retval None */ static void TouchscreenCalibration_SetHint(void) { /* Clear the LCD */ BSP_LCD_Clear(LCD_COLOR_WHITE); /* Set Touchscreen Demo description */ BSP_LCD_SetTextColor(LCD_COLOR_BLACK); BSP_LCD_SetBackColor(LCD_COLOR_WHITE); BSP_LCD_SetFont(&Font12); BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize()/2 - 27, (uint8_t*)"Before using the Touchscreen", CENTER_MODE); BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize()/2 - 12, (uint8_t*)"you need to calibrate it.", CENTER_MODE); BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize()/2 + 3, (uint8_t*)"Press on the black circles", CENTER_MODE); }
/** * @brief Display LCD demo hint * @param None * @retval None */ static void LCD_SetHint(void) { /* Clear the LCD */ BSP_LCD_Clear(LCD_COLOR_WHITE); /* Clear the LCD */ BSP_LCD_Clear(LCD_COLOR_WHITE); /* Set Joystick Demo description */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_FillRect(0, 0, BSP_LCD_GetXSize(), 55); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_SetBackColor(LCD_COLOR_BLUE); BSP_LCD_SetFont(&Font24); BSP_LCD_SetFont(&Font12); BSP_LCD_DisplayStringAt(0, 10, (uint8_t *)"LCD Demo", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 25, (uint8_t *)"Use User BUTTON to", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 40, (uint8_t *)"display next page", CENTER_MODE); BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_SetBackColor(LCD_COLOR_WHITE); }
void backToHomeScreen (void* button) { ((button_t*) button)->hasBeenAcknowledged = 1; aScreen = BOARD_SELECTION; selected_board->board.writeBytes[1] = 128; cycleSelected = 128; rampSelected = 128; BSP_LCD_Clear(LCD_COLOR_WHITE); setVersion(version); drawHomeScreen(); }
/** * @brief Draws the menu. * @param None * @retval None */ static void Draw_Menu(void) { /* Set background Layer */ BSP_LCD_SelectLayer(0); /* Clear the LCD */ BSP_LCD_Clear(LCD_COLOR_WHITE); if (BSP_LCD_GetXSize() == 640) { /* Draw color image */ BSP_LCD_DrawBitmap(0, 0, (uint8_t *)color); } else { /* Draw color image */ BSP_LCD_DrawBitmap(0, 0, (uint8_t *)color2); } /* Draw save image */ BSP_LCD_DrawBitmap(310, (BSP_LCD_GetYSize() - 50), (uint8_t *)save); /* Set Black as text color */ BSP_LCD_SetTextColor(LCD_COLOR_BLACK); /* Draw working window */ BSP_LCD_DrawRect(61, 0, (BSP_LCD_GetXSize() - 61), (BSP_LCD_GetYSize() - 60)); BSP_LCD_DrawRect(63, 3, (BSP_LCD_GetXSize() - 66), (BSP_LCD_GetYSize() - 66)); BSP_LCD_DrawRect(65, 5, (BSP_LCD_GetXSize() - 70), (BSP_LCD_GetYSize() - 70)); BSP_LCD_DrawRect(67, 7, (BSP_LCD_GetXSize() - 74), (BSP_LCD_GetYSize() - 74)); /* Draw size icons */ BSP_LCD_FillRect(60, (BSP_LCD_GetYSize() - 48), 250, 48); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_FillCircle(95, (BSP_LCD_GetYSize() - 24), 20); BSP_LCD_FillCircle(145, (BSP_LCD_GetYSize() - 24), 15); BSP_LCD_FillCircle(195, (BSP_LCD_GetYSize() - 24), 10); BSP_LCD_FillCircle(245, (BSP_LCD_GetYSize() - 24), 5); BSP_LCD_FillCircle(295, (BSP_LCD_GetYSize() - 24), 2); BSP_LCD_SetTextColor(LCD_COLOR_DARKRED); BSP_LCD_SetFont(&Font8); BSP_LCD_DisplayStringAt(360, (BSP_LCD_GetYSize() - 55), (uint8_t *)"Selected Color Size", LEFT_MODE); BSP_LCD_SetTextColor(LCD_COLOR_BLACK); BSP_LCD_FillRect(380, (BSP_LCD_GetYSize() - 40), 30, 30); BSP_LCD_FillCircle(450, (BSP_LCD_GetYSize()- 24), Radius); }
/** * @brief Display TS Demo Hint for all touchscreen demos depending on passed * demoIndex in parameter. * @param demoIndex : parameter of type @ref TouchScreenDemoTypeDef * @retval None */ static void Touchscreen_SetHint_Demo(TouchScreenDemoTypeDef demoIndex) { if(demoIndex <= TOUCHSCREEN_DEMO_MAX) { /* Clear the LCD */ BSP_LCD_Clear(LCD_COLOR_WHITE); /* Set Touchscreen Demo1 description */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_FillRect(0, 0, BSP_LCD_GetXSize(), 80); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_SetBackColor(LCD_COLOR_BLUE); BSP_LCD_SetFont(&Font24); if(demoIndex == TOUCHSCREEN_DEMO_1) { BSP_LCD_DisplayStringAt(0, 0, (uint8_t *)"Touchscreen basic polling", CENTER_MODE); BSP_LCD_SetFont(&Font12); BSP_LCD_DisplayStringAt(0, 30, (uint8_t *)"Please use the Touchscreen to", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 45, (uint8_t *)"activate the colored circle", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 60, (uint8_t *)"inside the rectangle. Then press TAMPER button", CENTER_MODE); } else if (demoIndex == TOUCHSCREEN_DEMO_2) { BSP_LCD_DisplayStringAt(0, 0, (uint8_t *)"Touchscreen dual touch polling", CENTER_MODE); BSP_LCD_SetFont(&Font12); BSP_LCD_DisplayStringAt(0, 30, (uint8_t *)"Please press the Touchscreen to", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 45, (uint8_t *)"activate single and", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 60, (uint8_t *)"dual touch", CENTER_MODE); } else /* demoIndex == TOUCHSCREEN_DEMO_3 */ { BSP_LCD_DisplayStringAt(0, 0, (uint8_t *)"Touchscreen dual touch interrupt", CENTER_MODE); BSP_LCD_SetFont(&Font12); BSP_LCD_DisplayStringAt(0, 30, (uint8_t *)"Please press the Touchscreen to", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 45, (uint8_t *)"activate single and", CENTER_MODE); BSP_LCD_DisplayStringAt(0, 60, (uint8_t *)"dual touch", CENTER_MODE); } /* Set the LCD Text Color */ BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_DrawRect(10, 90, BSP_LCD_GetXSize() - 20, BSP_LCD_GetYSize() - 100); BSP_LCD_DrawRect(11, 91, BSP_LCD_GetXSize() - 22, BSP_LCD_GetYSize() - 102); } /* of if(demoIndex <= TOUCHSCREEN_DEMO_MAX) */ }