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: Updater.h
- Revision:
- 22:dc54ca6e6eec
- Parent:
- 15:01fb4916a5cd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Updater.h Thu Nov 29 19:45:49 2018 +0000 @@ -0,0 +1,45 @@ +#ifndef __SCHEDULER_H +#define __SCHEDULER_H + +/** Updater is the main real time sensor update, estimation, and control routine that is + * called at 100Hz by a timer interrupt + */ +class Updater { +public: + + /** attach the update routine to Ticker interrupt */ + void start(void); + + /** detach the update routine from Ticker interrupt */ + void stop(void); + + /** Tells the updater to re-initialize the navigation state */ + void restartNav(void); + + /** Indicates to the updater that the vehicle should begin its run */ + void beginRun(void); + + /** Indicates to the updater that the vehicle should abort its run */ + void endRun(void); + + /** Returns the elapsed time taken by the updater routine on its most recent run */ + int getUpdateTime(void); + + /** Sets the desired speed of the rover */ + void setSpeed(float speed); + + /** The function that is called at 100Hz. It reads sensors, performs estimation, and controls the robot */ + void update(void); + + /** initialize throttle to center position */ + void initThrottle(void); + + /** initialize steering to center position */ + void initSteering(void); + + /** Sets the steering angle */ + void setSteering(float steerAngle); + +} + +#endif