Codec for an NRF24L01 based protocol

Committer:
ihunter
Date:
Tue Aug 30 18:20:47 2011 +0000
Revision:
2:4dd0a9382f0d
Parent:
1:c189b357fc3c
Child:
3:80ed23c0ae01

        

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 2:4dd0a9382f0d 32
ihunter 2:4dd0a9382f0d 33 void decodePacket(uint8* packet, int packetSize, PacketData* headerDataToFill);
ihunter 2:4dd0a9382f0d 34
ihunter 0:b61d45ff9b8e 35 }
ihunter 0:b61d45ff9b8e 36
ihunter 1:c189b357fc3c 37 #endif /* SWTP_CODEC */