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

Dependencies:   mbed ros_lib_kinetic

Committer:
TanakaRobo
Date:
Sat May 18 12:09:43 2019 +0000
Revision:
0:a8a56075e947
Child:
1:17051435cfc5
first commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
TanakaRobo 0:a8a56075e947 1 #pragma once
TanakaRobo 0:a8a56075e947 2 #include "mbed.h"
TanakaRobo 0:a8a56075e947 3
TanakaRobo 0:a8a56075e947 4 const double GY521_LSB_MAP[4] = {131, 65.5, 32.8, 16.4};
TanakaRobo 0:a8a56075e947 5 enum GY521RegisterMap {
TanakaRobo 0:a8a56075e947 6 WHO_AM_I = 0x75,
TanakaRobo 0:a8a56075e947 7 PWR_MGMT_1 = 0x6B,
TanakaRobo 0:a8a56075e947 8 LPF = 0x1A,
TanakaRobo 0:a8a56075e947 9 FS_SEL = 0x1B,
TanakaRobo 0:a8a56075e947 10 AFS_SEL = 0x1C,
TanakaRobo 0:a8a56075e947 11 ACCEL_XOUT_H = 0x3B,
TanakaRobo 0:a8a56075e947 12 ACCEL_YOUT_H = 0x3D,
TanakaRobo 0:a8a56075e947 13 ACCEL_ZOUT_H = 0x3F,
TanakaRobo 0:a8a56075e947 14 //TEMPERATURE = 0x41,
TanakaRobo 0:a8a56075e947 15 //GYRO_XOUT_H = 0x43,
TanakaRobo 0:a8a56075e947 16 //GYRO_YOUT_H = 0x45,
TanakaRobo 0:a8a56075e947 17 GYRO_ZOUT_H = 0x47
TanakaRobo 0:a8a56075e947 18 };
TanakaRobo 0:a8a56075e947 19
TanakaRobo 0:a8a56075e947 20 class GY521{
TanakaRobo 0:a8a56075e947 21 public:
TanakaRobo 0:a8a56075e947 22 GY521(I2C &i2c,int bit = 2,int calibration = 1000,double user_reg = 1.0);
TanakaRobo 0:a8a56075e947 23 double yaw;
TanakaRobo 0:a8a56075e947 24 double diffyaw;
TanakaRobo 0:a8a56075e947 25 //double temp;
TanakaRobo 0:a8a56075e947 26 void updata();
TanakaRobo 0:a8a56075e947 27 void reset(int user);
TanakaRobo 0:a8a56075e947 28 void start(double start = 0){
TanakaRobo 0:a8a56075e947 29 yaw = start;
TanakaRobo 0:a8a56075e947 30 }
TanakaRobo 0:a8a56075e947 31 double checkStatus(int mode);
TanakaRobo 0:a8a56075e947 32 private:
TanakaRobo 0:a8a56075e947 33 I2C &i2c;
TanakaRobo 0:a8a56075e947 34 Timer time;
TanakaRobo 0:a8a56075e947 35 unsigned int dev_id;
TanakaRobo 0:a8a56075e947 36 int16_t gyroRead2(enum GY521RegisterMap reg);
TanakaRobo 0:a8a56075e947 37 double gyro_z_aver;
TanakaRobo 0:a8a56075e947 38 double gyro_z_now;
TanakaRobo 0:a8a56075e947 39 double gyro_z_prev;
TanakaRobo 0:a8a56075e947 40 double gyro_LSB;
TanakaRobo 0:a8a56075e947 41 int bit_;
TanakaRobo 0:a8a56075e947 42 int calibration;
TanakaRobo 0:a8a56075e947 43 bool flag;
TanakaRobo 0:a8a56075e947 44 };