Xbeat beta code as published by Andre Moehl ( http://mbed.org/users/hoppel/ ) With a slightly modified serial port definition

Dependencies:   mbed

Committer:
n0p
Date:
Fri Feb 04 08:31:00 2011 +0000
Revision:
0:badcd0d61c7b

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
n0p 0:badcd0d61c7b 1 /*
n0p 0:badcd0d61c7b 2 *
n0p 0:badcd0d61c7b 3 * This program is free software; you can redistribute it and/or modify
n0p 0:badcd0d61c7b 4 * it under the terms of the GNU General Public License as published by
n0p 0:badcd0d61c7b 5 * the Free Software Foundation; either version 3 of the License, or
n0p 0:badcd0d61c7b 6 * (at your option) any later version.
n0p 0:badcd0d61c7b 7 *
n0p 0:badcd0d61c7b 8 * This program is distributed in the hope that it will be useful,
n0p 0:badcd0d61c7b 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
n0p 0:badcd0d61c7b 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
n0p 0:badcd0d61c7b 11 * GNU General Public License for more details.
n0p 0:badcd0d61c7b 12 *
n0p 0:badcd0d61c7b 13 * You should have received a copy of the GNU General Public License
n0p 0:badcd0d61c7b 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
n0p 0:badcd0d61c7b 15 *
n0p 0:badcd0d61c7b 16 * @file drive.h
n0p 0:badcd0d61c7b 17 * @author Andre Moehl
n0p 0:badcd0d61c7b 18 * @date 01/2011
n0p 0:badcd0d61c7b 19 * @brief Driver Class definition
n0p 0:badcd0d61c7b 20 */
n0p 0:badcd0d61c7b 21
n0p 0:badcd0d61c7b 22 #ifndef __DRIVE_H
n0p 0:badcd0d61c7b 23 #define __DRIVE_H
n0p 0:badcd0d61c7b 24
n0p 0:badcd0d61c7b 25 /*--- Includes ------------------------*/
n0p 0:badcd0d61c7b 26 #include "mbed.h"
n0p 0:badcd0d61c7b 27 #include "motor.h"
n0p 0:badcd0d61c7b 28
n0p 0:badcd0d61c7b 29 //duty cycle for motor PWM in ms
n0p 0:badcd0d61c7b 30 #define DUTYCYCLE 20
n0p 0:badcd0d61c7b 31 // pulse width (us) for Motor stop
n0p 0:badcd0d61c7b 32 #define ZERO 1500
n0p 0:badcd0d61c7b 33
n0p 0:badcd0d61c7b 34 #define LEFT 1
n0p 0:badcd0d61c7b 35 #define RIGHT 2
n0p 0:badcd0d61c7b 36
n0p 0:badcd0d61c7b 37 class Drive
n0p 0:badcd0d61c7b 38 {
n0p 0:badcd0d61c7b 39 public:
n0p 0:badcd0d61c7b 40
n0p 0:badcd0d61c7b 41 /**
n0p 0:badcd0d61c7b 42 * @brief Constructor
n0p 0:badcd0d61c7b 43 * @parameter LeftPin Left Motorp Signal Pin
n0p 0:badcd0d61c7b 44 * @parameter RightPin Right Motorp Signal Pin
n0p 0:badcd0d61c7b 45 */
n0p 0:badcd0d61c7b 46 Drive(PinName LeftPin,PinName RightPin);
n0p 0:badcd0d61c7b 47 /**
n0p 0:badcd0d61c7b 48 * @ brief Sets the linear speed
n0p 0:badcd0d61c7b 49 * @parameter speed value between -100 and 100 % */
n0p 0:badcd0d61c7b 50 void move(int left, int right);
n0p 0:badcd0d61c7b 51 /**
n0p 0:badcd0d61c7b 52 * @brief sets the motor zero offset
n0p 0:badcd0d61c7b 53 * @parameter left left motor offset
n0p 0:badcd0d61c7b 54 * @parameter right right motor offset
n0p 0:badcd0d61c7b 55 */
n0p 0:badcd0d61c7b 56 void setoffset(int left, int right);
n0p 0:badcd0d61c7b 57
n0p 0:badcd0d61c7b 58 private:
n0p 0:badcd0d61c7b 59 int curr_speed_L;
n0p 0:badcd0d61c7b 60 int curr_speed_R;
n0p 0:badcd0d61c7b 61 int offset_L, offset_R;
n0p 0:badcd0d61c7b 62 Motor _Left;
n0p 0:badcd0d61c7b 63 Motor _Right;
n0p 0:badcd0d61c7b 64 };
n0p 0:badcd0d61c7b 65
n0p 0:badcd0d61c7b 66 #endif