Can measure acceleration, angular Velocity, magnetic and Angle.

Dependents:   NHK2017_octopus JY901 JY901 00_yotsuba ... more

jy901.h

Committer:
number_key
Date:
2017-08-23
Revision:
1:60d4e2eb6952
Parent:
0:f80d034ed481
Child:
2:a93909601341

File content as of revision 1:60d4e2eb6952:

#ifndef MBED_JY901_H
#define MBED_JY901_H

#include "mbed.h"
#include "jy901_def.h"


class JY901 : public I2C
{
public:

    /**
     * @param sda
     * @param scl
     */
    JY901(PinName sda, PinName scl);

    /** calibrate Gyroscope and Accelerometer
     */
    void calibrateGyroAccel();

    /** calibrate Magnetic
     */
    void calibrateMagnetic();

    /** set height to 0
     */
    void calibrateHeight();

    /** end calibration mode
     */
    void endCalibrate();

    /** calibrate Gyroscope, Accelerometer and Magnetic
     *  set height to 0
     */
    void calibrateAll(int time);

    /** return XaxisAcceleration
     */
    float getXaxisAcceleration();
    
    /** return YaxisAcceleration
     */
    float getYaxisAcceleration();
    
    /** return ZaxisAcceleration
     */
    float getZaxisAcceleration();
    
    /** return XaxisAngularVelocity
     */
    float getXaxisAngularVelocity();
    
    /** return YaxisAngularVelocity
     */
    float getYaxisAngularVelocity();
    
    /** return ZaxisAngularVelocity
     */
    float getZaxisAngularVelocity();
    
    /** return XaxisMagnetic
     */
    float getXaxisMagnetic();
    
    /** return YaxisMagnetic
     */
    float getYaxisMagnetic();
    
    /** return ZaxisMagnetic
     */
    float getZaxisMagnetic();
    
    /** return XaxisAngle
     */
    float getXaxisAngle();
    
    /** return YaxisAngle
     */
    float getYaxisAngle();
    
    /** return ZaxisAngle
     */
    float getZaxisAngle();

    private:
    char *getdata(char registar);
    };

    #endif