kobe leysen / Mbed 2 deprecated TEST

Dependencies:   DAQ mbed-rtos mbed

Committer:
leysenkobe
Date:
Wed Apr 30 11:41:10 2014 +0000
Revision:
2:7f7eb0cc78a4
Parent:
0:6ee88b4152dc
kbk;

Who changed what in which revision?

UserRevisionLine numberNew 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