projects
/
framework
/
location
/
libslp-lbs-plugin-replay.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tizen 2.3.1 release
[framework/location/libslp-lbs-plugin-replay.git]
/
gps-plugin
/
src
/
nmea_parser.c
diff --git
a/replay-plugin/src/nmea_parser.c
b/gps-plugin/src/nmea_parser.c
similarity index 82%
rename from
replay-plugin/src/nmea_parser.c
rename to
gps-plugin/src/nmea_parser.c
index
fc92c3c
..
4a75932
100644
(file)
--- a/
replay-plugin/src/nmea_parser.c
+++ b/
gps-plugin/src/nmea_parser.c
@@
-1,10
+1,10
@@
/*
/*
- *
GPS manager
replay plugin
+ *
gps
replay plugin
*
*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2011
-2013
Samsung Electronics Co., Ltd. All rights reserved.
*
*
- * Contact: Youngae Kang <youngae.kang@samsung.com>,
Yunhan Kim <yhan.kim@samsung.com>,
- *
Genie Kim <daejins.kim@samsung.com>, Minjune Kim <sena06
.kim@samsung.com>
+ * Contact: Youngae Kang <youngae.kang@samsung.com>,
Minjune Kim <sena06.kim@samsung.com>
+ *
Genie Kim <daejins
.kim@samsung.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@
-23,23
+23,23
@@
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
-#include <gps_
manager_
plugin_intf.h>
+#include <gps_plugin_intf.h>
#include "gps_plugin_debug.h"
#include "nmea_parser.h"
#include "setting.h"
#include "gps_plugin_debug.h"
#include "nmea_parser.h"
#include "setting.h"
-#define MAX_NMEA_SENTENCES 32
-#define MAX_TOEKNS 25
+#define MAX_NMEA_SENTENCES 32
+#define MAX_TOEKNS
25
-#define DECIMAL_TO_DEGREE 60.0
-#define METER_TO_FEET 3.2808399
-#define KNOT_TO_MPS 0.5144444
-#define KMPH_TO_MPS 0.2777778
+#define DECIMAL_TO_DEGREE 60.0
+#define METER_TO_FEET 3.2808399
+#define KNOT_TO_MPS
0.5144444
+#define KMPH_TO_MPS
0.2777778
-#define NORTH 1
+#define NORTH 1
#define SOUTH -1
#define SOUTH -1
-#define EAST 1
+#define EAST 1
#define WEST -1
int used_sat[MAX_GPS_NUM_SAT_USED] = { 0, };
#define WEST -1
int used_sat[MAX_GPS_NUM_SAT_USED] = { 0, };
@@
-104,9
+104,6
@@
int nmea_parser_tokenize(char input[], char *token[])
state = 0;
}
break;
state = 0;
}
break;
- default:
- state = 0;
- break;
}
s++;
}
}
s++;
}
@@
-171,8
+168,8
@@
static double nmea_parser_get_altitude(const char *alt, const char *unit)
static int nmea_parser_gpgga(char *token[], pos_data_t * pos, sv_data_t * sv)
{
static int nmea_parser_gpgga(char *token[], pos_data_t * pos, sv_data_t * sv)
{
- double latitude, longitude, altitude
, eph, geoid
;
- int
utctime, num_of_sat_used,
quality;
+ double latitude, longitude, altitude;
+ int quality;
quality = atoi(token[6]);
quality = atoi(token[6]);
@@
-182,13
+179,13
@@
static int nmea_parser_gpgga(char *token[], pos_data_t * pos, sv_data_t * sv)
return READ_NOT_FIXED;
}
return READ_NOT_FIXED;
}
-
utctime = atoi(token[1]);
+
//
utctime = atoi(token[1]);
latitude = nmea_parser_get_latitude(token[2], token[3]);
longitude = nmea_parser_get_longitude(token[4], token[5]);
altitude = nmea_parser_get_altitude(token[9], token[10]);
latitude = nmea_parser_get_latitude(token[2], token[3]);
longitude = nmea_parser_get_longitude(token[4], token[5]);
altitude = nmea_parser_get_altitude(token[9], token[10]);
-
num_of_sat_used = atoi(token[7]);
-
eph = atof(token[8]);
-
geoid = nmea_parser_get_altitude(token[11], token[12]);
+
//
num_of_sat_used = atoi(token[7]);
+
//
eph = atof(token[8]);
+
//
geoid = nmea_parser_get_altitude(token[11], token[12]);
pos->latitude = latitude;
pos->longitude = longitude;
pos->latitude = latitude;
pos->longitude = longitude;
@@
-201,9
+198,8
@@
static int nmea_parser_gpgga(char *token[], pos_data_t * pos, sv_data_t * sv)
static int nmea_parser_gprmc(char *token[], pos_data_t * pos)
{
static int nmea_parser_gprmc(char *token[], pos_data_t * pos)
{
- int date, utctime;
char *status;
char *status;
- double latitude, longitude, speed, bearing
, magvar
;
+ double latitude, longitude, speed, bearing;
status = token[2]; //warn = *token[2];
if (strcmp(status, "V") == 0) {
status = token[2]; //warn = *token[2];
if (strcmp(status, "V") == 0) {
@@
-211,13
+207,13
@@
static int nmea_parser_gprmc(char *token[], pos_data_t * pos)
return READ_NOT_FIXED;
}
return READ_NOT_FIXED;
}
-
utctime = atoi(token[1]);
+
//
utctime = atoi(token[1]);
latitude = nmea_parser_get_latitude(token[3], token[4]);
longitude = nmea_parser_get_longitude(token[5], token[6]);
speed = atof(token[7]);
bearing = atof(token[8]);
latitude = nmea_parser_get_latitude(token[3], token[4]);
longitude = nmea_parser_get_longitude(token[5], token[6]);
speed = atof(token[7]);
bearing = atof(token[8]);
-
date = atoi(token[9]);
-
magvar = atof(token[10]);
+
//
date = atoi(token[9]);
+
//
magvar = atof(token[10]);
pos->latitude = latitude;
pos->longitude = longitude;
pos->latitude = latitude;
pos->longitude = longitude;
@@
-238,20
+234,18
@@
static int nmea_parser_gpgll(char *token[], pos_data_t * pos)
return READ_NOT_FIXED;
}
return READ_NOT_FIXED;
}
- latitude = nmea_parser_get_latitude(token[1], token[2]);
- longitude = nmea_parser_get_longitude(token[3], token[4]);
+
latitude = nmea_parser_get_latitude(token[1], token[2]);
+
longitude = nmea_parser_get_longitude(token[3], token[4]);
- pos->latitude = latitude;
- pos->longitude = longitude;
+
pos->latitude = latitude;
+
pos->longitude = longitude;
- return READ_SUCCESS;
+
return READ_SUCCESS;
}
static int nmea_parser_gpgsa(char *token[], pos_data_t * pos)
{
}
static int nmea_parser_gpgsa(char *token[], pos_data_t * pos)
{
- char selection_type;
int i, fix_type;
int i, fix_type;
- double pdop, hdop, vdop;
fix_type = atoi(token[2]);
if (fix_type == 1) {
fix_type = atoi(token[2]);
if (fix_type == 1) {
@@
-259,27
+253,27
@@
static int nmea_parser_gpgsa(char *token[], pos_data_t * pos)
return READ_NOT_FIXED;
}
return READ_NOT_FIXED;
}
-
selection_type = *token[1];
+
//
selection_type = *token[1];
memset(used_sat, 0, sizeof(used_sat));
for (i = 0; i < MAX_GPS_NUM_SAT_USED; i++) {
used_sat[i] = atoi(token[i + 3]);
}
memset(used_sat, 0, sizeof(used_sat));
for (i = 0; i < MAX_GPS_NUM_SAT_USED; i++) {
used_sat[i] = atoi(token[i + 3]);
}
-
pdop = atof(token[15]);
-
hdop = atof(token[16]);
-
vdop = atof(token[17]);
+
//
pdop = atof(token[15]);
+
//
hdop = atof(token[16]);
+
//
vdop = atof(token[17]);
return READ_SUCCESS;
}
static int nmea_parser_gpvtg(char *token[], pos_data_t * pos)
{
return READ_SUCCESS;
}
static int nmea_parser_gpvtg(char *token[], pos_data_t * pos)
{
- double true_course,
magnetic_course, knot_speed,
kmh_speed;
+ double true_course, kmh_speed;
true_course = atof(token[1]);
true_course = atof(token[1]);
-
magnetic_course = atof(token[3]);
-
knot_speed = atof(token[5]);
+
//
magnetic_course = atof(token[3]);
+
//
knot_speed = atof(token[5]);
kmh_speed = atof(token[7]);
pos->speed = kmh_speed * KMPH_TO_MPS;
kmh_speed = atof(token[7]);
pos->speed = kmh_speed * KMPH_TO_MPS;
@@
-292,9
+286,9
@@
static int nmea_parser_gpgsv(char *token[], sv_data_t * sv)
{
int i, j;
int p, q, iter;
{
int i, j;
int p, q, iter;
- int
num_sen,
msg_num, num_sv;
+ int msg_num, num_sv;
-
num_sen = atoi(token[1]);
+
//
num_sen = atoi(token[1]);
msg_num = atoi(token[2]);
if (msg_num < 1) {
LOG_PLUGIN(DBG_LOW, "There is not GSV message");
msg_num = atoi(token[2]);
if (msg_num < 1) {
LOG_PLUGIN(DBG_LOW, "There is not GSV message");
@@
-325,7
+319,7
@@
static int nmea_parser_gpgsv(char *token[], sv_data_t * sv)
int nmea_parser_sentence(char *sentence, char *token[], pos_data_t * pos, sv_data_t * sv)
{
int nmea_parser_sentence(char *sentence, char *token[], pos_data_t * pos, sv_data_t * sv)
{
- int ret;
+ int ret
= READ_SUCCESS
;
if (strcmp(sentence, "GPGGA") == 0) {
ret = nmea_parser_gpgga(token, pos, sv);
} else if (strcmp(sentence, "GPRMC") == 0) {
if (strcmp(sentence, "GPGGA") == 0) {
ret = nmea_parser_gpgga(token, pos, sv);
} else if (strcmp(sentence, "GPRMC") == 0) {
@@
-369,9
+363,8
@@
int nmea_parser(char *data, pos_data_t * pos, sv_data_t * sv)
if (err == READ_NOT_FIXED) {
LOG_PLUGIN(DBG_LOW, "NOT Fixed");
ret = err;
if (err == READ_NOT_FIXED) {
LOG_PLUGIN(DBG_LOW, "NOT Fixed");
ret = err;
- } else if (
ret
== READ_ERROR) {
+ } else if (
err
== READ_ERROR) {
ret = err;
ret = err;
- break;
}
} else {
LOG_PLUGIN(DBG_ERR, "[NMEA Parser] %dth sentense : Invalid Checksum\n", count);
}
} else {
LOG_PLUGIN(DBG_ERR, "[NMEA Parser] %dth sentense : Invalid Checksum\n", count);
@@
-379,6
+372,6
@@
int nmea_parser(char *data, pos_data_t * pos, sv_data_t * sv)
count++;
num_sen--;
}
count++;
num_sen--;
}
-
+
return ret;
}
return ret;
}