Codec for an NRF24L01 based protocol

Committer:
ihunter
Date:
Tue Aug 30 17:45:12 2011 +0000
Revision:
1:c189b357fc3c
Parent:
0:b61d45ff9b8e
Child:
2:4dd0a9382f0d
Completed Codec for Message Header Packet

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ihunter 0:b61d45ff9b8e 1 #ifndef SWTP_CODEC
ihunter 0:b61d45ff9b8e 2 #define SWTP_CODEC
ihunter 0:b61d45ff9b8e 3
ihunter 1:c189b357fc3c 4 #define SWTP_VERSION (0)
ihunter 1:c189b357fc3c 5
ihunter 1:c189b357fc3c 6 // I cant bear these '_t'
ihunter 1:c189b357fc3c 7 typedef uint8_t uint8;
ihunter 1:c189b357fc3c 8 typedef uint16_t uint16;
ihunter 1:c189b357fc3c 9 typedef uint32_t uint32;
ihunter 1:c189b357fc3c 10 typedef int8_t sint8;
ihunter 1:c189b357fc3c 11 typedef int16_t sint16;
ihunter 1:c189b357fc3c 12 typedef int32_t sint32;
ihunter 1:c189b357fc3c 13
ihunter 1:c189b357fc3c 14 typedef struct {
ihunter 1:c189b357fc3c 15 uint16 mimeType;
ihunter 1:c189b357fc3c 16 uint32 payloadLengthBytes;
ihunter 1:c189b357fc3c 17 uint16 startPayloadSequenceNumber;
ihunter 1:c189b357fc3c 18 } MessageHeader;
ihunter 1:c189b357fc3c 19
ihunter 1:c189b357fc3c 20 typedef struct {
ihunter 1:c189b357fc3c 21 bool isMessageHeader;
ihunter 1:c189b357fc3c 22 bool isControlPacket;
ihunter 1:c189b357fc3c 23 uint8 flags;
ihunter 1:c189b357fc3c 24 uint8 version;
ihunter 1:c189b357fc3c 25 union {
ihunter 1:c189b357fc3c 26 MessageHeader messageHeader;
ihunter 1:c189b357fc3c 27 };
ihunter 1:c189b357fc3c 28 } PacketData;
ihunter 1:c189b357fc3c 29
ihunter 0:b61d45ff9b8e 30 extern "C" {
ihunter 1:c189b357fc3c 31 void encodeHeaderPacket(uint8* packetToFill, int packetSize, PacketData* headerData);
ihunter 1:c189b357fc3c 32 void decodeHeaderPacket(uint8* packet, int packetSize, PacketData* headerDataToFill);
ihunter 0:b61d45ff9b8e 33 }
ihunter 0:b61d45ff9b8e 34
ihunter 1:c189b357fc3c 35 #endif /* SWTP_CODEC */