Dependents:   Lab6_Gyro

Committer:
brunostgr
Date:
Tue Dec 17 17:49:17 2019 +0000
Revision:
0:012badc736c0
Asdf

Who changed what in which revision?

UserRevisionLine numberNew contents of line
brunostgr 0:012badc736c0 1
brunostgr 0:012badc736c0 2
brunostgr 0:012badc736c0 3 #ifndef ITG3200_H
brunostgr 0:012badc736c0 4 #define ITG3200_H
brunostgr 0:012badc736c0 5
brunostgr 0:012badc736c0 6 /**
brunostgr 0:012badc736c0 7 * Includes
brunostgr 0:012badc736c0 8 */
brunostgr 0:012badc736c0 9 #include "mbed.h"
brunostgr 0:012badc736c0 10
brunostgr 0:012badc736c0 11 /**
brunostgr 0:012badc736c0 12 * Defines
brunostgr 0:012badc736c0 13 */
brunostgr 0:012badc736c0 14 #define ITG3200_DEFAULT_I2C_ADDRESS 0b11010000
brunostgr 0:012badc736c0 15
brunostgr 0:012badc736c0 16 //-----------
brunostgr 0:012badc736c0 17 // Registers
brunostgr 0:012badc736c0 18 //-----------
brunostgr 0:012badc736c0 19 #define GYRO_XOUT_H 0x1D
brunostgr 0:012badc736c0 20 #define GYRO_YOUT_H 0x1F
brunostgr 0:012badc736c0 21 #define GYRO_ZOUT_H 0x21
brunostgr 0:012badc736c0 22 #define GYRO_TEMP_H 0x1B
brunostgr 0:012badc736c0 23
brunostgr 0:012badc736c0 24 /**
brunostgr 0:012badc736c0 25 * ITG3200 digital compass module.
brunostgr 0:012badc736c0 26 */
brunostgr 0:012badc736c0 27 class ITG3200 {
brunostgr 0:012badc736c0 28
brunostgr 0:012badc736c0 29 I2C* i2c;
brunostgr 0:012badc736c0 30 int i2cAddW,i2cAddR;
brunostgr 0:012badc736c0 31
brunostgr 0:012badc736c0 32 public:
brunostgr 0:012badc736c0 33
brunostgr 0:012badc736c0 34 /**
brunostgr 0:012badc736c0 35 * Constructor.
brunostgr 0:012badc736c0 36 *
brunostgr 0:012badc736c0 37 * @param sda mbed pin to use for I2C SDA
brunostgr 0:012badc736c0 38 * @param scl mbed pin to use for I2C SCL
brunostgr 0:012badc736c0 39 * @param address I2C address of this device.
brunostgr 0:012badc736c0 40 */
brunostgr 0:012badc736c0 41 ITG3200(PinName sda, PinName scl, int i2cAddressW, int i2cAddressR);
brunostgr 0:012badc736c0 42
brunostgr 0:012badc736c0 43 void Init(void);
brunostgr 0:012badc736c0 44
brunostgr 0:012badc736c0 45
brunostgr 0:012badc736c0 46 /**
brunostgr 0:012badc736c0 47 * Reads the current X-axis rotational rate(roll) of the gyroscope.
brunostgr 0:012badc736c0 48 *
brunostgr 0:012badc736c0 49 * @return roll integer.
brunostgr 0:012badc736c0 50 *
brunostgr 0:012badc736c0 51 */
brunostgr 0:012badc736c0 52 int GetX(void);
brunostgr 0:012badc736c0 53
brunostgr 0:012badc736c0 54 /**
brunostgr 0:012badc736c0 55 * Reads the current Y-axis rotational rate(pitch) of the gyroscope.
brunostgr 0:012badc736c0 56 *
brunostgr 0:012badc736c0 57 * @return pitch integer.
brunostgr 0:012badc736c0 58 *
brunostgr 0:012badc736c0 59 */
brunostgr 0:012badc736c0 60 int GetY(void);
brunostgr 0:012badc736c0 61
brunostgr 0:012badc736c0 62 /**
brunostgr 0:012badc736c0 63 * Reads the current Z-axis rotational rate(yaw) of the gyroscope.
brunostgr 0:012badc736c0 64 *
brunostgr 0:012badc736c0 65 * @return yaw integer.
brunostgr 0:012badc736c0 66 *
brunostgr 0:012badc736c0 67 */
brunostgr 0:012badc736c0 68 int GetZ(void);
brunostgr 0:012badc736c0 69
brunostgr 0:012badc736c0 70 /**
brunostgr 0:012badc736c0 71 * Reads the current temperature of the gyroscope's die.
brunostgr 0:012badc736c0 72 *
brunostgr 0:012badc736c0 73 * @return temperature integer.
brunostgr 0:012badc736c0 74 *
brunostgr 0:012badc736c0 75 */
brunostgr 0:012badc736c0 76 int GetTemp(void);
brunostgr 0:012badc736c0 77
brunostgr 0:012badc736c0 78 };
brunostgr 0:012badc736c0 79
brunostgr 0:012badc736c0 80 #endif /* ITG3200_H */