SEC: Add AES stress tests.
[bertos.git] / bertos / net / nmea.c
index d4600e07d21e1f8c7ebfc6b2d4afe241aeb57210..d232c73adfa253de40069cfff4797c081884d905 100644 (file)
@@ -165,9 +165,9 @@ static udegree_t nmea_longitude(const char *plot, const char *phem)
  * Return altitude in meter from a string.
  *
  */
-static uint16_t nmea_altitude(const char *palt, const char *punits)
+static int32_t nmea_altitude(const char *palt, const char *punits)
 {
-       uint32_t alt;
+       int32_t alt;
 
        if (*palt == 0)
                return 0;
@@ -456,13 +456,19 @@ int nmea_gpgsv(nmeap_context_t *context, nmeap_sentence_t *sentence)
 }
 
 
-/*
+/**
  * Parse NMEA sentence from a channel.
  */
 void nmea_poll(nmeap_context_t *context, KFile *channel)
 {
-       int c;
+       int c, e;
        while ((c = kfile_getc(channel)) != EOF)
                nmeap_parse(context, c);
+
+       if ((e = kfile_error(channel)))
+       {
+               LOG_ERR("ch error [%0X]\n", e);
+               kfile_clearerr(channel);
+       }
 }