Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions extras/doc/Data Model.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,12 +108,13 @@ There is additional information that is not related to a fix. Instead, it conta
* `gps.UTCus()`, the number of microseconds since the last received UTC time, calculated from `micros()` and `gps.UTCsecondStart`.
* `gps.nmeaMessage`, the latest received message type. This is an ephemeral value, because multiple sentences are merged into one `fix` structure. If you only check this after a complete fix is received, you will only see the LAST_SENTENCE_IN_INTERVAL.
* enum values NMEA_GLL, NMEA_GSA, NMEA_GST, NMEA_GSV, NMEA_RMC, NMEA_VTG or NMEA_ZDA
* `gps.satellies[]`, an array of satellite-specific information, where each element contains
* `gps.satellies[i].id`, satellite ID
* `gps.satellies[i].elevation`, satellite elevation in 0-90 integer degrees
* `gps.satellies[i].azimuth`, satellite azimuth in 0-359 integer degrees
* `gps.satellies[i].snr`, satellite signal-to-noise ratio in 0-99 integer dBHz
* `gps.satellies[i].tracked`, satellite being tracked flag, a boolean
* `gps.satellites[]`, an array of satellite-specific information, where each element contains
* `gps.satellites[i].id`, satellite ID
* `gps.satellites[i].elevation`, satellite elevation in 0-90 integer degrees
* `gps.satellites[i].azimuth`, satellite azimuth in 0-359 integer degrees
* `gps.satellites[i].snr`, satellite signal-to-noise ratio in 0-99 integer dBHz
* `gps.satellites[i].tracked`, satellite being tracked flag, a boolean
* `gps.satellites[i].talker_id[]`, GSV satellite talker ID, a two-character array (NULL-terminated)
* `gps.sat_count`, the number of elements in the `gps.satellites[]` array
* `gps.talker_id[]`, talker ID, a two-character array (not NUL-terminated)
* `gps.mfr_id[]`, manufacturer ID, a three-character array (not NUL-terminated)
Expand Down
6 changes: 6 additions & 0 deletions src/NMEAGPS.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -861,6 +861,12 @@ bool NMEAGPS::parseGSV( char chr )
#endif

if (sat_count < NMEAGPS_MAX_SATELLITES) {

// GSV talker_id
satellites[sat_count].talker_id[0] = talker_id[0];
satellites[sat_count].talker_id[1] = talker_id[1];
satellites[sat_count].talker_id[2] = (char)'\0';

if (fieldIndex >= 4) {

switch (fieldIndex % 4) {
Expand Down
1 change: 1 addition & 0 deletions src/NMEAGPS.h
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,7 @@ class NMEAGPS
uint16_t azimuth; // 0..359 deg
uint8_t snr NEOGPS_BF(7); // 0..99 dBHz
bool tracked NEOGPS_BF(1);
char talker_id[3]; // GSV Talker ID
#endif
} NEOGPS_PACKED;

Expand Down