![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
テストモード追加、LED有効化 left -> SerialRX, Data Recieve Complete , Serial Tx , Light Tx
Dependencies: XBee mbed NetServicesMin
common/data_models.h@0:42adca80439c, 2012-03-22 (annotated)
- Committer:
- recotana
- Date:
- Thu Mar 22 12:40:48 2012 +0000
- Revision:
- 0:42adca80439c
- Child:
- 1:36eb173eb52b
Who changed what in which revision?
User | Revision | Line number | New 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 |