テストモード追加、LED有効化 left -> SerialRX, Data Recieve Complete , Serial Tx , Light Tx

Dependencies:   XBee mbed NetServicesMin

Committer:
recotana
Date:
Thu Mar 22 12:40:48 2012 +0000
Revision:
0:42adca80439c
Child:
1:36eb173eb52b

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
recotana 0:42adca80439c 1 #ifndef _DATA_MODELS_
recotana 0:42adca80439c 2 #define _DATA_MODELS_
recotana 0:42adca80439c 3
recotana 0:42adca80439c 4 #include "types.h"
recotana 0:42adca80439c 5
recotana 0:42adca80439c 6 //frame type
recotana 0:42adca80439c 7 typedef enum{
recotana 0:42adca80439c 8 Ftype_NoID =0,
recotana 0:42adca80439c 9 Ftype_Type_A=1,
recotana 0:42adca80439c 10 Ftype_Type_B=4
recotana 0:42adca80439c 11 } Ftype;
recotana 0:42adca80439c 12
recotana 0:42adca80439c 13 typedef enum{
recotana 0:42adca80439c 14 SERVER,
recotana 0:42adca80439c 15 LED_SENDER,
recotana 0:42adca80439c 16 LED_RECIEVER
recotana 0:42adca80439c 17 } Device;
recotana 0:42adca80439c 18
recotana 0:42adca80439c 19 typedef enum{
recotana 0:42adca80439c 20 PING,
recotana 0:42adca80439c 21 ACK,
recotana 0:42adca80439c 22 RECIEVE,
recotana 0:42adca80439c 23 SEND_SINGLE,
recotana 0:42adca80439c 24 SEND_CONTINUEOUS,
recotana 0:42adca80439c 25 SEND_CONT_STOP,
recotana 0:42adca80439c 26 SET_TX_GAIN
recotana 0:42adca80439c 27 } Command;
recotana 0:42adca80439c 28
recotana 0:42adca80439c 29 //
recotana 0:42adca80439c 30 //for TCP/IP data structure
recotana 0:42adca80439c 31 //
recotana 0:42adca80439c 32
recotana 0:42adca80439c 33 //message data 48byte(size fix)
recotana 0:42adca80439c 34 typedef struct{
recotana 0:42adca80439c 35 uint16_t totalSize; //2(total size) + 2(frame number) + 1(device) + 1(command) + 42(data:max 42) <--- max 48
recotana 0:42adca80439c 36 uint16_t frameNumber;
recotana 0:42adca80439c 37 Device device;
recotana 0:42adca80439c 38 Command command;
recotana 0:42adca80439c 39 uint8_t data[42]; //0 fill,size fix
recotana 0:42adca80439c 40 } Message;
recotana 0:42adca80439c 41
recotana 0:42adca80439c 42 //payload id 16byte
recotana 0:42adca80439c 43 typedef struct{
recotana 0:42adca80439c 44 uint16_t head; //reserve 0x0000
recotana 0:42adca80439c 45 uint8_t personalId[14];
recotana 0:42adca80439c 46 } ID;
recotana 0:42adca80439c 47
recotana 0:42adca80439c 48 typedef struct{
recotana 0:42adca80439c 49 ID id; // 16 byte
recotana 0:42adca80439c 50 Message message; // 48 byte
recotana 0:42adca80439c 51 } Frame;
recotana 0:42adca80439c 52
recotana 0:42adca80439c 53 //66byte Payload
recotana 0:42adca80439c 54 typedef struct{
recotana 0:42adca80439c 55 uint16_t size; // 2(size) + 1(dummy) + 1(Ftype) + 64(frame) = 68 byte
recotana 0:42adca80439c 56 uint8_t dummy; //adjust Alignment
recotana 0:42adca80439c 57 Ftype ftype;
recotana 0:42adca80439c 58 Frame frame; //64byte
recotana 0:42adca80439c 59 } Payload;
recotana 0:42adca80439c 60
recotana 0:42adca80439c 61
recotana 0:42adca80439c 62 void initPayload(Payload *_payload);
recotana 0:42adca80439c 63
recotana 0:42adca80439c 64 void payloadToNetwork(Payload *_payload);
recotana 0:42adca80439c 65 void networkToPayload(Payload *_payload);
recotana 0:42adca80439c 66
recotana 0:42adca80439c 67 void initTestPayloadData(Payload *_payload);
recotana 0:42adca80439c 68
recotana 0:42adca80439c 69 void dumpPayload(Payload *_payload);
recotana 0:42adca80439c 70
recotana 0:42adca80439c 71 #endif