3輪オムニホイール制御 GNCT, B team
Dependencies: nucleo_rotary_encoder
L3GD20_i2c/L3GD20_i2c.hpp
- Committer:
- sawai
- Date:
- 2017-09-28
- Revision:
- 0:3bd8aecadafc
File content as of revision 0:3bd8aecadafc:
#ifndef __L3GD20_I2C__ #define __L3GD20_I2C__ #include "mbed.h" class l3gd20 { I2C *i; Timer t; long pre_time_ms; char addr; const char ADDR_WHO_AM_I; const char ADDR_CTRL_REG1; const char ADDR_CTRL_REG2; const char ADDR_CTRL_REG3; const char ADDR_CTRL_REG4; const char ADDR_CTRL_REG5; const char ADDR_OUT_TEMP; const char ADDR_STATUS_REG; const char ADDR_OUT_X_L; const char ADDR_OUT_X_H; const char ADDR_OUT_Y_L; const char ADDR_OUT_Y_H; const char ADDR_OUT_Z_L; const char ADDR_OUT_Z_H; double decom; double angleDeg[3]; double omegaOffset[3]; bool stpFlg; public: l3gd20(I2C *_i, bool SA0); char read_reg(char reg); void write_reg(char reg, char data); bool who_am_i(); void set_range(int dps); int16_t get_raw_omega(char se); void apply_offset(); void start(); void reset(); void stop(); double trapezoid_integr(double data, double ex_data, double period); void renew_angle(); void get_angle_deg(double *a); void get_angle_rad(double *a); }; #endif