This program is for an autonomous robot for the competition at the Hochschule Luzern. http://cruisingcrepe.wordpress.com/ We are one of the 32 teams. http://cruisingcrepe.wordpress.com/ The postition control is based on this Documentation: Control of Wheeled Mobile Robots: An Experimental Overview from Alessandro De Luca, Giuseppe Oriolo, Marilena Vendittelli. For more information see here: http://www.dis.uniroma1.it/~labrob/pub/papers/Ramsete01.pdf
Fork of autonomous Robot Android by
Task/Task.h
- Committer:
- chrigelburri
- Date:
- 2013-04-07
- Revision:
- 12:235e318a414f
- Parent:
- 11:775ebb69d5e1
- Child:
- 38:d76e488e725f
File content as of revision 12:235e318a414f:
#ifndef _TASK_H_ #define _TASK_H_ #include "mbed.h" /** * @author Christian Burri * * @copyright Copyright © 2013 HSLU Pren Team #1 Cruising Crêpe * All rights reserved. * * @brief * The <code>Task</code> class allows to install periodic, time-triggered * tasks. An example of a simple user-defined task is given below: * <pre><code> * class MyTask : public Task { * public: * void run(); * }; * * void MyTask::run() { * <span style="color:#FF0000">// code to be executed periodically</span> * } * </code></pre> * This task can then be created and started as follows: * <pre><code> * MyTask myTask(0.1); <span style="color:#FF0000">// period in seconds</span> * myTask.start(); * ... * * myTask.stop(); * </code></pre> */ class Task { private: /** specifiying the interval in seconds */ float period; /** The Ticker interface is used to setup a recurring interrupt to * repeatedly call a function at a specified rate. */ Ticker ticker; public: /** * Creates a task object with a given period. * @param period the period of this task in seconds. */ Task(float period); virtual ~Task(); /** * Gets the period of this task. * @return the period in seconds. */ float getPeriod(); /** * Starts this task. */ void start(); /** * Stops this task. */ void stop(); /** * This method needs to be implemented by a user task. */ virtual void run(); }; #endif