Chris Zagel / MotorControl
Committer:
VipaSpeed
Date:
Thu May 12 09:41:01 2011 +0000
Revision:
0:1561d2ef40f0

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
VipaSpeed 0:1561d2ef40f0 1 /**
VipaSpeed 0:1561d2ef40f0 2 * @section LICENSE
VipaSpeed 0:1561d2ef40f0 3 *
VipaSpeed 0:1561d2ef40f0 4 * Copyright (c) 2010 Christian Zagel
VipaSpeed 0:1561d2ef40f0 5 *
VipaSpeed 0:1561d2ef40f0 6 * Permission is hereby granted, free of charge, to any person obtaining a copy
VipaSpeed 0:1561d2ef40f0 7 * of this software and associated documentation files (the "Software"), to deal
VipaSpeed 0:1561d2ef40f0 8 * in the Software without restriction, including without limitation the rights
VipaSpeed 0:1561d2ef40f0 9 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
VipaSpeed 0:1561d2ef40f0 10 * copies of the Software, and to permit persons to whom the Software is
VipaSpeed 0:1561d2ef40f0 11 * furnished to do so, subject to the following conditions:
VipaSpeed 0:1561d2ef40f0 12 *
VipaSpeed 0:1561d2ef40f0 13 * The above copyright notice and this permission notice shall be included in
VipaSpeed 0:1561d2ef40f0 14 * all copies or substantial portions of the Software.
VipaSpeed 0:1561d2ef40f0 15 *
VipaSpeed 0:1561d2ef40f0 16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
VipaSpeed 0:1561d2ef40f0 17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
VipaSpeed 0:1561d2ef40f0 18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
VipaSpeed 0:1561d2ef40f0 19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
VipaSpeed 0:1561d2ef40f0 20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
VipaSpeed 0:1561d2ef40f0 21 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
VipaSpeed 0:1561d2ef40f0 22 * THE SOFTWARE.
VipaSpeed 0:1561d2ef40f0 23 *
VipaSpeed 0:1561d2ef40f0 24 * @section DESCRIPTION
VipaSpeed 0:1561d2ef40f0 25 *
VipaSpeed 0:1561d2ef40f0 26 * YGE25i Regler
VipaSpeed 0:1561d2ef40f0 27 */
VipaSpeed 0:1561d2ef40f0 28
VipaSpeed 0:1561d2ef40f0 29
VipaSpeed 0:1561d2ef40f0 30 #ifndef MOTORCONTROL_H
VipaSpeed 0:1561d2ef40f0 31 #define MOTORCONTROL_H
VipaSpeed 0:1561d2ef40f0 32
VipaSpeed 0:1561d2ef40f0 33 /**
VipaSpeed 0:1561d2ef40f0 34 * Includes
VipaSpeed 0:1561d2ef40f0 35 */
VipaSpeed 0:1561d2ef40f0 36 #include "mbed.h"
VipaSpeed 0:1561d2ef40f0 37
VipaSpeed 0:1561d2ef40f0 38 /**
VipaSpeed 0:1561d2ef40f0 39 * Defines
VipaSpeed 0:1561d2ef40f0 40 */
VipaSpeed 0:1561d2ef40f0 41 //Registers.
VipaSpeed 0:1561d2ef40f0 42
VipaSpeed 0:1561d2ef40f0 43 #define rpmByte0 0x00
VipaSpeed 0:1561d2ef40f0 44 #define rpmByte1 0x01
VipaSpeed 0:1561d2ef40f0 45 #define rpmByte2 0x02
VipaSpeed 0:1561d2ef40f0 46 #define voltage 0x03
VipaSpeed 0:1561d2ef40f0 47 #define current 0x04
VipaSpeed 0:1561d2ef40f0 48 #define temperature 0x05
VipaSpeed 0:1561d2ef40f0 49 #define lastError 0x06
VipaSpeed 0:1561d2ef40f0 50 #define i2cSlaveAdr 0x07
VipaSpeed 0:1561d2ef40f0 51 #define DefaultAdr 0x88
VipaSpeed 0:1561d2ef40f0 52
VipaSpeed 0:1561d2ef40f0 53 /**
VipaSpeed 0:1561d2ef40f0 54 * YGE25i
VipaSpeed 0:1561d2ef40f0 55 */
VipaSpeed 0:1561d2ef40f0 56 class YGE25i
VipaSpeed 0:1561d2ef40f0 57 {
VipaSpeed 0:1561d2ef40f0 58 private:
VipaSpeed 0:1561d2ef40f0 59
VipaSpeed 0:1561d2ef40f0 60 I2C i2c_;
VipaSpeed 0:1561d2ef40f0 61 int throttle;
VipaSpeed 0:1561d2ef40f0 62 char adress;
VipaSpeed 0:1561d2ef40f0 63
VipaSpeed 0:1561d2ef40f0 64 public:
VipaSpeed 0:1561d2ef40f0 65
VipaSpeed 0:1561d2ef40f0 66 /**
VipaSpeed 0:1561d2ef40f0 67 * Constructor.
VipaSpeed 0:1561d2ef40f0 68 *
VipaSpeed 0:1561d2ef40f0 69 * Sets I2C SDA/SCL and Slave Adress
VipaSpeed 0:1561d2ef40f0 70 *
VipaSpeed 0:1561d2ef40f0 71 * @param sda - mbed pin to use for the SDA I2C line.
VipaSpeed 0:1561d2ef40f0 72 * @param scl - mbed pin to use for the SCL I2C line.
VipaSpeed 0:1561d2ef40f0 73 * @param adress_ - Slave Adress
VipaSpeed 0:1561d2ef40f0 74 */
VipaSpeed 0:1561d2ef40f0 75 YGE25i(PinName sda, PinName scl,char adress_);
VipaSpeed 0:1561d2ef40f0 76 /**
VipaSpeed 0:1561d2ef40f0 77 * Read Register
VipaSpeed 0:1561d2ef40f0 78 *
VipaSpeed 0:1561d2ef40f0 79 * @return The contents of the register reg. If 255 Error!!!
VipaSpeed 0:1561d2ef40f0 80 */
VipaSpeed 0:1561d2ef40f0 81 char YGEReadReg(char reg);
VipaSpeed 0:1561d2ef40f0 82 /**
VipaSpeed 0:1561d2ef40f0 83 * Write to a register
VipaSpeed 0:1561d2ef40f0 84 *
VipaSpeed 0:1561d2ef40f0 85 * @return Acknowledge: If 255 Error
VipaSpeed 0:1561d2ef40f0 86 *
VipaSpeed 0:1561d2ef40f0 87 */
VipaSpeed 0:1561d2ef40f0 88 void YGEWriteReg( char reg, char data);
VipaSpeed 0:1561d2ef40f0 89 /**
VipaSpeed 0:1561d2ef40f0 90 * Set PWM
VipaSpeed 0:1561d2ef40f0 91 *
VipaSpeed 0:1561d2ef40f0 92 * @return Acknowledge: If 255 Error
VipaSpeed 0:1561d2ef40f0 93 *
VipaSpeed 0:1561d2ef40f0 94 */
VipaSpeed 0:1561d2ef40f0 95 void YGESetPWM( int pwm_);
VipaSpeed 0:1561d2ef40f0 96
VipaSpeed 0:1561d2ef40f0 97 /**
VipaSpeed 0:1561d2ef40f0 98 * Set Adress
VipaSpeed 0:1561d2ef40f0 99 *
VipaSpeed 0:1561d2ef40f0 100 * @return void
VipaSpeed 0:1561d2ef40f0 101 *
VipaSpeed 0:1561d2ef40f0 102 */
VipaSpeed 0:1561d2ef40f0 103
VipaSpeed 0:1561d2ef40f0 104 void setAdress(char adress_);
VipaSpeed 0:1561d2ef40f0 105
VipaSpeed 0:1561d2ef40f0 106
VipaSpeed 0:1561d2ef40f0 107 void initMotor(void);
VipaSpeed 0:1561d2ef40f0 108
VipaSpeed 0:1561d2ef40f0 109 };
VipaSpeed 0:1561d2ef40f0 110
VipaSpeed 0:1561d2ef40f0 111 #endif
VipaSpeed 0:1561d2ef40f0 112
VipaSpeed 0:1561d2ef40f0 113
VipaSpeed 0:1561d2ef40f0 114
VipaSpeed 0:1561d2ef40f0 115
VipaSpeed 0:1561d2ef40f0 116