Publish for the JRO Radar Controller.
Fork of jro by
ipserver.h@1:7c424a3e12ea, 2014-12-04 (annotated)
- Committer:
- miguelcordero191
- Date:
- Thu Dec 04 14:35:52 2014 +0000
- Revision:
- 1:7c424a3e12ea
- Parent:
- 0:b444ea725ba7
First release: write and read process working very well
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
miguelcordero191 | 0:b444ea725ba7 | 1 | #include "mbed.h" |
miguelcordero191 | 1:7c424a3e12ea | 2 | |
miguelcordero191 | 1:7c424a3e12ea | 3 | #define HEADER "$JRO$" |
miguelcordero191 | 1:7c424a3e12ea | 4 | #define ID_CLASS 2 |
miguelcordero191 | 1:7c424a3e12ea | 5 | #define ID_DEV 1 |
miguelcordero191 | 1:7c424a3e12ea | 6 | |
miguelcordero191 | 1:7c424a3e12ea | 7 | /* |
miguelcordero191 | 1:7c424a3e12ea | 8 | IP DATA STRUCTURE |
miguelcordero191 | 1:7c424a3e12ea | 9 | |
miguelcordero191 | 1:7c424a3e12ea | 10 | 5B 3B 1B 1B 2B NB 1B |
miguelcordero191 | 1:7c424a3e12ea | 11 | CAB LEN ID_CLASS ID_DEV CMD PAYLOAD XOR |
miguelcordero191 | 1:7c424a3e12ea | 12 | |
miguelcordero191 | 1:7c424a3e12ea | 13 | ID_CLASS: Identifica la clase de dispositivo a programar |
miguelcordero191 | 1:7c424a3e12ea | 14 | |
miguelcordero191 | 1:7c424a3e12ea | 15 | 1 -> CR |
miguelcordero191 | 1:7c424a3e12ea | 16 | 2 -> DDS |
miguelcordero191 | 1:7c424a3e12ea | 17 | 3 -> JARS |
miguelcordero191 | 1:7c424a3e12ea | 18 | 4 -> USRP |
miguelcordero191 | 1:7c424a3e12ea | 19 | 5 -> ECHOTEK |
miguelcordero191 | 1:7c424a3e12ea | 20 | 6 -> ABS |
miguelcordero191 | 1:7c424a3e12ea | 21 | 7 -> CLK_GEN |
miguelcordero191 | 1:7c424a3e12ea | 22 | |
miguelcordero191 | 1:7c424a3e12ea | 23 | ID_DEV: Identifica el id del dispositivo a programar |
miguelcordero191 | 1:7c424a3e12ea | 24 | |
miguelcordero191 | 1:7c424a3e12ea | 25 | Desde el 1-255, el 0 es usado como broadcast. |
miguelcordero191 | 1:7c424a3e12ea | 26 | |
miguelcordero191 | 1:7c424a3e12ea | 27 | CMD: Identifica el comando enviado que define la operacion a realizar |
miguelcordero191 | 1:7c424a3e12ea | 28 | |
miguelcordero191 | 1:7c424a3e12ea | 29 | 1 -> RESET |
miguelcordero191 | 1:7c424a3e12ea | 30 | 2 -> DEV. ENABLE |
miguelcordero191 | 1:7c424a3e12ea | 31 | 3 -> CONFIG |
miguelcordero191 | 1:7c424a3e12ea | 32 | 4 -> |
miguelcordero191 | 1:7c424a3e12ea | 33 | 5 -> |
miguelcordero191 | 1:7c424a3e12ea | 34 | |
miguelcordero191 | 1:7c424a3e12ea | 35 | */ |
miguelcordero191 | 0:b444ea725ba7 | 36 | |
miguelcordero191 | 0:b444ea725ba7 | 37 | class IpData{ |
miguelcordero191 | 0:b444ea725ba7 | 38 | |
miguelcordero191 | 0:b444ea725ba7 | 39 | private: |
miguelcordero191 | 0:b444ea725ba7 | 40 | |
miguelcordero191 | 1:7c424a3e12ea | 41 | char* rx_buff; |
miguelcordero191 | 1:7c424a3e12ea | 42 | |
miguelcordero191 | 0:b444ea725ba7 | 43 | char id_class; |
miguelcordero191 | 0:b444ea725ba7 | 44 | char id_dev; |
miguelcordero191 | 0:b444ea725ba7 | 45 | unsigned short cmd; |
miguelcordero191 | 0:b444ea725ba7 | 46 | char* payload; |
miguelcordero191 | 1:7c424a3e12ea | 47 | unsigned long len_payload; |
miguelcordero191 | 1:7c424a3e12ea | 48 | char xor_rd; |
miguelcordero191 | 0:b444ea725ba7 | 49 | |
miguelcordero191 | 1:7c424a3e12ea | 50 | char *tx_buff; |
miguelcordero191 | 1:7c424a3e12ea | 51 | unsigned long len_tx_data; |
miguelcordero191 | 1:7c424a3e12ea | 52 | unsigned long len_tx_buffer; |
miguelcordero191 | 1:7c424a3e12ea | 53 | |
miguelcordero191 | 1:7c424a3e12ea | 54 | bool isValidData; |
miguelcordero191 | 0:b444ea725ba7 | 55 | |
miguelcordero191 | 0:b444ea725ba7 | 56 | char* __findHeader(char* buffer); |
miguelcordero191 | 1:7c424a3e12ea | 57 | char __getXor( char* data, unsigned long len_data); |
miguelcordero191 | 1:7c424a3e12ea | 58 | int __verifyData( char* ip_data, unsigned long len_data); |
miguelcordero191 | 0:b444ea725ba7 | 59 | int __getParameters(); |
miguelcordero191 | 0:b444ea725ba7 | 60 | |
miguelcordero191 | 0:b444ea725ba7 | 61 | public: |
miguelcordero191 | 0:b444ea725ba7 | 62 | |
miguelcordero191 | 1:7c424a3e12ea | 63 | IpData(char* tx_buffer); |
miguelcordero191 | 1:7c424a3e12ea | 64 | char id; |
miguelcordero191 | 1:7c424a3e12ea | 65 | char* encode( unsigned short cmd, char* payload, unsigned long len_payload); |
miguelcordero191 | 1:7c424a3e12ea | 66 | int decode( char* buffer, unsigned long len_buffer); |
miguelcordero191 | 0:b444ea725ba7 | 67 | char getIdClass(); |
miguelcordero191 | 0:b444ea725ba7 | 68 | char getIdDevice(); |
miguelcordero191 | 1:7c424a3e12ea | 69 | unsigned short getCmd(); |
miguelcordero191 | 0:b444ea725ba7 | 70 | unsigned long getPayloadLen(); |
miguelcordero191 | 0:b444ea725ba7 | 71 | char* getPayload(); |
miguelcordero191 | 1:7c424a3e12ea | 72 | char* getTxData(); |
miguelcordero191 | 1:7c424a3e12ea | 73 | unsigned long getTxDataLen(); |
miguelcordero191 | 0:b444ea725ba7 | 74 | |
miguelcordero191 | 0:b444ea725ba7 | 75 | |
miguelcordero191 | 0:b444ea725ba7 | 76 | }; |
miguelcordero191 | 0:b444ea725ba7 | 77 |