This is an old revision of the document!
SDK Script gps-udp-client-GNSStoGPS.are
local_ip = “127.0.0.1”;
local_port = 2947;
gpsd = -1;
void usage() {
printf("usage: gps-udp-client.are <server> <port>\n");
exit(1);
}
int gpsd_restart ()
{
nb_syslog("Restarting GPS daemon");
nb_config_set("gpsd.0.status=0");
sleep(3);
nb_config_set("gpsd.0.status=1");
sleep(5);
return 0;
}
int gpsd_connect ()
{
nb_syslog("Connecting to GPS daemon");
gpsd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (gpsd < 0) {
nb_syslog("ERROR: Unable to open socket");
exit(-1);
}
for (attempt = 0; attempt <= 5; attempt++) {
sleep(3);
if (connect(gpsd, local_ip, local_port) < 0) {
nb_syslog("Could not connect to daemon");
if (attempt == 3) {
nb_syslog("Unable to connect, restarting daemon");
gpsd_restart();
}
} else {
break;
}
}
nb_syslog("Connected to daemon, requesting NMEA");
send(gpsd,"R=1\n");
nb_syslog("Processing NMEA");
return gpsd;
}
if (argc < 2) {
usage();
}
SERVER = trim1)