188 #include "stm32fxxx_hal.h"
189 #include "tm_stm32_usart.h"
190 #include "tm_stm32_gpio.h"
205 #define GPS_USART USART1
206 #define GPS_USART_PINSPACK TM_USART_PinsPack_2
210 #ifndef GPS_USART_BUFFER_EMPTY
211 #define GPS_USART_BUFFER_EMPTY TM_USART_BufferEmpty(GPS_USART)
215 #ifndef GPS_USART_BUFFER_GET_CHAR
216 #define GPS_USART_BUFFER_GET_CHAR TM_USART_Getc(GPS_USART)
220 #ifndef GPS_USART_INIT
221 #define GPS_USART_INIT(baudrate) TM_USART_Init(GPS_USART, GPS_USART_PINSPACK, baudrate)
225 #ifndef GPS_CUSTOM_NUMBER
226 #define GPS_CUSTOM_NUMBER 10
333 #ifndef GPS_DISABLE_GPGGA
341 #ifndef GPS_DISABLE_GPRMC
347 #ifndef GPS_DISABLE_GPGSA
352 uint8_t SatelliteIDs[12];
355 #ifndef GPS_DISABLE_GPGSV
TM_GPS_Date_t Date
Definition: tm_stm32_gps.h:342
Definition: tm_stm32_gps.h:262
uint8_t TermNumber
Definition: tm_stm32_gps.h:323
float Direction
Definition: tm_stm32_gps.h:345
void TM_GPS_ConvertFloat(float num, TM_GPS_Float_t *Float_Data, uint8_t decimals)
Converts float number into integer and decimal part.
Satellite in view description structure.
Definition: tm_stm32_gps.h:311
float Latitude
Definition: tm_stm32_gps.h:334
float Latitude1
Definition: tm_stm32_gps.h:372
TM_GPS_Speed_t
Speed conversion enumeration.
Definition: tm_stm32_gps.h:253
Definition: tm_stm32_gps.h:267
Definition: tm_stm32_gps.h:268
float Altitude
Definition: tm_stm32_gps.h:336
Definition: tm_stm32_gps.h:263
uint32_t Decimal
Definition: tm_stm32_gps.h:286
uint8_t Date
Definition: tm_stm32_gps.h:293
TM_GPS_Result_t TM_GPS_Update(TM_GPS_t *GPS_Data)
Update GPS data.
uint8_t Hours
Definition: tm_stm32_gps.h:302
float HDOP
Definition: tm_stm32_gps.h:348
Definition: tm_stm32_gps.h:265
float Longitude1
Definition: tm_stm32_gps.h:373
Definition: tm_stm32_gps.h:255
float Distance
Definition: tm_stm32_gps.h:376
Definition: tm_stm32_gps.h:243
Definition: tm_stm32_gps.h:258
float Bearing
Definition: tm_stm32_gps.h:377
float VDOP
Definition: tm_stm32_gps.h:350
Definition: tm_stm32_gps.h:272
uint8_t SatellitesInView
Definition: tm_stm32_gps.h:356
TM_GPS_Result_t Status
Definition: tm_stm32_gps.h:359
Definition: tm_stm32_gps.h:256
float Longitude2
Definition: tm_stm32_gps.h:375
void TM_GPS_Init(TM_GPS_t *GPS_Data, uint32_t baudrate)
Initializes GPS and USART peripheral.
Definition: tm_stm32_gps.h:270
GPS Distance and bearing struct.
Definition: tm_stm32_gps.h:371
int32_t Integer
Definition: tm_stm32_gps.h:285
Definition: tm_stm32_gps.h:266
TM_GPS_Time_t Time
Definition: tm_stm32_gps.h:339
float Longitude
Definition: tm_stm32_gps.h:335
uint8_t Year
Definition: tm_stm32_gps.h:295
uint16_t Azimuth
Definition: tm_stm32_gps.h:314
Definition: tm_stm32_gps.h:260
Definition: tm_stm32_gps.h:244
uint8_t Updated
Definition: tm_stm32_gps.h:326
TM_GPS_Result_t
GPS Result enumeration.
Definition: tm_stm32_gps.h:242
Main GPS data structure.
Definition: tm_stm32_gps.h:332
uint8_t Satellites
Definition: tm_stm32_gps.h:337
TM_GPS_Custom_t * TM_GPS_AddCustom(TM_GPS_t *GPS_Data, char *GPG_Statement, uint8_t TermNumber)
Adds custom GPG statement to array of user selectable statements. Array is available to user using TM...
float PDOP
Definition: tm_stm32_gps.h:349
uint8_t SNR
Definition: tm_stm32_gps.h:315
Custom NMEA statement and term, selected by user.
Definition: tm_stm32_gps.h:321
float Speed
Definition: tm_stm32_gps.h:343
Definition: tm_stm32_gps.h:245
uint8_t ID
Definition: tm_stm32_gps.h:312
float Latitude2
Definition: tm_stm32_gps.h:374
uint8_t Seconds
Definition: tm_stm32_gps.h:304
uint8_t CustomStatementsCount
Definition: tm_stm32_gps.h:362
Definition: tm_stm32_gps.h:269
uint8_t Month
Definition: tm_stm32_gps.h:294
Time structure for GPS.
Definition: tm_stm32_gps.h:301
float TM_GPS_ConvertSpeed(float SpeedInKnots, TM_GPS_Speed_t toSpeed)
Converts speed in knots (from GPS) to user selectable speed.
uint8_t Minutes
Definition: tm_stm32_gps.h:303
Date struct for GPS date.
Definition: tm_stm32_gps.h:292
uint8_t Elevation
Definition: tm_stm32_gps.h:313
Definition: tm_stm32_gps.h:261
uint8_t Validity
Definition: tm_stm32_gps.h:344
void TM_GPS_DistanceBetween(TM_GPS_Distance_t *Distance_Data)
Calculates distance between 2 coordinates on earth and bearing from start to end point in relation to...
uint8_t Fix
Definition: tm_stm32_gps.h:338
uint16_t Hundredths
Definition: tm_stm32_gps.h:305
uint8_t FixMode
Definition: tm_stm32_gps.h:351
GPS float structure.
Definition: tm_stm32_gps.h:284
Definition: tm_stm32_gps.h:257