9/10

Committer:
yuki0108
Date:
Thu Dec 10 06:41:13 2020 +0000
Revision:
0:f3d3f744dbd9
Child:
1:3838b5e3966c
AMT21 series

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yuki0108 0:f3d3f744dbd9 1 #ifndef _INCLUDED_AMT212_H_
yuki0108 0:f3d3f744dbd9 2 #define _INCLUDED_AMT212_H_
yuki0108 0:f3d3f744dbd9 3 #include "mbed.h"
yuki0108 0:f3d3f744dbd9 4
yuki0108 0:f3d3f744dbd9 5 #define SEND 1
yuki0108 0:f3d3f744dbd9 6 #define RECEIVE 0
yuki0108 0:f3d3f744dbd9 7 #define RECEIVE_COUNT 0
yuki0108 0:f3d3f744dbd9 8 #define RECEIVE_TURN 2
yuki0108 0:f3d3f744dbd9 9 #define GET_COUNT 84
yuki0108 0:f3d3f744dbd9 10 #define GET_TURN 85
yuki0108 0:f3d3f744dbd9 11 #define RESOLUTION_AMT21 16384
yuki0108 0:f3d3f744dbd9 12 #define DETECT_FLOW 5
yuki0108 0:f3d3f744dbd9 13 #define RESET 86
yuki0108 0:f3d3f744dbd9 14 #define COUNT_OFFSET 0
yuki0108 0:f3d3f744dbd9 15 #define GEER_STEER 280.0/50
yuki0108 0:f3d3f744dbd9 16 #ifndef M_PI
yuki0108 0:f3d3f744dbd9 17 #define M_PI 3.14159265359f
yuki0108 0:f3d3f744dbd9 18 #endif
yuki0108 0:f3d3f744dbd9 19
yuki0108 0:f3d3f744dbd9 20
yuki0108 0:f3d3f744dbd9 21
yuki0108 0:f3d3f744dbd9 22 class Amt21
yuki0108 0:f3d3f744dbd9 23 {
yuki0108 0:f3d3f744dbd9 24 private:
yuki0108 0:f3d3f744dbd9 25 int low_count,high_count;
yuki0108 0:f3d3f744dbd9 26 int low_turn,high_turn;
yuki0108 0:f3d3f744dbd9 27 int receive_mode;
yuki0108 0:f3d3f744dbd9 28 int instruction;
yuki0108 0:f3d3f744dbd9 29 void sendMessage();
yuki0108 0:f3d3f744dbd9 30 void receiveMessage();
yuki0108 0:f3d3f744dbd9 31 int receive_old;
yuki0108 0:f3d3f744dbd9 32 int flow_count;
yuki0108 0:f3d3f744dbd9 33 int th_min;
yuki0108 0:f3d3f744dbd9 34 int th_max;
yuki0108 0:f3d3f744dbd9 35 int count_;
yuki0108 0:f3d3f744dbd9 36 int pre_count;
yuki0108 0:f3d3f744dbd9 37 double omega_;
yuki0108 0:f3d3f744dbd9 38 double pre_time;
yuki0108 0:f3d3f744dbd9 39
yuki0108 0:f3d3f744dbd9 40 protected:
yuki0108 0:f3d3f744dbd9 41 Serial serial_;//RS485通信
yuki0108 0:f3d3f744dbd9 42 DigitalOut rs485_mode;//送受信の切り替え
yuki0108 0:f3d3f744dbd9 43 public:
yuki0108 0:f3d3f744dbd9 44 Amt21(PinName tx,PinName rx,PinName mode);//コンストラクタ
yuki0108 0:f3d3f744dbd9 45
yuki0108 0:f3d3f744dbd9 46 Timer timer_;
yuki0108 0:f3d3f744dbd9 47
yuki0108 0:f3d3f744dbd9 48 int getAbCount();//カウント数取得関数
yuki0108 0:f3d3f744dbd9 49 int getTurn();//回転回数取得関数
yuki0108 0:f3d3f744dbd9 50 int getCount();//インクリメント型のカウントと同じように使えて、-のカウントや16383以上のカウントを返す。
yuki0108 0:f3d3f744dbd9 51 double getAngle();
yuki0108 0:f3d3f744dbd9 52 void calOmega();
yuki0108 0:f3d3f744dbd9 53 double getOmega();
yuki0108 0:f3d3f744dbd9 54 void reset();//回転数のリセット関数。※0~360を示すカウント数はリセットされない。
yuki0108 0:f3d3f744dbd9 55
yuki0108 0:f3d3f744dbd9 56 };
yuki0108 0:f3d3f744dbd9 57 #endif