Go to the documentation of this file.
   19 typedef enum: uint8_t {
 
  236     virtual bool SetPayload(
const uint8_t* payload, 
const uint16_t payloadLength);
 
  260     void GetPayload(uint8_t* payload, uint16_t& payloadLength) 
const;
 
  295     virtual void Clear();
 
  315     inline const uint8_t* 
p_ptr()
 const{
 
  331     size_t printTo(Print& p) 
const override;
 
  342         return sizeof(*this) + 
Length();
 
  351     size_t printRaw(
OSTREAM* stream, 
void(*CRC_calculation)(uint8_t*, 
size_t)) 
const override;
 
  405         uint8_t raw = val & 0x0F;
 
  406         if (raw < 10) 
return '0' + raw;
 
  407         else return 'A' + raw - 10;
 
  413 #endif // !MESH_PACKET_H 
  
bool GetPayload(MeshVariableArray< uint8_t > &payload) const
Copyies payload data.
Definition: meshPacket.h:268
 
#define IS_VALID_MESH_DEST_ADDRESS(address)
Checks if mesh "destination" address from packet or frame header is valid. Accepted values from 0 to ...
Definition: meshConfig.h:94
 
uint8_t GetPayloadByteAt(uint16_t index) const
Reads payload byte at specified index.
Definition: meshPacket.cpp:133
 
size_t sizeOf() const override
Gets size of the whole class in bytes including dynamically allocated part.
Definition: meshPacket.h:341
 
bool SetPayload(const MeshVariableArray< uint8_t > &va)
Copyies payload data from variable array to current packet payload.
Definition: meshPacket.h:243
 
static char toHEXChar(OSTREAM &stream, uint8_t val)
Definition: meshPacket.h:404
 
bool SetArray(const T *newData, const uint16_t newDataLength)
Sets new data to whole and resizes (expand/shrink) it.
Definition: meshVariableArray.h:154
 
uint16_t Length() const
Length of data.
Definition: meshVariableArray.h:113
 
Structure, that contains bit flags used for Frame Control in MeshPacket. Size of this structure is al...
Definition: meshPacketFlags.h:25
 
typedef SPT_NeighborScan
Definition: meshPacket.h:27
 
virtual void moveFrom(MeshPacket &another)
Copyies data from another packet to current packet and clears data in another packet.
Definition: meshPacket.cpp:206
 
typedef SPT_Reserved
Definition: meshPacket.h:24
 
SystemPacketType GetSystemPacketType() const
Gets type of system packet.
Definition: meshPacket.cpp:119
 
void ClearPayload()
Clears payload data.
Definition: meshPacket.cpp:181
 
#define IS_VALID_MESH_TO_ADDRESS(address)
Checks if mesh "to" address from packet or frame header is valid. Accepted values from 0 to MAX_MESH_...
Definition: meshConfig.h:106
 
const T * d_ptr() const
Pointer to data.
Definition: meshVariableArray.h:330
 
bool ContainsHopCount() const
Check if frame with current control frame has to contain hop count field.
Definition: meshPacketFlags.h:137
 
typedef SPT_ERROR
Definition: meshPacket.h:33
 
MeshPacketHeader PacketHeader
Mesh packet header.
Definition: meshPacket.h:192
 
virtual size_t getRawSize() const override
Calculates size of raw bytes.
Definition: meshPacket.cpp:471
 
virtual bool HasError() const
Checks if packet is not valid.
Definition: meshPacket.h:362
 
virtual bool SetPayload(const uint8_t *payload, const uint16_t payloadLength)
Sets payload data.
Definition: meshPacket.cpp:85
 
uint8_t * Payload
Packet payload.
Definition: meshPacket.h:392
 
size_t printLine(OSTREAM *stream) const override
Prints this data as row to table.
Definition: meshPacket.cpp:313
 
bool ContainsFromAddress() const
Check if frame with current control frame has to contain From address field.
Definition: meshPacketFlags.h:144
 
Definition: meshFrame.h:126
 
uint8_t operator[](uint16_t i) const
Definition: meshPacket.h:201
 
size_t printRaw(OSTREAM *stream, void(*CRC_calculation)(uint8_t *, size_t)) const override
Prints current instance into stream in raw bytes.
Definition: meshPacket.cpp:451
 
This class safetly handles allocation and deallocation of memory. It can be used in conjunction with ...
Definition: meshVariableArray.h:32
 
virtual void Clear()
Clears all data in packet.
Definition: meshPacket.cpp:190
 
Class, that stores mesh packet with it's data. The size of this class can be slightly bigger then rea...
Definition: meshPacket.h:158
 
virtual bool SetPayloadByteAt(uint16_t index, uint8_t value)
Sets payload byte at specified index.
Definition: meshPacket.cpp:141
 
Interface for converting class or structure instance to raw bytes, which can be sent.
Definition: meshHelper.h:161
 
bool ResizePayload(uint16_t size, bool doNotCopy=false)
Resizes payload.
Definition: meshPacket.cpp:150
 
const uint8_t * p_ptr() const
Pointer to payload.
Definition: meshPacket.h:315
 
virtual bool copyFrom(const MeshPacket &another)
Copyies data from another packet to current packet.
Definition: meshPacket.cpp:196
 
typedef SPT_NetScan
Definition: meshPacket.h:22
 
typedef SPT_Disconnect
Definition: meshPacket.h:26
 
#define OSTREAM
Definition: meshConfig.h:41
 
bool error
True when packet has error.
Definition: meshPacket.h:402
 
typedef SPT_DATA
Definition: meshPacket.h:32
 
bool ContainsDestinationAddress() const
Check if frame with current control frame has to contain Destination address field.
Definition: meshPacketFlags.h:130
 
Structure that represents physical MAC address used in MeshNEt protocol. MeshMAC address unlike MAC a...
Definition: meshHelper.h:207
 
bool GetError() const
Checks if error is set by calling SetError()
Definition: meshPacket.h:376
 
#define IS_VALID_MESH_SRC_ADDRESS(address)
Checks if mesh "source" address from packet or frame header is valid. Accepted values from 0 to MAX_M...
Definition: meshConfig.h:88
 
#define INVALID_MESH_ADDRESS
Address, that is invalid and cannot be used.
Definition: meshConfig.h:56
 
static size_t printHex(OSTREAM &stream, uint8_t val)
Definition: meshPacket.cpp:475
 
MeshPacket & operator=(const MeshPacket &mp)
Copy assignment operator.
Definition: meshPacket.cpp:75
 
typedef SPT_ERR_ACK
Definition: meshPacket.h:21
 
size_t printTo(Print &p) const override
Makes this class printable.
Definition: meshPacket.cpp:304
 
uint16_t Length() const
Length of payload.
Definition: meshPacket.h:197
 
MeshPacket()
Definition: meshPacket.cpp:56
 
~MeshPacket()
Destructor.
Definition: meshPacket.cpp:71
 
typedef SPT_Connect
Definition: meshPacket.h:23
 
typedef SPT_PathDiscovery
Definition: meshPacket.h:28
 
void SetError()
Sets that packet is not valid.
Definition: meshPacket.h:369
 
uint16_t PayloadLength
Packet payload length. Maximum value can be 1023, because only 10 bits are used.
Definition: meshPacket.h:397
 
MeshVariableArray< uint8_t > TakePayload()
Takes payload data. Payload will be cleared after this operation, because std::move was used....
Definition: meshPacket.cpp:112
 
bool ContainsToAddress() const
Check if frame with current control frame has to contain To address field.
Definition: meshPacketFlags.h:151
 
This file contains classes and structures which can be used to handling mesh frames.
 
typedef SPT_Ping
Definition: meshPacket.h:29
 
void ClearError()
Sets that packet is valid.
Definition: meshPacket.h:383
 
void GetPayload(uint8_t *payload, uint16_t &payloadLength) const
Gets payload data.
Definition: meshPacket.cpp:106
 
#define IS_VALID_MESH_FROM_ADDRESS(address)
Checks if mesh "from" address from packet or frame header is valid. Accepted values from 0 to MAX_MES...
Definition: meshConfig.h:100
 
size_t printHeader(OSTREAM *stream) const override
Prints header of table.
Definition: meshPacket.cpp:309
 
size_t prettyPrint(OSTREAM &stream) const
Pretty prints packet to stream.
Definition: meshPacket.cpp:216