DRのPS3での操作用(アームの開閉をコントローラで制御可能)

Dependencies:   mbed CalPID motorout ros_lib_melodic MotorController_AbsEC

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