Add documentation.
[bertos.git] / bertos / net / nmea.h
index 28c7bf58d41ca1c881ca6bcf5e6a0795b7964168..84dfcc18c64bdc4bf06fcdac53caeb5deca7f611 100644 (file)
@@ -115,27 +115,20 @@ typedef struct NmeaVtg
 /**
  * Extracted data from an gsv message
  */
+struct SvInfo
+{
+       uint16_t    sv_prn;       /* SV PRN number */
+       degree_t    elevation;    /* Elevation in degrees, 90 maximum */
+       degree_t    azimut;       /* Azimuth, degrees from true north, 000 to 359 */
+       uint16_t    snr;          /* SNR, 00-99 dB (null when not tracking) */
+};
+
 typedef struct NmeaGsv
 {
-       uint16_t    tot_message;
-       uint16_t    message_num;
-       uint16_t    tot_svv;
-       uint16_t    sv_prn;
-       degree_t    elevation;
-       degree_t    azimut;
-       uint16_t    snr;
-       uint16_t    sv_prn2;
-       degree_t        elevation2;
-       degree_t    azimut2;
-       uint16_t    snr2;
-       uint16_t    sv_prn3;
-       degree_t        elevation3;
-       degree_t    azimut3;
-       uint16_t    snr3;
-       uint16_t    sv_prn4;
-       degree_t        elevation4;
-       degree_t    azimut4;
-       uint16_t    snr4;
+       uint16_t    tot_message;  /* Total number of messages of this type in this cycle */
+       uint16_t    message_num;  /* Message number */
+       uint16_t    tot_svv;      /* Total number of SVs in view */
+       struct SvInfo info[4];    /* Stanrd gsv nmea report up to 4 sv info */
 } NmeaGsv;
 
 void nmea_poll(nmeap_context_t *context, KFile *channel);