MMA7260Q Accelerometer
Accelerometer.h@3:e31cb4dd4aa6, 2011-03-07 (annotated)
- Committer:
- yamaguch
- Date:
- Mon Mar 07 04:34:45 2011 +0000
- Revision:
- 3:e31cb4dd4aa6
- Parent:
- 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 | 2:438a6eb3d251 | 24 | /***/ |
yamaguch | 0:7d4712fa571d | 25 | enum Scale { |
yamaguch | 3:e31cb4dd4aa6 | 26 | SCALE_1_5G /** 1.5G mode */, |
yamaguch | 3:e31cb4dd4aa6 | 27 | SCALE_2G /** 2G mode */, |
yamaguch | 3:e31cb4dd4aa6 | 28 | SCALE_4G /** 4G mode */, |
yamaguch | 3:e31cb4dd4aa6 | 29 | SCALE_6G /** 6G mode */ |
yamaguch | 0:7d4712fa571d | 30 | }; |
yamaguch | 0:7d4712fa571d | 31 | |
yamaguch | 0:7d4712fa571d | 32 | /** |
yamaguch | 0:7d4712fa571d | 33 | * get the current total acceleration |
yamaguch | 0:7d4712fa571d | 34 | * |
yamaguch | 0:7d4712fa571d | 35 | * @returns total acceleration in g |
yamaguch | 0:7d4712fa571d | 36 | */ |
yamaguch | 0:7d4712fa571d | 37 | float getAccel(); |
yamaguch | 0:7d4712fa571d | 38 | |
yamaguch | 0:7d4712fa571d | 39 | /** |
yamaguch | 0:7d4712fa571d | 40 | * get the current acceleration along the X axis |
yamaguch | 0:7d4712fa571d | 41 | * |
yamaguch | 0:7d4712fa571d | 42 | * @returns acceleration along the X axis |
yamaguch | 0:7d4712fa571d | 43 | */ |
yamaguch | 0:7d4712fa571d | 44 | float getAccelX(); |
yamaguch | 0:7d4712fa571d | 45 | |
yamaguch | 0:7d4712fa571d | 46 | /** |
yamaguch | 0:7d4712fa571d | 47 | * get the current acceleration along the Y axis |
yamaguch | 0:7d4712fa571d | 48 | * |
yamaguch | 0:7d4712fa571d | 49 | * @returns acceleration along the Y axis |
yamaguch | 0:7d4712fa571d | 50 | */ |
yamaguch | 0:7d4712fa571d | 51 | float getAccelY(); |
yamaguch | 0:7d4712fa571d | 52 | |
yamaguch | 0:7d4712fa571d | 53 | /** |
yamaguch | 0:7d4712fa571d | 54 | * get the current acceleration along the Z axis |
yamaguch | 0:7d4712fa571d | 55 | * |
yamaguch | 0:7d4712fa571d | 56 | * @returns acceleration along the Z axis |
yamaguch | 0:7d4712fa571d | 57 | */ |
yamaguch | 0:7d4712fa571d | 58 | float getAccelZ(); |
yamaguch | 0:7d4712fa571d | 59 | |
yamaguch | 0:7d4712fa571d | 60 | /* Function: getTiltX |
yamaguch | 0:7d4712fa571d | 61 | * compute the inclination of the X axis |
yamaguch | 0:7d4712fa571d | 62 | * |
yamaguch | 0:7d4712fa571d | 63 | * @returns the inclination of the X axis |
yamaguch | 0:7d4712fa571d | 64 | */ |
yamaguch | 0:7d4712fa571d | 65 | float getTiltX(); |
yamaguch | 0:7d4712fa571d | 66 | |
yamaguch | 0:7d4712fa571d | 67 | /* Function: getTiltY |
yamaguch | 0:7d4712fa571d | 68 | * compute the inclination of the Y axis |
yamaguch | 0:7d4712fa571d | 69 | * |
yamaguch | 0:7d4712fa571d | 70 | * Returns: |
yamaguch | 0:7d4712fa571d | 71 | * the inclination of the Y axis |
yamaguch | 0:7d4712fa571d | 72 | */ |
yamaguch | 0:7d4712fa571d | 73 | float getTiltY(); |
yamaguch | 0:7d4712fa571d | 74 | |
yamaguch | 0:7d4712fa571d | 75 | /* Function: getTiltZ |
yamaguch | 0:7d4712fa571d | 76 | * compute the inclination of the Z axis |
yamaguch | 0:7d4712fa571d | 77 | * |
yamaguch | 0:7d4712fa571d | 78 | * Returns: |
yamaguch | 0:7d4712fa571d | 79 | * the inclination of the Z axis |
yamaguch | 0:7d4712fa571d | 80 | */ |
yamaguch | 0:7d4712fa571d | 81 | float getTiltZ(); |
yamaguch | 0:7d4712fa571d | 82 | |
yamaguch | 0:7d4712fa571d | 83 | /* Function: setScale |
yamaguch | 0:7d4712fa571d | 84 | * specify the scale to use |
yamaguch | 0:7d4712fa571d | 85 | * |
yamaguch | 0:7d4712fa571d | 86 | * Variables: |
yamaguch | 0:7d4712fa571d | 87 | * scale - SCALE_1_5G (for 1.5G) or SCALE_6G (for 6G) |
yamaguch | 0:7d4712fa571d | 88 | */ |
yamaguch | 0:7d4712fa571d | 89 | void setScale(Scale scale); |
yamaguch | 0:7d4712fa571d | 90 | |
yamaguch | 0:7d4712fa571d | 91 | /* Function: setSleep |
yamaguch | 0:7d4712fa571d | 92 | * activate sleep mode |
yamaguch | 0:7d4712fa571d | 93 | * |
yamaguch | 0:7d4712fa571d | 94 | * Variables: |
yamaguch | 0:7d4712fa571d | 95 | * on - true to activate sleep mode, false to resume normal operation |
yamaguch | 0:7d4712fa571d | 96 | */ |
yamaguch | 0:7d4712fa571d | 97 | void setSleep(bool on); |
yamaguch | 0:7d4712fa571d | 98 | |
yamaguch | 0:7d4712fa571d | 99 | private: |
yamaguch | 0:7d4712fa571d | 100 | AnalogIn xout; |
yamaguch | 0:7d4712fa571d | 101 | AnalogIn yout; |
yamaguch | 0:7d4712fa571d | 102 | AnalogIn zout; |
yamaguch | 0:7d4712fa571d | 103 | DigitalOut gs1; |
yamaguch | 0:7d4712fa571d | 104 | DigitalOut gs2; |
yamaguch | 0:7d4712fa571d | 105 | DigitalOut sleep; |
yamaguch | 0:7d4712fa571d | 106 | float scale; |
yamaguch | 0:7d4712fa571d | 107 | }; |
yamaguch | 0:7d4712fa571d | 108 | |
yamaguch | 0:7d4712fa571d | 109 | #endif |