MMA7361L.h

Committer:
kvling
Date:
2011-12-08
Revision:
0:9f484862187b

File content as of revision 0:9f484862187b:

#include "mbed.h"

class MMA7361L {
public:
    MMA7361L(PinName xoutPin, PinName youtPin,PinName zoutPin,
             PinName zeroGDetectPin, PinName gSelectPin, PinName sleepPin);

    enum Scale {SCALE_1_5G, SCALE_6G};
    float getAccel();
    float getAccelX();
    float getAccelY();
    float getAccelZ();
    float getTiltX();
    float getTiltY();
    float getTiltZ();
    void setScale(Scale scale);
    void setSleep(bool on);
    bool zeroGDetected();
    void setZeroGDetectListener(void (*func)(void));
    template<typename T> void setZeroGDetectListener(T* t, void (T::*func)(void));

private:
    AnalogIn xout, yout, zout;
    InterruptIn zeroGDetect;
    DigitalOut gSelect;
    DigitalOut sleep;
    float scale;
};