gps-a2235h
v0.3.1
Published
Library to run Tessel's GPS module.
Downloads
4
Keywords
Readme
#GPS Driver for the gps-a2235h Tessel GPS module. The hardware documentation for this module can be found here.
If you run into any issues you can ask for support on the GPS Module Forums.
On Tessel 2, either port A or port B can be used.
On Tessel 1, the GPS module can currently only be run from Port C using software UART. Port C is the most isolated from RF noise and is best for locking onto GPS signals.
###Installation
npm install gps-a2235h
###Example
/**********************************************************
This gps example logs a stream of data:
coordinates, detected satellites, timestamps, and altitude.
For best results, try it while outdoors.
**********************************************************/
var tessel = require('tessel');
var gpsLib = require('gps-a2235h');
// GPS uses software UART, which is only available on Port C on Tessel 1
// we use Port C because it is most isolated from RF noise
// Port C doesn't exist on Tessel 2 so use Port A
var portToUse = 'C';
if (!tessel.port[portToUse]) {
portToUse = 'A';
}
var gps = gpsLib.use(tessel.port[portToUse]);
// Wait until the module is connected
gps.on('ready', function () {
console.log('GPS module powered and ready. Waiting for satellites...');
// Emit coordinates when we get a coordinate fix
gps.on('coordinates', function (coords) {
console.log('Lat:', coords.lat, '\tLon:', coords.lon, '\tTimestamp:', coords.timestamp);
});
// Emit altitude when we get an altitude fix
gps.on('altitude', function (alt) {
console.log('Got an altitude of', alt.alt, 'meters (timestamp: ' + alt.timestamp + ')');
});
// Emitted when we have information about a fix on satellites
gps.on('fix', function (data) {
console.log(data.numSat, 'fixed.');
});
gps.on('dropped', function(){
// we dropped the gps signal
console.log("gps signal dropped");
});
});
gps.on('error', function(err){
console.log("got this error", err);
});
###Methods # gps.setCoordinateFormat(options, callback() ) Sets the output format for coordinates. This is only available on Tessel 2. Valid options:
options.format: 'deg-min-sec', 'deg-dec', deg-min-dec, 'utm'
options.zone: INTEGER (used for UTM calculations)
# gps.powerOff( callback() )
Turns the GPS chip off.
# gps.powerOn( callback() )
Turns the GPS chip on.
###Events
# gps.on( 'altitude', callback(altitudeObj) )
Emitted when altitude data is available. Emitted in the form {altitude in meters, timestamp}.
# gps.on( 'coordinates', callback(coordinateObj) )
Emitted when coordinate data is available. Emitted in the form {latitude, longitude, timestamp}.
# gps.on( 'error', callback(err) )
Emitted upon error.
# gps.on( 'power-off', callback() )
Emitted when the module has been powered off.
# gps.on( 'power-on', callback() )
Emitted when the module has been powered on.
# gps.on( 'ready', callback() )
Emitted upon first successful communication between the Tessel and the module.
###License MIT or Apache 2.0, at your option