projects
/
bertos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Move function doc in the implementation file.
[bertos.git]
/
bertos
/
net
/
nmea.c
diff --git
a/bertos/net/nmea.c
b/bertos/net/nmea.c
index 11dcf374b2fa108cb7d1cbdf620364d426897e91..d3937282df9b83b01a26f6c8936c49cfb6b76c56 100644
(file)
--- a/
bertos/net/nmea.c
+++ b/
bertos/net/nmea.c
@@
-33,6
+33,7
@@
*
* \author Daniele Basile <asterix@develer.com>
*
*
* \author Daniele Basile <asterix@develer.com>
*
+ * notest:avr
*/
#include "nmea.h"
*/
#include "nmea.h"
@@
-76,23
+77,35
@@
static uint32_t tokenToInt(const char *s)
return num;
}
return num;
}
-
-static udegree_t nmea_latitude(const char *plat, const char *phem)
+static udegree_t convertToDegree(const char *str)
{
{
- int ns;
- uint32_t lat;
+ uint32_t dec;
uint32_t deg;
uint32_t min;
uint32_t deg;
uint32_t min;
- if (*
plat
== 0)
+ if (*
str
== 0)
{
return 0;
}
{
return 0;
}
+
+ dec = tokenToInt(str);
+ deg = dec / 1000000;
+ min = dec - deg * 1000000;
+ dec = deg * 1000000 + ((min * 5) + 1) / 3;
+
+ return dec;
+}
+
+static udegree_t nmea_latitude(const char *plat, const char *phem)
+{
+ int ns;
+
if (*phem == 0)
{
return 0;
}
if (*phem == 0)
{
return 0;
}
+
/* north lat is +, south lat is - */
if (*phem == 'N')
{
/* north lat is +, south lat is - */
if (*phem == 'N')
{
@@
-103,29
+116,13
@@
static udegree_t nmea_latitude(const char *plat, const char *phem)
ns = -1;
}
ns = -1;
}
- lat = tokenToInt(plat);
- deg = lat / 1000000;
- min = lat - deg * 1000000;
- lat = deg * 1000000 + ((min * 5) + 1) / 3;
- return ns *
lat
;
+ return ns *
convertToDegree(plat)
;
}
static udegree_t nmea_longitude(const char *plot, const char *phem)
{
int ew;
}
static udegree_t nmea_longitude(const char *plot, const char *phem)
{
int ew;
- uint32_t lot;
- uint32_t deg;
- uint32_t min;
-
- if (*plot == 0)
- {
- return 0;
- }
- if (*phem == 0)
- {
- return 0;
- }
/* west long is negative, east long is positive */
if (*phem == 'E')
/* west long is negative, east long is positive */
if (*phem == 'E')
@@
-136,12
+133,12
@@
static udegree_t nmea_longitude(const char *plot, const char *phem)
ew = -1;
}
ew = -1;
}
- lot = tokenToInt(plot);
- deg = lot / 1000000;
-
min = lot - deg * 100000
0;
- lot = deg * 1000000 + ((min * 5) + 1) / 3;
+ if (*phem == 0)
+ {
+
return
0;
+ }
- return ew
* lot
;
+ return ew
* convertToDegree(plot)
;
}
static uint16_t nmea_altitude(const char *palt, const char *punits)
}
static uint16_t nmea_altitude(const char *palt, const char *punits)
@@
-181,7
+178,7
@@
static time_t timestampToSec(uint32_t time_stamp, uint32_t date_stamp)
memset(&tmr, 0, sizeof(tmr));
memset(&date, 0, sizeof(date));
memset(&tmr, 0, sizeof(tmr));
memset(&date, 0, sizeof(date));
- LOG_INFO("time_s[%
u],date[%u]\n", time_stamp,
date_stamp);
+ LOG_INFO("time_s[%
lu],date[%lu]\n", (long)time_stamp, (long)
date_stamp);
uint32_t res = time_stamp / 1000;
uint32_t all = time_stamp;
msec = all - res * 1000;
uint32_t res = time_stamp / 1000;
uint32_t all = time_stamp;
msec = all - res * 1000;