forward
Dependencies: VNH5019
Fork of AigamozuControlPackets by
Diff: AigamozuControlPackets.h
- Revision:
- 2:3f2d4f53ceed
- Parent:
- 1:80448565c15c
- Child:
- 3:282dad679fca
- Child:
- 4:04dadf67ecb6
--- a/AigamozuControlPackets.h Wed Jun 04 09:12:20 2014 +0000 +++ b/AigamozuControlPackets.h Sun Jun 08 09:44:19 2014 +0000 @@ -4,9 +4,10 @@ #ifndef AIGAMOZU_CONTROL_PACKETS #define AIGAMOZU_CONTROL_PACKETS -#define RECEIVES_GPS_STATUS_LENGTH 32 -#define RECEIVES_ACK_LENGTH 13 - +#define MANUAL_COMMAND_LENGTH 17 +#define REQUEST_COMMNAD_LENGTH 11 +#define CHANGE_MODE_COMMAND_LENGTH 12 +#define RECEIVE_STATUS_COMMNAD_LENGTH 32 enum COMMAND_TYPE {MANUAL = 'M', STATUS_REQUEST = 'S', CHANGE_MODE = 'C', RECEIVE_STATUS = 'R'}; enum MODE {STANDBY_MODE = 0, MANUAL_MODE = 1,AUTO_MODE = 2}; @@ -16,29 +17,55 @@ long a; uint8_t b[4]; }; + +///////////////////////////////////////// +// +//Interruption processing 1: time -> 0.1s +// +///////////////////////////////////////// class AigamozuControlPackets{ public: - Ticker randomAxis; + AigamozuControlPackets(); + + + Ticker autoInt; - //Change + uint8_t* packetData; + //Create Packet: Controller/Base -> Robot + void createManualCommad(uint8_t fromID,uint8_t toID,uint8_t directionL,uint8_t pwmL,uint8_t directionR, uint8_t pwmR); + void createRequestCommand(uint8_t fromID,uint8_t toID,uint8_t); + void createChangeModeCommand(uint8_t fromID,uint8_t toID,uint8_t,MODE mode); - //Create Command: Robot -> Controller/Base - uint8_t* createStatusPacket(long latitudeH,long latitudeL,long longitudeH,long longitudeL,uint8_t fromID,uint8_t toID); - uint8_t* createAckPacket(uint8_t fromID,uint8_t toID); + //Create Packet: Robot -> Controller/Base + void createReceiveStatusCommand(uint8_t fromID,uint8_t toID,long latitudeH,long latitudeL,long longitudeH,long longitudeL); + //uint8_t* createAckPacket(uint8_t fromID,uint8_t toID); - //check Command: - uint8_t check(); + //using create packet + uint8_t* getPacketData(); + int getPacketLength(); + + + //------ + + //Change Mode: + bool changeMode(uint8_t *buf); // bool checkCommandAvilable(COMMAND_TYPE requestCommand); uint8_t checkCommnadType(uint8_t* buf); + MODE nowMode; STATUS nowStatus; - + private: + int packetLength; + + + + }; #endif \ No newline at end of file