nucleo-l432kcのテンプレートです。

Dependencies:   mbed ros_lib_kinetic

library/gy521.hpp

Committer:
TanakaRobo
Date:
2019-07-09
Revision:
2:a84e3730c6cb
Parent:
library/GY521.hpp@ 1:17051435cfc5
Child:
4:47f17b5ac6e7

File content as of revision 2:a84e3730c6cb:

#ifndef GY521_H
#define GY521_H
#include "mbed.h"

/*GY521を使う。
 *I2Cオブジェクトを渡す
 *GY521(I2C &i2c,int bit = 2,int calibration = 1000,double user_reg = 1.0);
 *example
 *L432KC : SDA = PB_7 , SCL = PB_6
 *F446RE : SDA = PB_3 , SCL = PB_10
 */
//I2C i2c(SDA,SCL);
//GY521 gyro(i2c);

class GY521{
public:
    GY521(I2C &i2c,int bit = 2,int calibration = 1000,double user_reg = 1.0);
    double yaw;
    //double temp;
    void updata();
    void reset(int user);
    void start(double start = 0){
        yaw = start;
    }
    double checkStatus(int mode);
private:
    I2C &i2c_;
    Timer timer_;
    int16_t gyroRead2(enum GY521RegisterMap reg);
    double gyro_z_aver_;
    double gyro_z_now_;
    double gyro_z_prev_;
    double gyro_LSB_;
    double diff_yaw_;
    int bit_;
    int calibration_;
    bool flag_;
};

#endif /* GY521_H */