Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of AigamozuControlPackets by
AigamozuControlPackets.h@6:f164a716be46, 2014-06-09 (annotated)
- Committer:
- m5171135
- Date:
- Mon Jun 09 00:16:38 2014 +0000
- Revision:
- 6:f164a716be46
- Parent:
- 5:3f51eeb5aedc
- Child:
- 7:200ce5c1f486
ver1.3;
Who changed what in which revision?
User | Revision | Line number | New 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 | 6:f164a716be46 | 14 | enum STATUS {GPS_AVAIL = 0, GPS_UNAVAIL = 1,GPS_OUT_AREA = 2}; |
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 | class AigamozuControlPackets{ |
m5171135 | 0:2b8b56ac7a82 | 22 | |
m5171135 | 6:f164a716be46 | 23 | //--------PUBLIC-----------// |
m5171135 | 0:2b8b56ac7a82 | 24 | public: |
m5171135 | 5:3f51eeb5aedc | 25 | AigamozuControlPackets(VNH5019 agzSheild); |
m5171135 | 5:3f51eeb5aedc | 26 | |
m5171135 | 6:f164a716be46 | 27 | Ticker eachModeInt; |
m5171135 | 0:2b8b56ac7a82 | 28 | |
m5171135 | 2:3f2d4f53ceed | 29 | uint8_t* packetData; |
m5171135 | 2:3f2d4f53ceed | 30 | //Create Packet: Controller/Base -> Robot |
m5171135 | 2:3f2d4f53ceed | 31 | void createManualCommad(uint8_t fromID,uint8_t toID,uint8_t directionL,uint8_t pwmL,uint8_t directionR, uint8_t pwmR); |
m5171135 | 2:3f2d4f53ceed | 32 | void createRequestCommand(uint8_t fromID,uint8_t toID,uint8_t); |
m5171135 | 2:3f2d4f53ceed | 33 | void createChangeModeCommand(uint8_t fromID,uint8_t toID,uint8_t,MODE mode); |
m5171135 | 0:2b8b56ac7a82 | 34 | |
m5171135 | 2:3f2d4f53ceed | 35 | //Create Packet: Robot -> Controller/Base |
m5171135 | 2:3f2d4f53ceed | 36 | void createReceiveStatusCommand(uint8_t fromID,uint8_t toID,long latitudeH,long latitudeL,long longitudeH,long longitudeL); |
m5171135 | 2:3f2d4f53ceed | 37 | //uint8_t* createAckPacket(uint8_t fromID,uint8_t toID); |
m5171135 | 0:2b8b56ac7a82 | 38 | |
m5171135 | 2:3f2d4f53ceed | 39 | //using create packet |
m5171135 | 2:3f2d4f53ceed | 40 | uint8_t* getPacketData(); |
m5171135 | 2:3f2d4f53ceed | 41 | int getPacketLength(); |
m5171135 | 2:3f2d4f53ceed | 42 | |
m5171135 | 2:3f2d4f53ceed | 43 | //Change Mode: |
m5171135 | 2:3f2d4f53ceed | 44 | bool changeMode(uint8_t *buf); |
m5171135 | 5:3f51eeb5aedc | 45 | |
m5171135 | 5:3f51eeb5aedc | 46 | //Check Command Type using xbee buffer; |
m5171135 | 0:2b8b56ac7a82 | 47 | uint8_t checkCommnadType(uint8_t* buf); |
m5171135 | 0:2b8b56ac7a82 | 48 | |
m5171135 | 5:3f51eeb5aedc | 49 | //Change Motor Speed |
m5171135 | 5:3f51eeb5aedc | 50 | void changeSpeed(uint8_t* buf); |
m5171135 | 5:3f51eeb5aedc | 51 | |
m5171135 | 0:2b8b56ac7a82 | 52 | MODE nowMode; |
m5171135 | 0:2b8b56ac7a82 | 53 | STATUS nowStatus; |
m5171135 | 4:04dadf67ecb6 | 54 | int packetLength; |
m5171135 | 4:04dadf67ecb6 | 55 | |
m5171135 | 4:04dadf67ecb6 | 56 | |
m5171135 | 6:f164a716be46 | 57 | //--------PRIVATE-----------// |
m5171135 | 0:2b8b56ac7a82 | 58 | private: |
m5171135 | 5:3f51eeb5aedc | 59 | // |
m5171135 | 5:3f51eeb5aedc | 60 | VNH5019 _agzSheild; |
m5171135 | 5:3f51eeb5aedc | 61 | |
m5171135 | 5:3f51eeb5aedc | 62 | void manualMode(); |
m5171135 | 5:3f51eeb5aedc | 63 | int manualCount; |
m5171135 | 5:3f51eeb5aedc | 64 | |
m5171135 | 5:3f51eeb5aedc | 65 | //Auto Type 1 -> Random |
m5171135 | 5:3f51eeb5aedc | 66 | void randomAuto(); |
m5171135 | 5:3f51eeb5aedc | 67 | int randomCount; |
m5171135 | 5:3f51eeb5aedc | 68 | |
m5171135 | 5:3f51eeb5aedc | 69 | //Auto Type 2 -> GPS |
m5171135 | 5:3f51eeb5aedc | 70 | void gpsAuto(); |
m5171135 | 0:2b8b56ac7a82 | 71 | }; |
m5171135 | 0:2b8b56ac7a82 | 72 | |
m5171135 | 0:2b8b56ac7a82 | 73 | #endif |