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

Embed: (wiki syntax)

« Back to documentation index

Data Structures

Data Structures

Here are the data structures with brief descriptions:
BeepGenerates a tone with a buzzer, based on a PwmOut The class use a timeout to switch off the sound - it is not blocking while making noise
CartPositionGeographical position and calculation based on cartesian coordinates
ConfigText-based configuration; reads config file and stores in fields
DebounceInDebounceIn adds mechanical switch debouncing to DigitialIn
GeoPositionGeographical position and calculation
GPSGPS "interface" class
HMC5843Interface library for the Honeywell HMC5843 digital compass
IncrementalEncoderAn interface for a simple, 1-track, incremental encoder
L3G4200DInterface library for the ST L3G4200D 3-axis gyro
LSM303DLMTilt-compensated compass interface Library for the STMicro LSM303DLm 3-axis magnetometer, 3-axis acceleromter
MappingMaps GeoPosition latitude/longitude to CartPosition cartesian x,y
MenuSimple menu interface model
PinDetectPinDetect adds mechanical switch debouncing to DigitialIn and interrupt callbacks
ScheduleSimple library for scheduling events by polling time, that is, avoiding interrupts
SerialGraphicLCDInterface to the Sparkfun Serial Graphic LCD, LCD-09351; and Graphic LCD Serial Backpack, LCD-09352
ServoServo control class, based on a PwmOut
SimpleFilterSimpleFilter implements a simple low pass integer "leaky integrator" described here:
SteeringA class for managing steering angle calculations based on current and desired heading and specified intercept distance along the new path
SystemStateSystem State is the main mechanism for communicating current realtime system state to the rest of the system for logging, data display, etc
TinyGPSTinyGPS - a small GPS library for Arduino providing basic NMEA parsing Copyright (C) 2008-9 Mikal Hart All rights reserved
UpdaterUpdater is the main real time sensor update, estimation, and control routine that is called at 100Hz by a timer interrupt