28 #ifndef _TINY_PACKET_H_ 29 #define _TINY_PACKET_H_ 32 # include <HardwareSerial.h> 55 IPacket(
char *buf,
size_t size) { m_len = 0; m_size =
static_cast<int>(
size); m_buf = (uint8_t*)buf; m_p=0; }
65 void clear () { m_len = 0; m_p = 0; }
72 void put (uint8_t byte) { m_buf[m_len++] = byte; }
79 void put (
char chr) {
put((uint8_t)chr); }
85 inline void put (uint16_t
data) { m_buf[m_len++] = data & 0x00FF;
86 m_buf[m_len++] = data >> 8; }
92 inline void put (uint32_t
data) {
put((uint16_t)(data & 0x0000FFFF));
93 put((uint16_t)(data >> 16)); }
105 inline void put (
const char *str){ strncpy((
char *)&m_buf[m_len], str, m_size - m_len);
106 m_len +=
static_cast<int>(strlen(str));
107 m_buf[m_len++] = 0; }
113 inline void put (
const IPacket &pkt){ memcpy(&m_buf[m_len], pkt.m_buf, pkt.m_len); m_len += pkt.m_len; }
119 inline uint8_t
getByte () {
return m_buf[m_p++]; }
131 inline uint16_t
getUint16() { uint16_t t = m_buf[m_p++];
return t | ((uint16_t)m_buf[m_p++] << 8); }
149 inline char*
getString () {
char *p = (
char *)&m_buf[m_p]; m_p +=
static_cast<int>(strlen(p)) + 1;
return p; }
155 inline size_t size ()
const {
return m_len; }
161 inline size_t maxSize ()
const {
return m_size; }
167 inline char *
data () {
return (
char*)m_buf; }
size_t size() const
Definition: TinyPacket.h:155
Packet()
Definition: TinyPacket.h:197
Definition: TinyLightProtocol.h:39
char * getString()
Definition: TinyPacket.h:149
Definition: TinyProtocolHdlc.h:53
Definition: TinyProtocolHd.h:54
void clear()
Definition: TinyPacket.h:65
void put(uint8_t byte)
Definition: TinyPacket.h:72
void put(int16_t data)
Definition: TinyPacket.h:99
virtual ~IPacket()=default
int16_t getInt16()
Definition: TinyPacket.h:137
char * data()
Definition: TinyPacket.h:167
uint8_t getByte()
Definition: TinyPacket.h:119
IPacket(char *buf, size_t size)
Definition: TinyPacket.h:55
Definition: TinyPacket.h:191
char getChar()
Definition: TinyPacket.h:125
Definition: TinyPacket.h:46
Definition: TinyLightProtocol.h:51
uint8_t & operator[](size_t idx)
Definition: TinyPacket.h:172
Definition: TinyPacket.h:207
Definition: TinyProtocolFd.h:53
PacketD(int size)
Definition: TinyPacket.h:214
void put(uint32_t data)
Definition: TinyPacket.h:92
void put(char chr)
Definition: TinyPacket.h:79
uint16_t getUint16()
Definition: TinyPacket.h:131
void put(uint16_t data)
Definition: TinyPacket.h:85
void put(const IPacket &pkt)
Definition: TinyPacket.h:113
size_t maxSize() const
Definition: TinyPacket.h:161
uint32_t getUint32()
Definition: TinyPacket.h:143
void put(const char *str)
Definition: TinyPacket.h:105