to Mineta

Dependencies:   VNH5019

Dependents:   agz_base_ver2 agz_base_ver2 get_GPS_data_ver1 aigamozu_program_ver2 ... more

Committer:
m5171135
Date:
Sun Jun 08 15:09:02 2014 +0000
Revision:
5:3f51eeb5aedc
Parent:
4:04dadf67ecb6
Child:
6:f164a716be46
ver 2,0

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
m5171135 2:3f2d4f53ceed 10 #define RECEIVE_STATUS_COMMNAD_LENGTH 32
m5171135 0:2b8b56ac7a82 11
m5171135 0:2b8b56ac7a82 12 enum COMMAND_TYPE {MANUAL = 'M', STATUS_REQUEST = 'S', CHANGE_MODE = 'C', RECEIVE_STATUS = 'R'};
m5171135 4:04dadf67ecb6 13 enum MODE {STANDBY_MODE = 0, MANUAL_MODE = 1,AUTO_MODE = 2,AUTO_GPS_MODE = 3};
m5171135 1:80448565c15c 14 enum STATUS {GPS_AVAIL = 0, GPS_UNAVAIL = 1};
m5171135 0:2b8b56ac7a82 15
m5171135 0:2b8b56ac7a82 16 union TEST_T{
m5171135 0:2b8b56ac7a82 17 long a;
m5171135 0:2b8b56ac7a82 18 uint8_t b[4];
m5171135 0:2b8b56ac7a82 19 };
m5171135 2:3f2d4f53ceed 20
m5171135 0:2b8b56ac7a82 21
m5171135 5:3f51eeb5aedc 22
m5171135 5:3f51eeb5aedc 23
m5171135 0:2b8b56ac7a82 24 class AigamozuControlPackets{
m5171135 0:2b8b56ac7a82 25
m5171135 0:2b8b56ac7a82 26 public:
m5171135 5:3f51eeb5aedc 27 AigamozuControlPackets(VNH5019 agzSheild);
m5171135 5:3f51eeb5aedc 28
m5171135 5:3f51eeb5aedc 29 Ticker hoge;
m5171135 0:2b8b56ac7a82 30
m5171135 2:3f2d4f53ceed 31 uint8_t* packetData;
m5171135 2:3f2d4f53ceed 32 //Create Packet: Controller/Base -> Robot
m5171135 2:3f2d4f53ceed 33 void createManualCommad(uint8_t fromID,uint8_t toID,uint8_t directionL,uint8_t pwmL,uint8_t directionR, uint8_t pwmR);
m5171135 2:3f2d4f53ceed 34 void createRequestCommand(uint8_t fromID,uint8_t toID,uint8_t);
m5171135 2:3f2d4f53ceed 35 void createChangeModeCommand(uint8_t fromID,uint8_t toID,uint8_t,MODE mode);
m5171135 0:2b8b56ac7a82 36
m5171135 2:3f2d4f53ceed 37 //Create Packet: Robot -> Controller/Base
m5171135 2:3f2d4f53ceed 38 void createReceiveStatusCommand(uint8_t fromID,uint8_t toID,long latitudeH,long latitudeL,long longitudeH,long longitudeL);
m5171135 2:3f2d4f53ceed 39 //uint8_t* createAckPacket(uint8_t fromID,uint8_t toID);
m5171135 0:2b8b56ac7a82 40
m5171135 2:3f2d4f53ceed 41 //using create packet
m5171135 2:3f2d4f53ceed 42 uint8_t* getPacketData();
m5171135 2:3f2d4f53ceed 43 int getPacketLength();
m5171135 2:3f2d4f53ceed 44
m5171135 2:3f2d4f53ceed 45 //Change Mode:
m5171135 2:3f2d4f53ceed 46 bool changeMode(uint8_t *buf);
m5171135 5:3f51eeb5aedc 47
m5171135 5:3f51eeb5aedc 48 //Check Command Type using xbee buffer;
m5171135 0:2b8b56ac7a82 49 uint8_t checkCommnadType(uint8_t* buf);
m5171135 0:2b8b56ac7a82 50
m5171135 5:3f51eeb5aedc 51 //Change Motor Speed
m5171135 5:3f51eeb5aedc 52 void changeSpeed(uint8_t* buf);
m5171135 5:3f51eeb5aedc 53
m5171135 0:2b8b56ac7a82 54 MODE nowMode;
m5171135 0:2b8b56ac7a82 55 STATUS nowStatus;
m5171135 4:04dadf67ecb6 56 int packetLength;
m5171135 4:04dadf67ecb6 57
m5171135 5:3f51eeb5aedc 58
m5171135 4:04dadf67ecb6 59
m5171135 0:2b8b56ac7a82 60 private:
m5171135 5:3f51eeb5aedc 61 //
m5171135 5:3f51eeb5aedc 62 VNH5019 _agzSheild;
m5171135 5:3f51eeb5aedc 63
m5171135 5:3f51eeb5aedc 64 void manualMode();
m5171135 5:3f51eeb5aedc 65 int manualCount;
m5171135 5:3f51eeb5aedc 66
m5171135 5:3f51eeb5aedc 67 //Auto Type 1 -> Random
m5171135 5:3f51eeb5aedc 68 void randomAuto();
m5171135 5:3f51eeb5aedc 69 int randomCount;
m5171135 5:3f51eeb5aedc 70
m5171135 5:3f51eeb5aedc 71
m5171135 5:3f51eeb5aedc 72
m5171135 5:3f51eeb5aedc 73 //Auto Type 2 -> GPS
m5171135 5:3f51eeb5aedc 74 void gpsAuto();
m5171135 5:3f51eeb5aedc 75
m5171135 5:3f51eeb5aedc 76
m5171135 5:3f51eeb5aedc 77
m5171135 5:3f51eeb5aedc 78
m5171135 0:2b8b56ac7a82 79 };
m5171135 0:2b8b56ac7a82 80
m5171135 0:2b8b56ac7a82 81 #endif