;

Dependencies:   BSP_DISCO_F746NG

Files at this revision

API Documentation at this revision

Comitter:
louisboisaubert
Date:
Tue Jun 22 13:01:13 2021 +0000
Parent:
5:8a5414710483
Commit message:
Interfacage

Changed in this revision

BSP_DISCO_F746NG.lib Show annotated file Show diff for this revision Revisions of this file
GroveGPS.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r 8a5414710483 -r c8648bfc56bb BSP_DISCO_F746NG.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/BSP_DISCO_F746NG.lib	Tue Jun 22 13:01:13 2021 +0000
@@ -0,0 +1,1 @@
+https://mbed.org/teams/ST/code/BSP_DISCO_F746NG/#85dbcff443aa
diff -r 8a5414710483 -r c8648bfc56bb GroveGPS.h
--- a/GroveGPS.h	Tue Jun 18 12:14:13 2019 -0500
+++ b/GroveGPS.h	Tue Jun 22 13:01:13 2021 +0000
@@ -40,7 +40,7 @@
         parseLine();
 
         bool valid = gps_gga.position_fix != 0;
-		sprintf(buffer, "%f", gps_gga.utc_time);
+		sprintf(buffer, "%d", (int)(gps_gga.utc_time));
         m.unlock();
 
         return valid;
@@ -88,7 +88,7 @@
     char _last_line[max_line_length];
     bool _last_line_updated;
 
-    RawSerial gps_serial;
+    UnbufferedSerial gps_serial;
     Mutex m;
 
     void read_serial() {
@@ -102,7 +102,8 @@
 
             // Add a character to the active buffer
             char *buf = _isr_line_bufs[_first_line_in_use ? 0 : 1];
-            char value = gps_serial.getc();
+            char value;
+            gps_serial.read(&value, 1);
             buf[_isr_line_buf_pos] = value;
             _isr_line_buf_pos++;
 
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); 
+    }
+}
+