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
Diff: Actuators/MaxonESCON.h
- Revision:
- 11:775ebb69d5e1
- Parent:
- 6:48eeb41188dd
diff -r 09ddb819fdcb -r 775ebb69d5e1 Actuators/MaxonESCON.h --- a/Actuators/MaxonESCON.h Thu Apr 04 06:43:43 2013 +0000 +++ b/Actuators/MaxonESCON.h Fri Apr 05 10:58:42 2013 +0000 @@ -1,24 +1,19 @@ #ifndef _MAXON_ESCON_H_ #define _MAXON_ESCON_H_ -#include "mbed.h" #include "Hallsensor.h" #include "defines.h" /** * @author Christian Burri * - * @section LICENSE - * - * Copyright © 2013 HSLU Pren Team #1 Cruising Crêpe + * @copyright Copyright © 2013 HSLU Pren Team #1 Cruising Crêpe * All rights reserved. * - * @section DESCRIPTION + * @brief * * This class implements the driver for the Maxon ESCON servo driver. - * For more information see on the Datasheet: - * - * Datasheet: + * For more information see the Datasheet: * <a href="http://escon.maxonmotor.com">http://escon.maxonmotor.com</a> */ class MaxonESCON @@ -26,22 +21,23 @@ private: - /** To Enable the amplifier */ + /** @brief To Enable the amplifier */ DigitalOut _enb; - /** Duty Cycle to set the speed */ + /** @brief Duty Cycle to set the speed */ PwmOut _pwm; - /** Hallsensor Class */ + /** @brief Hallsensor Class */ Hallsensor* _hall; - /** Ready output from ESCON */ + /** @brief Ready output from ESCON */ DigitalIn _isenb; - /** Actual speed from ESCON analog Output 1 */ + /** @brief Actual speed from ESCON analog Output 1 */ AnalogIn _actualSpeed; - /** increment the Hallpattern */ + /** @brief increment the Hallpattern */ int _pulses; public: - /** Create a motor control object. + /** + * @brief Create a motor control object. * @param enb DigitalOut, set high for enable * @param isenb DigitalIn, high for enable * @param pwm PwmOut pin, set the velocity @@ -54,42 +50,49 @@ PinName actualSpeed, Hallsensor *hall); - /** Set the speed of the motor with a pwm for 10%..90%. + /** + * @brief Set the speed of the motor with a pwm for 10%..90%. * 50% PWM is 0rpm. * Caclulate from [1/s] in [1/min] and the Factor of the ESCON. * @param speed The speed of the motor as a normalised value, given in [1/s] */ void setVelocity(float speed); - /**Return the speed from ESCON. + /** + * @brief Return the speed from ESCON. * 0 rpm is defined in the Analog input as 1.65V * @return speed of the motor, given in [1/s] */ float getActualSpeed(void); - /** Set the period of the pwm duty cycle. + /** + * @brief Set the period of the pwm duty cycle. * Wrapper for PwmOut::period() * @param period Pwm duty cycle, given in [s]. */ void period(float period); - /** Set the Motor to a enable sate. + /** + * @brief Set the Motor to a enable sate. * @param enb <code>false</code> for disable <code>true</code> for enable. */ void enable(bool enb); - /**Tests if the servo drive is enabled. - * @return <code>true</code> if the drive is enabled, + /** + * @brief Tests if the servo drive is enabled. + * @return <code>true</code> if the drive is enabled, * <code>false</code> otherwise. */ bool isEnabled(void); - /** Return the number of Pulses. + /** + * @brief Return the number of Pulses. * @return Pulses, given in [count] */ int getPulses(void); - /** Set the Pulses of the Motor, given in [count] + /** + * @brief Set the Pulses of the Motor, given in [count] * @return Pulses, given in [count] */ int setPulses(int setPos);