Code for autonomous rover for Sparkfun AVC. DataBus won 3rd in 2012 and the same code was used on Troubled Child, a 1986 Jeep Grand Wagoneer to win 1st in 2014.
Dependencies: mbed Watchdog SDFileSystem DigoleSerialDisp
Diff: Sensors/GPS/Sirf3.h
- Revision:
- 0:a6a169de725f
- Child:
- 2:fbc6e3cf3ed8
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Sensors/GPS/Sirf3.h Mon May 27 13:26:03 2013 +0000 @@ -0,0 +1,99 @@ +#ifndef __SIRF3_H__ +#define __SIRF3_H__ + +#include "mbed.h" +#include "GPS.h" +#include "TinyGPS.h" + +class Sirf3: public GPS { +public: + /** + * create a new SiRF III interface + */ + Sirf3(PinName tx, PinName rx); + + /** + * Initalize everything necessary for the GPS to collect the required data + */ + virtual void init(void); + + /** + * Set baud rate + */ + virtual void setBaud(int baud); + + /** + * return serial object + */ + virtual Serial *getSerial(void); + + /** + * Disable serial data collection + */ + virtual void disable(void); + + /** + * Enable serial data collection + */ + virtual void enable(void); + + /** + * Enable verbose messages for debugging + */ + virtual void enableVerbose(void); + + /** + * Disable verbose messages for debugging + */ + virtual void disableVerbose(void); + + /** + * get latitude + */ + virtual double latitude(void); + + /** + * get longitude + */ + virtual double longitude(void); + + /** + * Get Horizontal Dilution of Precision + * @return float horizontal dilution of precision + */ + virtual float hdop(void); + + /** + * get count of active satellites + */ + virtual int sat_count(void); + + /** + * get speed in m/s + */ + virtual float speed_mps(void); + + /** + * get heading in degrees + */ + virtual float heading_deg(void); + + /** + * determine if data is available to be used + */ + virtual bool available(void); + + /** + * reset the data available flag + */ + virtual void reset_available(void); + +private: + void recv_handler(void); + void gsaMessage(bool enable); + void gsvMessage(bool enable); + Serial serial; + TinyGPS nmea; +}; + +#endif \ No newline at end of file