28 #ifndef _TINY_PACKET_H_ 29 #define _TINY_PACKET_H_ 32 # include <HardwareSerial.h> 53 Packet(
char *buf,
size_t size) { m_len = 0; m_size =
size; m_buf = (uint8_t*)buf; m_uid =0; m_p=0; }
58 inline void clear () { m_len = 0; m_p = 0; }
65 inline void put (uint8_t byte) { m_buf[m_len++] = byte; }
72 inline void put (
char chr) {
put((uint8_t)chr); }
78 inline void put (uint16_t
data) { m_buf[m_len++] = data & 0x00FF;
79 m_buf[m_len++] = data >> 8; }
85 inline void put (uint32_t
data) {
put((uint16_t)(data & 0x0000FFFF));
86 put((uint16_t)(data >> 16)); }
98 inline void put (
const char *str){ strncpy((
char *)&m_buf[m_len], str, m_size - m_len);
100 m_buf[m_len++] = 0; }
106 inline void put (
const Packet &pkt){ memcpy(&m_buf[m_len], pkt.m_buf, pkt.m_len); m_len += pkt.m_len; }
115 inline void putUid (uint16_t uid) { m_uid = uid; }
121 inline uint8_t
getByte () {
return m_buf[m_p++]; }
133 inline uint16_t
getUint16() { uint16_t t = m_buf[m_p++];
return t | ((uint16_t)m_buf[m_p++] << 8); }
151 inline char*
getString () {
char *p = (
char *)&m_buf[m_p]; m_p += strlen((
char*)m_buf) + 1;
return p; }
160 inline uint16_t
getUid ()
const {
return m_uid; }
166 inline size_t size ()
const {
return m_len; }
172 inline size_t maxSize ()
const {
return m_size; }
178 inline char *
data () {
return (
char*)m_buf; }
size_t size() const
Definition: TinyPacket.h:166
void put(uint8_t byte)
Definition: TinyPacket.h:65
uint16_t getUint16()
Definition: TinyPacket.h:133
Definition: TinyLightProtocol.h:39
Definition: TinyProtocolHd.h:49
Packet(char *buf, size_t size)
Definition: TinyPacket.h:53
uint8_t getByte()
Definition: TinyPacket.h:121
void putUid(uint16_t uid)
Definition: TinyPacket.h:115
void put(const Packet &pkt)
Definition: TinyPacket.h:106
void put(uint16_t data)
Definition: TinyPacket.h:78
size_t maxSize() const
Definition: TinyPacket.h:172
Definition: TinyPacket.h:44
Packet & operator=(char chr)
Definition: TinyPacket.h:189
void put(char chr)
Definition: TinyPacket.h:72
void put(const char *str)
Definition: TinyPacket.h:98
void put(uint32_t data)
Definition: TinyPacket.h:85
char * getString()
Definition: TinyPacket.h:151
Definition: TinyLightProtocol.h:46
int16_t getInt16()
Definition: TinyPacket.h:139
Definition: TinyProtocol.h:47
void clear()
Definition: TinyPacket.h:58
uint16_t getUid() const
Definition: TinyPacket.h:160
char * data()
Definition: TinyPacket.h:178
void put(int16_t data)
Definition: TinyPacket.h:92
uint32_t getUint32()
Definition: TinyPacket.h:145
char getChar()
Definition: TinyPacket.h:127
uint8_t & operator[](size_t idx)
Definition: TinyPacket.h:183