server/client

Dependencies:   mbed NetServicesMin

Committer:
recotana
Date:
Thu Feb 23 02:38:05 2012 +0000
Revision:
1:6e61ee662fd3
added standalone test mode

Who changed what in which revision?

UserRevisionLine numberNew contents of line
recotana 1:6e61ee662fd3 1 #ifndef _DATA_MODELS_
recotana 1:6e61ee662fd3 2 #define _DATA_MODELS_
recotana 1:6e61ee662fd3 3
recotana 1:6e61ee662fd3 4 #include "types.h"
recotana 1:6e61ee662fd3 5
recotana 1:6e61ee662fd3 6 typedef enum{
recotana 1:6e61ee662fd3 7 SERVER,
recotana 1:6e61ee662fd3 8 LED_SENDER,
recotana 1:6e61ee662fd3 9 LED_RECIEVER
recotana 1:6e61ee662fd3 10 } Device;
recotana 1:6e61ee662fd3 11
recotana 1:6e61ee662fd3 12 typedef enum{
recotana 1:6e61ee662fd3 13 SEND,
recotana 1:6e61ee662fd3 14 RECIEVE,
recotana 1:6e61ee662fd3 15 PING,
recotana 1:6e61ee662fd3 16 ACK
recotana 1:6e61ee662fd3 17 } Command;
recotana 1:6e61ee662fd3 18
recotana 1:6e61ee662fd3 19 //
recotana 1:6e61ee662fd3 20 //for TCP/IP data structure
recotana 1:6e61ee662fd3 21 //
recotana 1:6e61ee662fd3 22
recotana 1:6e61ee662fd3 23 //48byte message data
recotana 1:6e61ee662fd3 24 typedef struct{
recotana 1:6e61ee662fd3 25 uint16_t totalSize; //uint16_t + uint16_t + uint8_t + uint8_t + 42byte
recotana 1:6e61ee662fd3 26 uint16_t frameNumber;
recotana 1:6e61ee662fd3 27 Device device;
recotana 1:6e61ee662fd3 28 Command command;
recotana 1:6e61ee662fd3 29 uint8_t data[42];
recotana 1:6e61ee662fd3 30 } Message;
recotana 1:6e61ee662fd3 31
recotana 1:6e61ee662fd3 32 //16byte payload id
recotana 1:6e61ee662fd3 33 typedef struct{
recotana 1:6e61ee662fd3 34 uint16_t head; //reserve 0x0000
recotana 1:6e61ee662fd3 35 uint8_t personalId[14];
recotana 1:6e61ee662fd3 36 } PayloadID;
recotana 1:6e61ee662fd3 37
recotana 1:6e61ee662fd3 38 //66byte payload
recotana 1:6e61ee662fd3 39 typedef struct{
recotana 1:6e61ee662fd3 40 uint16_t size; // 2(size) + 64(payload id + message) = 66 byte
recotana 1:6e61ee662fd3 41 PayloadID id; // 16 byte
recotana 1:6e61ee662fd3 42 Message message; // 48 byte
recotana 1:6e61ee662fd3 43 } Payload;
recotana 1:6e61ee662fd3 44
recotana 1:6e61ee662fd3 45
recotana 1:6e61ee662fd3 46 void initPayload(Payload *_payload);
recotana 1:6e61ee662fd3 47
recotana 1:6e61ee662fd3 48 void payloadToNetwork(Payload *_payload);
recotana 1:6e61ee662fd3 49 void networkToPayload(Payload *_payload);
recotana 1:6e61ee662fd3 50
recotana 1:6e61ee662fd3 51 void dumpPayload(Payload *_payload);
recotana 1:6e61ee662fd3 52
recotana 1:6e61ee662fd3 53 #endif