**
** Copyright 2006, The Android Open Source Project
** Copyright 2009, Michael Trimarchi <michael@panicking.kicks-ass.org>
-** Copyright 2011, Eduardo José Tagle <ejtagle@tutopia.com>
+** Copyright 2011, Eduardo José Tagle <ejtagle@tutopia.com>
**
** This program is free software; you can redistribute it and/or modify it under
** the terms of the GNU General Public License as published by the Free
#include <cutils/properties.h>
#include <hardware/gps.h>
-#define GPS_DEBUG 0
-
#if GPS_DEBUG
# define D(...) ALOGD(__VA_ARGS__)
#else
return;
}
-static unsigned char calc_nmea_csum(char *msg)
-{
- unsigned char csum = 0;
- int i;
-
- for (i = 1; msg[i] != '*'; ++i) {
- csum ^= msg[i];
- }
-
- return csum;
-}
-
/*****************************************************************/
/*****************************************************************/
}
-static void dev_set_nmea_message_rate(int fd,const char *msg, int rate)
-{
-
- char buff[50];
- int i;
-
- sprintf(buff, "$PUBX,40,%s,%d,%d,%d,0*", msg, rate, rate, rate);
-
- i = strlen(buff);
-
- sprintf((buff + i), "%02x\r\n", calc_nmea_csum(buff));
-
- serial_write(fd, buff);
-
- D("gps sent to device: %s", buff);
-
- return;
-
-}
-
-static void dev_set_message_rate(int fd, int rate)
-{
-
- unsigned int i;
- static const char *msg[] = {
- "GGA", "GLL", "ZDA",
- "VTG", "GSA", "GSV",
- "RMC"
- };
-
- for (i = 0; i < sizeof(msg)/sizeof(msg[0]); ++i) {
- dev_set_nmea_message_rate(fd, msg[i], rate);
- }
-
- return;
-}
-
static void dev_start(int fd)
{
}
-static int epoll_deregister( int epoll_fd, int fd )
-{
- int ret;
- do {
- ret = epoll_ctl( epoll_fd, EPOLL_CTL_DEL, fd, NULL );
- } while (ret < 0 && errno == EINTR);
- return ret;
-}
-
static void gps_nmea_thread_cb( GpsState* state )
{
D("%s()", __FUNCTION__ );
if (fd == control_fd)
{
- char cmd = 255;
+ char cmd = -1;
int ret;
D("gps control fd event");
do {
agps_conn_open,
agps_conn_closed,
agps_conn_failed,
- agps_set_server
+ agps_set_server,
+ 0
};
.version_minor = 0,
.id = GPS_HARDWARE_MODULE_ID,
.name = "GPS Module",
- .author = "Eduardo José Tagle",
+ .author = "Eduardo José Tagle",
.methods = &gps_module_methods,
};