/*
- * gps-manager replay plugin
+ * gps replay plugin
*
* Copyright (c) 2011-2013 Samsung Electronics Co., Ltd. All rights reserved.
*
* Contact: Youngae Kang <youngae.kang@samsung.com>, Minjune Kim <sena06.kim@samsung.com>
- * Genie Kim <daejins.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.
#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"
-#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 EAST 1
+#define EAST 1
#define WEST -1
int used_sat[MAX_GPS_NUM_SAT_USED] = { 0, };
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]);
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]);
- 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;
static int nmea_parser_gprmc(char *token[], pos_data_t * pos)
{
- int date, utctime;
char *status;
- double latitude, longitude, speed, bearing, magvar;
+ double latitude, longitude, speed, bearing;
status = token[2]; //warn = *token[2];
if (strcmp(status, "V") == 0) {
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]);
- date = atoi(token[9]);
- magvar = atof(token[10]);
+// date = atoi(token[9]);
+// magvar = atof(token[10]);
pos->latitude = latitude;
pos->longitude = longitude;
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)
{
- char selection_type;
int i, fix_type;
- double pdop, hdop, vdop;
fix_type = atoi(token[2]);
if (fix_type == 1) {
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]);
}
- 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)
{
- double true_course, magnetic_course, knot_speed, kmh_speed;
+ double true_course, kmh_speed;
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;
{
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");
int nmea_parser_sentence(char *sentence, char *token[], pos_data_t * pos, sv_data_t * sv)
{
- int ret = READ_ERROR;
+ int ret = READ_SUCCESS;
if (strcmp(sentence, "GPGGA") == 0) {
ret = nmea_parser_gpgga(token, pos, sv);
} else if (strcmp(sentence, "GPRMC") == 0) {
ret = err;
} else if (err == READ_ERROR) {
ret = err;
- break;
}
} else {
LOG_PLUGIN(DBG_ERR, "[NMEA Parser] %dth sentense : Invalid Checksum\n", count);
count++;
num_sen--;
}
-
+
return ret;
}