展示会用です

Dependencies:   VNH5019

Dependents:   Aigamozu_Robot_展示会 Aigamozu_Robot_March Aigamozu_Robot_templete

Fork of AigamozuControlPackets by aigamozu

Committer:
s1200058
Date:
Fri Mar 17 09:02:41 2017 +0000
Revision:
48:4695e72853c6
Parent:
47:36fdf8cd4336
Child:
49:3f097e4ad60f
3/22-23????????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
m5171135 0:2b8b56ac7a82 1 #include "mbed.h"
m5171135 0:2b8b56ac7a82 2 #include "VNH5019.h"
m5171135 0:2b8b56ac7a82 3
m5171135 0:2b8b56ac7a82 4 #ifndef AIGAMOZU_CONTROL_PACKETS
m5171135 0:2b8b56ac7a82 5 #define AIGAMOZU_CONTROL_PACKETS
m5171135 0:2b8b56ac7a82 6
m5171135 2:3f2d4f53ceed 7 #define MANUAL_COMMAND_LENGTH 17
m5171135 2:3f2d4f53ceed 8 #define REQUEST_COMMNAD_LENGTH 11
m5171135 2:3f2d4f53ceed 9 #define CHANGE_MODE_COMMAND_LENGTH 12
kityann 17:a6fa8cc96d94 10 #define RECEIVE_STATUS_COMMNAD_LENGTH 64
m5171135 0:2b8b56ac7a82 11
s1200058 47:36fdf8cd4336 12 #define SEND_DATA_COMMNAD_LENGTH 24
s1200058 45:2f47c25a3562 13
kityann 13:a5bc425540a7 14 enum COMMAND_TYPE {MANUAL = 'M', STATUS_REQUEST = 'S', CHANGE_MODE = 'C', RECEIVE_STATUS = 'R',RECEIVE_KALMAN = 'K'};
m5171135 4:04dadf67ecb6 15 enum MODE {STANDBY_MODE = 0, MANUAL_MODE = 1,AUTO_MODE = 2,AUTO_GPS_MODE = 3};
m5171135 6:f164a716be46 16 enum STATUS {GPS_AVAIL = 0, GPS_UNAVAIL = 1,GPS_OUT_AREA = 2};
m5171135 0:2b8b56ac7a82 17
s1200058 47:36fdf8cd4336 18 union UNION_int_char{
s1200058 47:36fdf8cd4336 19 int16_t int_value;
s1200058 47:36fdf8cd4336 20 uint8_t char_value[2];
s1200058 47:36fdf8cd4336 21 };
m5171135 0:2b8b56ac7a82 22 class AigamozuControlPackets{
m5171135 0:2b8b56ac7a82 23
m5171135 6:f164a716be46 24 //--------PUBLIC-----------//
m5171135 0:2b8b56ac7a82 25 public:
m5171135 5:3f51eeb5aedc 26 AigamozuControlPackets(VNH5019 agzSheild);
m5171135 5:3f51eeb5aedc 27
m5171135 6:f164a716be46 28 Ticker eachModeInt;
m5171135 0:2b8b56ac7a82 29
m5171135 2:3f2d4f53ceed 30 uint8_t* packetData;
s1200058 41:fbf8f617a6ab 31
m5171135 2:3f2d4f53ceed 32 //using create packet
m5171135 2:3f2d4f53ceed 33 uint8_t* getPacketData();
m5171135 2:3f2d4f53ceed 34 int getPacketLength();
m5171135 2:3f2d4f53ceed 35
m5171135 2:3f2d4f53ceed 36 //Change Mode:
m5171135 2:3f2d4f53ceed 37 bool changeMode(uint8_t *buf);
m5171135 5:3f51eeb5aedc 38
m5171135 5:3f51eeb5aedc 39 //Check Command Type using xbee buffer;
m5171135 0:2b8b56ac7a82 40 uint8_t checkCommnadType(uint8_t* buf);
m5171135 0:2b8b56ac7a82 41
s1200058 9:4f675487f06b 42 //Change Speed
m5171135 5:3f51eeb5aedc 43 void changeSpeed(uint8_t* buf);
m5171135 5:3f51eeb5aedc 44
m5171135 0:2b8b56ac7a82 45 MODE nowMode;
kityann 38:c1948f13578d 46 char motor_command;
m5171135 0:2b8b56ac7a82 47 STATUS nowStatus;
m5171135 4:04dadf67ecb6 48 int packetLength;
m5171135 4:04dadf67ecb6 49
s1200058 20:fec2d6dec897 50 //Auto Type 2 -> GPS
s1200058 41:fbf8f617a6ab 51 bool gpsAuto(/*const int autobase[]*/void);
s1210160 37:93ba352b0395 52 void control_Motor(int);
s1200058 33:c11a9cb35840 53 Timer Move_Timer;
s1200058 45:2f47c25a3562 54
s1200058 46:c35184266e00 55 // ジャイロ・加速度データを送信する
s1200058 47:36fdf8cd4336 56 void SendDataCommand(uint8_t ,uint8_t, int16_t, int16_t, int16_t, int16_t, int16_t, int16_t, uint8_t);
s1200058 48:4695e72853c6 57 //受信したデータの処理
s1200058 48:4695e72853c6 58 void GetData(uint8_t*,uint8_t*, uint8_t*,uint8_t*,uint8_t*,uint8_t*);
s1200058 48:4695e72853c6 59 int r_ax, r_ay, r_az, r_gx, r_gy, r_gz;
s1200058 24:ed71894a6952 60
m5171135 6:f164a716be46 61 //--------PRIVATE-----------//
m5171135 0:2b8b56ac7a82 62 private:
m5171135 5:3f51eeb5aedc 63 //
m5171135 5:3f51eeb5aedc 64 VNH5019 _agzSheild;
m5171135 5:3f51eeb5aedc 65
m5171135 5:3f51eeb5aedc 66 void manualMode();
m5171135 5:3f51eeb5aedc 67 int manualCount;
s1200058 41:fbf8f617a6ab 68
m5171135 0:2b8b56ac7a82 69 };
m5171135 0:2b8b56ac7a82 70
m5171135 0:2b8b56ac7a82 71 #endif