;
Dependencies: BSP_DISCO_F746NG
Revision 6:c8648bfc56bb, committed 2021-06-22
- Comitter:
- louisboisaubert
- Date:
- Tue Jun 22 13:01:13 2021 +0000
- Parent:
- 5:8a5414710483
- Commit message:
- Interfacage
Changed in this revision
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);
+ }
+}
+