DRのPS3での操作用(アームの開閉をコントローラで制御可能)
Dependencies: mbed CalPID motorout ros_lib_melodic MotorController_AbsEC
Diff: AMT21/AMT21.h
- Revision:
- 0:83b2c6a67cce
- Child:
- 1:c0a3e4589a8f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/AMT21/AMT21.h Thu Jul 08 03:46:29 2021 +0000 @@ -0,0 +1,62 @@ +#ifndef _INCLUDED_AMT212_H_ +#define _INCLUDED_AMT212_H_ +#include "mbed.h" + +#define SEND 1 +#define RECEIVE 0 +#define RECEIVE_COUNT 0 +#define RECEIVE_TURN 2 +#define GET_COUNT 84 +#define GET_TURN 85 +#define RESOLUTION_AMT21 16384 +#define DETECT_FLOW 5 +#define RESET 86 +#define COUNT_OFFSET 9312 //////////////////1568 +#define GEER_STEER 1 +#ifndef M_PI +#define M_PI 3.14159265359f +#endif + + + +class Amt21 +{ +private: +////////////////////////////////////////////// + int low_count,high_count; + int low_turn,high_turn; + int receive_mode; + int instruction; + void sendMessage(); + void receiveMessage(); +///////////////////////////////////////////// + int count_; + int receive_old; + int flow_count; + int th_min; + int th_max; + int pre_count; + double omega_; + double pre_time; + + int getAbCount();//カウント数取得関数 + int getTurn();//回転回数取得関数 + +protected: + Serial serial_;//RS485通信 + DigitalOut rs485_mode;//送受信の切り替え +public: + Amt21(PinName tx,PinName rx,PinName mode);//コンストラクタ + + Timer timer_; + + void rewriteCount();//1周期に1度呼び出す。 + int getCount();//インクリメント型のカウントと同じように使えて、-のカウントや16383以上のカウントを返す。 + double getDeg();//角度[°]を返す + double getRad();//角度[rad]を返す + void calOmega();//getOmegaする前に呼び出す + double getOmega();//角速度[rad/s]を返す + void reset();//回転数のリセット関数。※0~360を示すカウント数はリセットされない。 + +}; +#endif \ No newline at end of file