Committer:
asy_paris90
Date:
Mon Jul 09 02:17:49 2012 +0000
Revision:
0:f37d59175b91
Accelerometer7361

Who changed what in which revision?

UserRevisionLine numberNew contents of line
asy_paris90 0:f37d59175b91 1 #ifndef ACCELEROMETER_H
asy_paris90 0:f37d59175b91 2 #define ACCELEROMETER_H
asy_paris90 0:f37d59175b91 3 #include "mbed.h"
asy_paris90 0:f37d59175b91 4
asy_paris90 0:f37d59175b91 5 class Accelerometer{
asy_paris90 0:f37d59175b91 6 public:
asy_paris90 0:f37d59175b91 7 Accelerometer (PinName XoutPin, PinName youPin,PinName zoutPin,PinName sleepPin, PinName zeroGDetectPin,PinName gSelectPin);
asy_paris90 0:f37d59175b91 8
asy_paris90 0:f37d59175b91 9 enum Scale {SCALE_1_5G,SCALE_6G};
asy_paris90 0:f37d59175b91 10 float getAccel();
asy_paris90 0:f37d59175b91 11 float getAccelX();
asy_paris90 0:f37d59175b91 12 float getAccelY();
asy_paris90 0:f37d59175b91 13 float getAccelZ();
asy_paris90 0:f37d59175b91 14 float getTiltX();
asy_paris90 0:f37d59175b91 15 float getTiltY();
asy_paris90 0:f37d59175b91 16 float getTiltZ();
asy_paris90 0:f37d59175b91 17
asy_paris90 0:f37d59175b91 18 void setScale (Scale scale);
asy_paris90 0:f37d59175b91 19 void setSleep(bool on);
asy_paris90 0:f37d59175b91 20 bool detectedZeroG();
asy_paris90 0:f37d59175b91 21 void setZeroGDetectListener(void (*func)(void));
asy_paris90 0:f37d59175b91 22
asy_paris90 0:f37d59175b91 23 template<typename T> void setZeroGDetectListener(T* t,void (T::*func)(void));
asy_paris90 0:f37d59175b91 24 private:
asy_paris90 0:f37d59175b91 25
asy_paris90 0:f37d59175b91 26 AnalogIn xout,yout,zout;
asy_paris90 0:f37d59175b91 27 DigitalIn zeroGDetect;
asy_paris90 0:f37d59175b91 28 DigitalOut sleep;
asy_paris90 0:f37d59175b91 29 DigitalOut gSelect;
asy_paris90 0:f37d59175b91 30 InterruptIn zeroG;
asy_paris90 0:f37d59175b91 31 float scale;
asy_paris90 0:f37d59175b91 32
asy_paris90 0:f37d59175b91 33 };
asy_paris90 0:f37d59175b91 34 #endif