Library used to configure a AD9854 Libreria usada para comunicarse con el AD9854

Dependents:   JRO_DDSv2 JRO_DDSv2_rev2019

Committer:
miguelcordero191
Date:
Thu Feb 05 19:01:42 2015 +0000
Revision:
2:3d8d52e9751c
Parent:
ipserver.h@1:7c424a3e12ea
Child:
4:de495ce256b8
serial and ethernet working with threads.; serial baudrate = 1000000; dhcp is working well but static ip is not.

Who changed what in which revision?

UserRevisionLine numberNew 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 2:3d8d52e9751c 10 5B 4B 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 2:3d8d52e9751c 57 char __getXor(char* data, unsigned long len_data);
miguelcordero191 2:3d8d52e9751c 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 2:3d8d52e9751c 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