I’m starting a new thread on this since it’s a different topic from my previous NXT-G question.
When I run the following code in RobotC 3.62 on my NXT brick with a recently-purchased dGPS, I get correct Lat/Lons out of the dGPS, but no matter what I enter for destination points (DGPSsetDestination), I get bogus data out for angle and distance to destination. The same sensor works fine with NXT-G using the same destination data. Using the latest dexterind-gps.h 133 2013-03-10 include file.
Any ideas?
#pragma config(Sensor, S2, DGPS, sensorI2CCustom)
//!!Code automatically generated by ‘ROBOTC’ configuration wizard !!//
/*
-
Id: dexterind-gps-test1.c 133 2013-03-10 15:15:38Z xander
*/
/**
-
dexterind-gps.h provides an API for the Dexter Industries GPS Sensor. This program
-
demonstrates how to use that API.
-
Changelog:
-
- 0.1: Initial release
-
- 0.2: Removed common.h from includes
-
Credits:
-
- Big thanks to Dexter Industries for providing me with the hardware necessary to write and test this.
-
License: You may use this code as you wish, provided you give credit where it’s due.
-
THIS CODE WILL ONLY WORK WITH ROBOTC VERSION 3.59 AND HIGHER.
-
Xander Soldaat (xander_at_botbench.com)
-
20 February 2011
-
version 0.2
*/
#include “drivers/dexterind-gps.h”
task main () {
long longitude = 0;
long latitude = 0;
long utc = 0;
bool linkstatus = false;
bool destination = false;
int dest_heading = 0;
int dest_distance = 0;
long lat_destination = 26203967;
long lon_destination = 50613246;
//long lat_destination = 0;
//long lon_destination = 0;
nxtDisplayCenteredTextLine(0, “Dexter Ind.”);
nxtDisplayCenteredBigTextLine(1, “GPS”);
nxtDisplayCenteredTextLine(3, “Test 1”);
nxtDisplayCenteredTextLine(5, “Connect sensor”);
nxtDisplayCenteredTextLine(6, “to S1”);
wait1Msec(2000);
eraseDisplay();
while (true) {
// Read the sensor’s data
DGPSsetDestination(DGPS, lat_destination, lon_destination);
utc = DGPSreadUTC(DGPS);
longitude = DGPSreadLongitude(DGPS);
latitude = DGPSreadLatitude(DGPS);
linkstatus = DGPSreadStatus(DGPS);
dest_heading = DGPSreadRelHeading(DGPS);
//dest_heading = DGPSreadVelocity(DGPS);
dest_distance = DGPSreadDistToDestination(DGPS);
nxtDisplayTextLine(2, "UTC: %d", utc);
nxtDisplayTextLine(3, "Lon: %d", longitude);
nxtDisplayTextLine(4, "Lat: %d", latitude);
nxtDisplayTextLine(5, "Head: %d", dest_heading);
nxtDisplayTextLine(6, "Dist: %d", dest_distance);
nxtDisplayTextLine(7, "Bool: %d", destination);
wait1Msec(500);
}
}
/*
-
Id: dexterind-gps-test1.c 133 2013-03-10 15:15:38Z xander
*/