4 #ifndef _3ESPACKETREADER_H_     5 #define _3ESPACKETREADER_H_     9 #include "3espacketstream.h"    36     uint16_t bytesAvailable() 
const;
    48     size_t readElement(uint8_t *bytes, 
size_t elementSize);
    66     size_t readArray(uint8_t *bytes, 
size_t elementSize, 
size_t elementCount);
    78     size_t readRaw(uint8_t *bytes, 
size_t byteCount);
    85     size_t readElement(T &element);
    88     size_t readArray(T *elements, 
size_t elementCount);
    96     return _packet.payloadSize - _payloadPosition;
   102     return readElement(reinterpret_cast<uint8_t *>(&element), 
sizeof(T));
   105   template <
typename T>
   108     return readArray(reinterpret_cast<uint8_t *>(elements), 
sizeof(T), elementCount);
   111   template <
typename T>
   114     int read = readElement(val);
   115     _status |= !(read == 
sizeof(T)) * Fail;
   120 #endif // _3ESPACKETREADER_H_ Definition: 3esbounds.h:13
 
A utility class used for managing read/write operations to a PacketHeader payload. 
Definition: 3espacketstream.h:19
 
size_t readArray(uint8_t *bytes, size_t elementSize, size_t elementCount)
Reads an array of data items from the current position. 
 
uint16_t bytesAvailable() const
Returns the number of bytes available for writing in the payload. 
Definition: 3espacketreader.h:94
 
size_t readElement(uint8_t *bytes, size_t elementSize)
Reads a single data element from the current position. 
 
uint16_t CrcType
Defies the packet CRC type. 
Definition: 3espacketstream.h:23
 
A utility class for dealing with reading packets. 
Definition: 3espacketreader.h:18