Chris Zagel / YGE25i
Committer:
VipaSpeed
Date:
Wed Feb 02 19:53:34 2011 +0000
Revision:
2:3b81b375ced3
Parent:
1:892cfa205088
Child:
3:01ad25aaff55
V1.1

Who changed what in which revision?

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