;
Dependencies: BSP_DISCO_F746NG
Diff: main.cpp
- Revision:
- 6:c8648bfc56bb
diff -r 8a5414710483 -r c8648bfc56bb main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Jun 22 13:01:13 2021 +0000 @@ -0,0 +1,94 @@ + +#include "mbed.h" +#include "stm32746g_discovery_lcd.h" +#include "stm32746g_discovery_ts.h" +#include "GroveGPS.h" +GroveGPS gps; +PwmOut PWM1(PB_4); +PwmOut PWM2(PH_6); +PwmOut PWM3(PI_2); +PwmOut PWM4(PA_15); +PwmOut PWM5(PA_8); +PwmOut PWM6(PB_15); +PwmOut mypwm7(PA_0); +PwmOut mypwm8(PF_9); +PwmOut mypwm9(PF_8); +int main() +{ + char buffer[100]; + char buffer2[100]; + char buffer3[100]; + TS_StateTypeDef TS_State; + uint16_t x, y; + uint8_t text[30]; + uint8_t status; + uint8_t idx; + uint8_t cleared = 0; + uint8_t prev_nb_touches = 0; + bool heure; + bool latitude; + bool longitude; + + //initialisation LCD + BSP_LCD_Init(); + BSP_LCD_LayerDefaultInit(LTDC_ACTIVE_LAYER, LCD_FB_START_ADDRESS); + BSP_LCD_SelectLayer(LTDC_ACTIVE_LAYER); + + BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN DEMO", CENTER_MODE); + HAL_Delay(1000); + + 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 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 INIT OK", CENTER_MODE); + } + + HAL_Delay(1000); + BSP_LCD_SetFont(&Font12); + BSP_LCD_SetBackColor(LCD_COLOR_BLUE); + BSP_LCD_SetTextColor(LCD_COLOR_WHITE); + + while(1) { + /* + BSP_TS_GetState(&TS_State); + if (TS_State.touchDetected) { + // Clear lines corresponding to old touches coordinates + if (TS_State.touchDetected < prev_nb_touches) { + for (idx = (TS_State.touchDetected + 1); idx <= 5; idx++) { + BSP_LCD_ClearStringLine(idx); + } + } + */ + // récupération de l'heure + heure = gps.getTimestamp(buffer); + BSP_LCD_Clear(LCD_COLOR_BLUE); + BSP_LCD_SetTextColor(LCD_COLOR_WHITE); + BSP_LCD_DisplayStringAt(0, LINE(10), (uint8_t *)&buffer, CENTER_MODE); + /* Récupération de la latitude + latitude = gps.getLatitude(buffer2); + BSP_LCD_Clear(LCD_COLOR_BLUE); + BSP_LCD_SetTextColor(LCD_COLOR_WHITE); + BSP_LCD_DisplayStringAt(0, LINE(12), (uint8_t *)&buffer2, CENTER_MODE); + Récupération de la longitude + longitude = gps.getLongitude(buffer3); + BSP_LCD_Clear(LCD_COLOR_BLUE); + BSP_LCD_SetTextColor(LCD_COLOR_WHITE); + BSP_LCD_DisplayStringAt(0, LINE(14), (uint8_t *)&buffer3, CENTER_MODE); + */ + PWM2 = 0; + PWM3 = 0.5; + PWM4 =0; + PWM5 = 0; + PWM6 = 0.5; + PWM3.period_ms(10); + HAL_Delay(500); + } +} +