please publish my library
Fork of accelerometer by
Diff: Accelerometer.cpp
- Revision:
- 1:e965533a31b2
- Parent:
- 0:f37d59175b91
- Child:
- 2:2c7a73d3ae57
diff -r f37d59175b91 -r e965533a31b2 Accelerometer.cpp --- a/Accelerometer.cpp Mon Jul 09 02:17:49 2012 +0000 +++ b/Accelerometer.cpp Tue Aug 06 10:07:46 2013 +0000 @@ -1,93 +1,38 @@ -#include "Accelerometer.h" -Accelerometer::Accelerometer(PinName xoutPin,PinName youtPin,PinName zoutPin,PinName sleepPin,PinName zeroGDetectPin,PinName gSelectPin): +#include "mbed.h" +#include "accelorometer.h" - xout(xoutPin),yout(youtPin),zout(zoutPin),zeroGDetect(zeroGDetectPin),sleep(sleepPin),gSelect(gSelectPin),zeroG(zeroGDetectPin) - { - sleep = 1; //normal mode - gSelect = 0; //1.5G mode - scale = 0.8; - } - - float Accelerometer ::getAccel(){ - float x = getAccelX(); - float y = getAccelY(); - float z = getAccelZ(); - return sqrt (x*x + y*y + z*z); - - } - - float Accelerometer :: getAccelX(){ - return ((xout*3.3)-1.65)/scale; - } - - float Accelerometer :: getAccelY(){ - return ((yout*3.3)-1.65)/scale; - } - - float Accelerometer :: getAccelZ(){ - return ((zout*3.3)-1.65)/scale; +xyz data; +float scale=0.8; + +Accel::Accel(PinName xpin, PinName ypin, PinName zpin) : _zpin(zpin) , _ypin(ypin), _xpin(xpin){ + _xpin=0; + _ypin=0; + _zpin=0; } - float Accelerometer :: getTiltX() { - - float x =getAccelX(); - float y =getAccelY(); - float z =getAccelZ(); - float a =sqrt(x*x + y*y + z*z); - return asin (x/a); - - } - - float Accelerometer :: getTiltY(){ - - float x =getAccelX(); - float y =getAccelY(); - float z =getAccelZ(); - float a =sqrt(x*x + y*y + z*z); - return asin (y/a); - - } - - float Accelerometer :: getTiltZ(){ - - float x =getAccelX(); - float y =getAccelY(); - float z =getAccelZ(); - float a =sqrt(x*x + y*y + z*z); - return asin (z/a); - - } - - void Accelerometer :: setScale(Scale scale){ - switch (scale){ - - case SCALE_1_5G: - this->scale =0.8; - gSelect = 0; - break; - case SCALE_6G: - this->scale = 0.206; - gSelect = 1; - break; - - } - - } - - - void Accelerometer ::setSleep(bool on){ - sleep= !on; - } - - - bool Accelerometer :: detectedZeroG(){ - return zeroGDetect; -} +xyz Accel::readall() { +xyz data; + float x = data.readx(); + float y = data.ready(); + float z = data.readz(); + return sqrt (x*x + y*y + z*z); + +} - void Accelerometer ::setZeroGDetectListener(void(*func)(void)){ - zeroG.rise(func); -} - - template<typename T> void Accelerometer ::setZeroGDetectListener(T*t,void (T::*func)(void)){ - zeroG.rise(t,func); -} \ No newline at end of file +float Accel::readx() { + xyz data; + data.x=((xpin*3.3)-1.65)/scale; + return data.x; + } + float Accel::ready() { + xyz data; + data.y=((ypin*3.3)-1.65)/scale; + return data.y; + } + float Accel::readz() { + xyz data; + data.z=((zpin*3.3)-1.65)/scale; + return data.z; + } + + \ No newline at end of file