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.
Dependencies: DAQ mbed-rtos mbed
Packet.h@0:6ee88b4152dc, 2014-04-23 (annotated)
- Committer:
- leysenkobe
- Date:
- Wed Apr 23 11:10:26 2014 +0000
- Revision:
- 0:6ee88b4152dc
test
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| leysenkobe | 0:6ee88b4152dc | 1 | #ifndef PACKET |
| leysenkobe | 0:6ee88b4152dc | 2 | #define PACKET |
| leysenkobe | 0:6ee88b4152dc | 3 | |
| leysenkobe | 0:6ee88b4152dc | 4 | #include "mbed.h" |
| leysenkobe | 0:6ee88b4152dc | 5 | #include "Measurement.h" |
| leysenkobe | 0:6ee88b4152dc | 6 | |
| leysenkobe | 0:6ee88b4152dc | 7 | |
| leysenkobe | 0:6ee88b4152dc | 8 | |
| leysenkobe | 0:6ee88b4152dc | 9 | //------PACKET PROTOCOL COMMMANDS------\\ |
| leysenkobe | 0:6ee88b4152dc | 10 | // COMMAND BYTE |
| leysenkobe | 0:6ee88b4152dc | 11 | #define PACKET_ACK 0x00 |
| leysenkobe | 0:6ee88b4152dc | 12 | #define PACKET_NACK 0x01 |
| leysenkobe | 0:6ee88b4152dc | 13 | #define PACKET_ERROR 0x02 |
| leysenkobe | 0:6ee88b4152dc | 14 | #define PACKET_ALIVE 0x10 |
| leysenkobe | 0:6ee88b4152dc | 15 | #define PACKET_INIT 0x11 |
| leysenkobe | 0:6ee88b4152dc | 16 | #define PACKET_ENABLE_DATA 0x20 |
| leysenkobe | 0:6ee88b4152dc | 17 | #define PACKET_DATA 0x21 |
| leysenkobe | 0:6ee88b4152dc | 18 | #define PACKET_CHANGE_IP 0x30 |
| leysenkobe | 0:6ee88b4152dc | 19 | #define PACKET_REMOVE_IP 0x31 |
| leysenkobe | 0:6ee88b4152dc | 20 | #define PACKET_GET_IP 0x32 |
| leysenkobe | 0:6ee88b4152dc | 21 | #define PACKET_GET_IP_REPLY 0x33 |
| leysenkobe | 0:6ee88b4152dc | 22 | #define PACKET_VERSION 0x34 |
| leysenkobe | 0:6ee88b4152dc | 23 | #define PACKET_VERSION_REPLY 0x35 |
| leysenkobe | 0:6ee88b4152dc | 24 | #define PACKET_SET_PACKAGE_SIZE 0x36 |
| leysenkobe | 0:6ee88b4152dc | 25 | #define PACKET_GET_SETTINGS 0x37 |
| leysenkobe | 0:6ee88b4152dc | 26 | #define PACKET_GET_SETTINGS_REPLY 0x38 |
| leysenkobe | 0:6ee88b4152dc | 27 | #define PACKET_SET_ID 0x39 |
| leysenkobe | 0:6ee88b4152dc | 28 | #define PACKET_TEST_MODE 0x40 |
| leysenkobe | 0:6ee88b4152dc | 29 | #define PACKET_LED_TEST_MODE 0x41 |
| leysenkobe | 0:6ee88b4152dc | 30 | |
| leysenkobe | 0:6ee88b4152dc | 31 | |
| leysenkobe | 0:6ee88b4152dc | 32 | |
| leysenkobe | 0:6ee88b4152dc | 33 | |
| leysenkobe | 0:6ee88b4152dc | 34 | |
| leysenkobe | 0:6ee88b4152dc | 35 | |
| leysenkobe | 0:6ee88b4152dc | 36 | class Packet |
| leysenkobe | 0:6ee88b4152dc | 37 | { |
| leysenkobe | 0:6ee88b4152dc | 38 | private: |
| leysenkobe | 0:6ee88b4152dc | 39 | uint8_t CMD; |
| leysenkobe | 0:6ee88b4152dc | 40 | int CMD_SIZE; |
| leysenkobe | 0:6ee88b4152dc | 41 | int TOT_SIZE; |
| leysenkobe | 0:6ee88b4152dc | 42 | int nBytesFilled;//in case it is a measurement packet this counter represents the number of packets that are currently in the packet |
| leysenkobe | 0:6ee88b4152dc | 43 | |
| leysenkobe | 0:6ee88b4152dc | 44 | uint8_t *ID; |
| leysenkobe | 0:6ee88b4152dc | 45 | uint8_t *CMD_DATA; |
| leysenkobe | 0:6ee88b4152dc | 46 | uint8_t *RESERVED; |
| leysenkobe | 0:6ee88b4152dc | 47 | |
| leysenkobe | 0:6ee88b4152dc | 48 | |
| leysenkobe | 0:6ee88b4152dc | 49 | public: |
| leysenkobe | 0:6ee88b4152dc | 50 | //Constructor & Destructor |
| leysenkobe | 0:6ee88b4152dc | 51 | Packet(uint8_t ID[2]); //CREATES A ERROR packet |
| leysenkobe | 0:6ee88b4152dc | 52 | Packet(uint8_t ID[2],uint8_t* packet,int length); |
| leysenkobe | 0:6ee88b4152dc | 53 | Packet(uint8_t ID[2],uint8_t CMD,uint8_t RESERVED[2]); |
| leysenkobe | 0:6ee88b4152dc | 54 | Packet(uint8_t ID[2],uint8_t CMD,uint8_t* packetdata,int packetlength,uint8_t RESERVED[2]); |
| leysenkobe | 0:6ee88b4152dc | 55 | Packet(uint8_t ID[2],unsigned int firstSampleNumber,uint8_t nSamples,uint8_t sampleRate ,int activeChannels,int nActiveChannels,uint8_t RESERVED[2]); |
| leysenkobe | 0:6ee88b4152dc | 56 | ~Packet(void); |
| leysenkobe | 0:6ee88b4152dc | 57 | |
| leysenkobe | 0:6ee88b4152dc | 58 | //GETTERS |
| leysenkobe | 0:6ee88b4152dc | 59 | int getTOT_SIZE(void); |
| leysenkobe | 0:6ee88b4152dc | 60 | uint8_t* getID(void); |
| leysenkobe | 0:6ee88b4152dc | 61 | uint8_t getCMD(void); |
| leysenkobe | 0:6ee88b4152dc | 62 | int getCMD_SIZE(void); |
| leysenkobe | 0:6ee88b4152dc | 63 | uint8_t* getCMD_DATA(void); |
| leysenkobe | 0:6ee88b4152dc | 64 | uint8_t* getRESERVED(void); |
| leysenkobe | 0:6ee88b4152dc | 65 | int getBytesFilled(void); |
| leysenkobe | 0:6ee88b4152dc | 66 | |
| leysenkobe | 0:6ee88b4152dc | 67 | //SETTERS |
| leysenkobe | 0:6ee88b4152dc | 68 | void setID(uint8_t ID[2]); |
| leysenkobe | 0:6ee88b4152dc | 69 | void setCMD(uint8_t CMD); |
| leysenkobe | 0:6ee88b4152dc | 70 | void setDATA(uint8_t* packetdata,int length); |
| leysenkobe | 0:6ee88b4152dc | 71 | void setRESERVED(uint8_t RESERVED[2]); |
| leysenkobe | 0:6ee88b4152dc | 72 | bool addMeasurement(Measurement *m); |
| leysenkobe | 0:6ee88b4152dc | 73 | }; |
| leysenkobe | 0:6ee88b4152dc | 74 | |
| leysenkobe | 0:6ee88b4152dc | 75 | #endif |