MMA7260Q Accelerometer
Accelerometer.h@1:31200b0a07e3, 2011-03-07 (annotated)
- Committer:
- yamaguch
- Date:
- Mon Mar 07 04:30:56 2011 +0000
- Revision:
- 1:31200b0a07e3
- Parent:
- 0:7d4712fa571d
- Child:
- 2:438a6eb3d251
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yamaguch | 0:7d4712fa571d | 1 | #ifndef ACCELEROMETER_H |
yamaguch | 0:7d4712fa571d | 2 | #define ACCELEROMETER_H |
yamaguch | 0:7d4712fa571d | 3 | |
yamaguch | 0:7d4712fa571d | 4 | #include "mbed.h" |
yamaguch | 0:7d4712fa571d | 5 | |
yamaguch | 1:31200b0a07e3 | 6 | /** |
yamaguch | 1:31200b0a07e3 | 7 | * MMA7260Q Accelerometer |
yamaguch | 1:31200b0a07e3 | 8 | */ |
yamaguch | 0:7d4712fa571d | 9 | class Accelerometer { |
yamaguch | 0:7d4712fa571d | 10 | public: |
yamaguch | 0:7d4712fa571d | 11 | /** |
yamaguch | 0:7d4712fa571d | 12 | * Creates an MMA7260Q accelerometer interface, connected to the specified pins |
yamaguch | 0:7d4712fa571d | 13 | * |
yamaguch | 0:7d4712fa571d | 14 | * @param xPin X pin |
yamaguch | 0:7d4712fa571d | 15 | * @param yPin Y pin |
yamaguch | 0:7d4712fa571d | 16 | * @param zPin Z pin |
yamaguch | 0:7d4712fa571d | 17 | * @param gs1Pin 1.5G/2G/4G/6G select pin |
yamaguch | 0:7d4712fa571d | 18 | * @param gs2Pin 1.5G/2G/4G/6G select pin |
yamaguch | 0:7d4712fa571d | 19 | * @param slpPin Sleep pin |
yamaguch | 0:7d4712fa571d | 20 | * |
yamaguch | 0:7d4712fa571d | 21 | */ |
yamaguch | 0:7d4712fa571d | 22 | Accelerometer(PinName xPin, PinName yPin, PinName zPin, PinName gs1Pin, PinName gs2Pin, PinName slpPin); |
yamaguch | 0:7d4712fa571d | 23 | |
yamaguch | 1:31200b0a07e3 | 24 | /** |
yamaguch | 1:31200b0a07e3 | 25 | * Scale |
yamaguch | 1:31200b0a07e3 | 26 | */ |
yamaguch | 0:7d4712fa571d | 27 | enum Scale { |
yamaguch | 1:31200b0a07e3 | 28 | SCALE_1_5G, /// 1.5G mode |
yamaguch | 1:31200b0a07e3 | 29 | SCALE_2G, /// 2G mode |
yamaguch | 1:31200b0a07e3 | 30 | SCALE_4G, /// 4G mode |
yamaguch | 1:31200b0a07e3 | 31 | SCALE_6G /// 6G mode |
yamaguch | 0:7d4712fa571d | 32 | }; |
yamaguch | 0:7d4712fa571d | 33 | |
yamaguch | 0:7d4712fa571d | 34 | /** |
yamaguch | 0:7d4712fa571d | 35 | * get the current total acceleration |
yamaguch | 0:7d4712fa571d | 36 | * |
yamaguch | 0:7d4712fa571d | 37 | * @returns total acceleration in g |
yamaguch | 0:7d4712fa571d | 38 | */ |
yamaguch | 0:7d4712fa571d | 39 | float getAccel(); |
yamaguch | 0:7d4712fa571d | 40 | |
yamaguch | 0:7d4712fa571d | 41 | /** |
yamaguch | 0:7d4712fa571d | 42 | * get the current acceleration along the X axis |
yamaguch | 0:7d4712fa571d | 43 | * |
yamaguch | 0:7d4712fa571d | 44 | * @returns acceleration along the X axis |
yamaguch | 0:7d4712fa571d | 45 | */ |
yamaguch | 0:7d4712fa571d | 46 | float getAccelX(); |
yamaguch | 0:7d4712fa571d | 47 | |
yamaguch | 0:7d4712fa571d | 48 | /** |
yamaguch | 0:7d4712fa571d | 49 | * get the current acceleration along the Y axis |
yamaguch | 0:7d4712fa571d | 50 | * |
yamaguch | 0:7d4712fa571d | 51 | * @returns acceleration along the Y axis |
yamaguch | 0:7d4712fa571d | 52 | */ |
yamaguch | 0:7d4712fa571d | 53 | float getAccelY(); |
yamaguch | 0:7d4712fa571d | 54 | |
yamaguch | 0:7d4712fa571d | 55 | /** |
yamaguch | 0:7d4712fa571d | 56 | * get the current acceleration along the Z axis |
yamaguch | 0:7d4712fa571d | 57 | * |
yamaguch | 0:7d4712fa571d | 58 | * @returns acceleration along the Z axis |
yamaguch | 0:7d4712fa571d | 59 | */ |
yamaguch | 0:7d4712fa571d | 60 | float getAccelZ(); |
yamaguch | 0:7d4712fa571d | 61 | |
yamaguch | 0:7d4712fa571d | 62 | /* Function: getTiltX |
yamaguch | 0:7d4712fa571d | 63 | * compute the inclination of the X axis |
yamaguch | 0:7d4712fa571d | 64 | * |
yamaguch | 0:7d4712fa571d | 65 | * @returns the inclination of the X axis |
yamaguch | 0:7d4712fa571d | 66 | */ |
yamaguch | 0:7d4712fa571d | 67 | float getTiltX(); |
yamaguch | 0:7d4712fa571d | 68 | |
yamaguch | 0:7d4712fa571d | 69 | /* Function: getTiltY |
yamaguch | 0:7d4712fa571d | 70 | * compute the inclination of the Y axis |
yamaguch | 0:7d4712fa571d | 71 | * |
yamaguch | 0:7d4712fa571d | 72 | * Returns: |
yamaguch | 0:7d4712fa571d | 73 | * the inclination of the Y axis |
yamaguch | 0:7d4712fa571d | 74 | */ |
yamaguch | 0:7d4712fa571d | 75 | float getTiltY(); |
yamaguch | 0:7d4712fa571d | 76 | |
yamaguch | 0:7d4712fa571d | 77 | /* Function: getTiltZ |
yamaguch | 0:7d4712fa571d | 78 | * compute the inclination of the Z axis |
yamaguch | 0:7d4712fa571d | 79 | * |
yamaguch | 0:7d4712fa571d | 80 | * Returns: |
yamaguch | 0:7d4712fa571d | 81 | * the inclination of the Z axis |
yamaguch | 0:7d4712fa571d | 82 | */ |
yamaguch | 0:7d4712fa571d | 83 | float getTiltZ(); |
yamaguch | 0:7d4712fa571d | 84 | |
yamaguch | 0:7d4712fa571d | 85 | /* Function: setScale |
yamaguch | 0:7d4712fa571d | 86 | * specify the scale to use |
yamaguch | 0:7d4712fa571d | 87 | * |
yamaguch | 0:7d4712fa571d | 88 | * Variables: |
yamaguch | 0:7d4712fa571d | 89 | * scale - SCALE_1_5G (for 1.5G) or SCALE_6G (for 6G) |
yamaguch | 0:7d4712fa571d | 90 | */ |
yamaguch | 0:7d4712fa571d | 91 | void setScale(Scale scale); |
yamaguch | 0:7d4712fa571d | 92 | |
yamaguch | 0:7d4712fa571d | 93 | /* Function: setSleep |
yamaguch | 0:7d4712fa571d | 94 | * activate sleep mode |
yamaguch | 0:7d4712fa571d | 95 | * |
yamaguch | 0:7d4712fa571d | 96 | * Variables: |
yamaguch | 0:7d4712fa571d | 97 | * on - true to activate sleep mode, false to resume normal operation |
yamaguch | 0:7d4712fa571d | 98 | */ |
yamaguch | 0:7d4712fa571d | 99 | void setSleep(bool on); |
yamaguch | 0:7d4712fa571d | 100 | |
yamaguch | 0:7d4712fa571d | 101 | private: |
yamaguch | 0:7d4712fa571d | 102 | AnalogIn xout; |
yamaguch | 0:7d4712fa571d | 103 | AnalogIn yout; |
yamaguch | 0:7d4712fa571d | 104 | AnalogIn zout; |
yamaguch | 0:7d4712fa571d | 105 | DigitalOut gs1; |
yamaguch | 0:7d4712fa571d | 106 | DigitalOut gs2; |
yamaguch | 0:7d4712fa571d | 107 | DigitalOut sleep; |
yamaguch | 0:7d4712fa571d | 108 | float scale; |
yamaguch | 0:7d4712fa571d | 109 | }; |
yamaguch | 0:7d4712fa571d | 110 | |
yamaguch | 0:7d4712fa571d | 111 | #endif |