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