足回り動かすためのライブラリ

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers encoder.hpp Source File

encoder.hpp

00001 #ifndef take_encoder
00002 #define take_encoder
00003 
00004 #include "mbed.h"
00005 
00006 #ifndef M_PI
00007 #define M_PI 3.14159265358979
00008 #endif
00009 /*INFO
00010 *coreを使わない場合idは何でもいいです
00011 *タイヤの角度~角加加速度まで一応計測できます
00012 *単位はrad~rad/s³
00013 */
00014 class Encoder{
00015 public:
00016     Encoder(PinName pinA,PinName pinB,int resolution,int mode,int id);
00017     ~Encoder();
00018     void Update(double dt);
00019     double get_Theta();
00020     double get_Omega();
00021     double get_Alpha();
00022     double get_Jerk();
00023     double get_ID();
00024     long long int pulse;
00025 private:
00026     InterruptIn *pin_A;
00027     InterruptIn *pin_B;
00028     double theta[2];
00029     double omega[2];
00030     double alpha[2];
00031     double jerk;
00032     
00033     int resolution;
00034     int mode;
00035     
00036     void init();
00037     void riseA(void);
00038     void riseB(void);
00039     void fallA(void);
00040     void fallB(void);
00041     int ID;
00042 };
00043 
00044 #endif