Pour Marc la mignonne
Dependencies: BSP_DISCO_F429ZI LCD_DISCO_F429ZI TS_DISCO_F429ZI mbed
screen.cpp
- Committer:
- Alex_mln
- Date:
- 2018-05-31
- Revision:
- 0:fcce18d01987
File content as of revision 0:fcce18d01987:
#include "screen.h" /** * @brief global object for touchscreen events */ TS_StateTypeDef TS_State; /** * @fn void screen_init() * @brief the screen_init function checks if the LCD Touch screen is ready to use * @return nothing */ void screen_init() { BSP_LCD_SetFont(&Font20); BSP_LCD_Init(); // Initializes the LCD BSP_LCD_LayerDefaultInit(0, (uint32_t) LCD_FRAME_BUFFER); // Initializes the LCD layers.*/ BSP_LCD_SelectLayer(0); // Selects the LCD Layer BSP_LCD_SetLayerVisible(1, ENABLE); // Sets a LCD Layer visible BSP_LCD_Clear(LCD_COLOR_BLACK); BSP_LCD_DisplayOn(); uint8_t status = BSP_TS_Init(BSP_LCD_GetXSize(), BSP_LCD_GetYSize()); if (status != TS_OK) { BSP_LCD_Clear(LCD_COLOR_RED); BSP_LCD_SetBackColor(LCD_COLOR_RED); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE); BSP_LCD_DisplayStringAt(0, LINE(6), (uint8_t *)"INIT FAIL", CENTER_MODE); } else { BSP_LCD_Clear(LCD_COLOR_GREEN); BSP_LCD_SetBackColor(LCD_COLOR_GREEN); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE); BSP_LCD_DisplayStringAt(0, LINE(6), (uint8_t *)"INIT OK", CENTER_MODE); } } /** * @fn int isScreenTouched(void) * @brief questions whether the screen is touched or not * @return 1 if touched, 0 otherwise **/ int isScreenTouched(){ BSP_TS_GetState(&TS_State); if (TS_State.TouchDetected) { return 1; } return 0; } /** * @fn void clearScreen() * @brief the clearScreen function clears the screen and set a green background * @return nothing */ void clearScreen(){ BSP_LCD_Clear(LCD_COLOR_GREEN); } /** * @fn void showIntegerScreen(int x, int nbline, int offset, Text_AlignModeTypdef mode) * @brief the clearScreen function clears the screen and set a green background * @param x: the integer to print on the LCD screen * @param nbline: the line in which the number is to be printed * @param offset: the offset with which the number is to be printed * @param mode: the align mode * @return nothing */ void showIntegerScreen(int x, int nbline, int offset, Text_AlignModeTypdef mode){ TEXT t; sprintf((char *)t, "x=%d", x); BSP_LCD_DisplayStringAt(offset,LINE(nbline),(uint8_t*)" ",mode); //clears the line. BSP_LCD_DisplayStringAt(offset,LINE(nbline),(uint8_t*)&t,mode); }