MeshNet
1.0.0
|
#include <meshFrame.h>
Public Member Functions | |
MeshFrame () | |
MeshFrame (const uint8_t *data, uint8_t dataSize) | |
Fills frame fields from raw data. More... | |
MeshFrame (const MeshFrame &mf) | |
Copy constructor. More... | |
MeshFrame (MeshFrame &&mf) noexcept | |
Move constructor. More... | |
~MeshFrame () | |
Destructor. More... | |
MeshFrame & | operator= (const MeshFrame &mf) |
Copy assignment operator. More... | |
MeshFrame & | operator= (MeshFrame &&mf) noexcept |
Move assignment operator. More... | |
uint8_t | Length () const |
Length of data. More... | |
uint8_t | operator[] (uint8_t i) const |
uint8_t & | operator[] (uint8_t i) |
bool | HasError () const |
Checks if frame is not valid. More... | |
uint8_t | GetRawLength () const |
Gets size of raw data length. More... | |
bool | FromRaw (const uint8_t *data, uint8_t dataSize) |
Fills frame fields from raw data. More... | |
bool | ToRaw (uint8_t *data, uint8_t &dataSize) const |
Converts structure to raw data. More... | |
uint8_t | GetDataByteAt (uint8_t index) const |
Reads data byte at specified index. More... | |
bool | SetDataByteAt (uint8_t index, uint8_t value) |
Sets data byte at specified index. More... | |
bool | SetData (const uint8_t *data, const uint8_t dataLength) |
Sets data data. More... | |
void | GetData (uint8_t *data, uint8_t &dataLength) const |
Gets data. More... | |
bool | ResizeData (uint8_t size, bool doNotCopy=false) |
Resizes data. More... | |
void | ClearData () |
Clears frame data. More... | |
void | Clear () |
Clears all data in frame. More... | |
bool | copyFrom (const MeshFrame &another) |
Copyies data from another frame to current frame. More... | |
void | moveFrom (MeshFrame &another) |
Copyies data from another frame to current frame and clears data in another frame. More... | |
const uint8_t * | d_ptr () const |
Pointer to data. More... | |
void | operator= (const MeshFrameHeader &val) |
operator MeshFrameHeader () const | |
operator MeshFrameHeader () | |
bool | IsSamePacket (const MeshFrameHeader &frameHeader) const |
Checks if two frames are from same packet. More... | |
bool | IsSamePacket (const MeshFrame &frame) const |
Checks if two frames are from same packet. More... | |
Data Fields | |
MeshFrameHeader | FrameHeader |
Frame header, that contains frame describing informations. More... | |
Protected Attributes | |
uint8_t | DataSize = 0 |
Size of frame data. More... | |
uint8_t * | Data = NULL |
Frame data. More... | |
MeshFrame::MeshFrame | ( | ) |
MeshFrame::MeshFrame | ( | const uint8_t * | data, |
uint8_t | dataSize | ||
) |
Fills frame fields from raw data.
[in] | data | Received data. |
[in] | dataSize | Length of received data in bytes. |
MeshFrame::MeshFrame | ( | const MeshFrame & | mf | ) |
Copy constructor.
|
noexcept |
Move constructor.
MeshFrame::~MeshFrame | ( | ) |
Destructor.
void MeshFrame::Clear | ( | ) |
Clears all data in frame.
void MeshFrame::ClearData | ( | ) |
Clears frame data.
bool MeshFrame::copyFrom | ( | const MeshFrame & | another | ) |
Copyies data from another frame to current frame.
another | Frame to copy data from. |
|
inline |
Pointer to data.
bool MeshFrame::FromRaw | ( | const uint8_t * | data, |
uint8_t | dataSize | ||
) |
Fills frame fields from raw data.
[in] | data | Received data. |
[in] | dataSize | Length of received data in bytes. |
void MeshFrame::GetData | ( | uint8_t * | data, |
uint8_t & | dataLength | ||
) | const |
Gets data.
[out] | data | Data output buffer. |
[in/out] | dataLength Set length of your buffer. After data copying this value will contain copyied payload length. |
uint8_t MeshFrame::GetDataByteAt | ( | uint8_t | index | ) | const |
Reads data byte at specified index.
index | Index, where to read payload byte. |
|
inline |
Gets size of raw data length.
|
inline |
Checks if frame is not valid.
|
inline |
Checks if two frames are from same packet.
frame | Another frame. |
|
inline |
Checks if two frames are from same packet.
frameHeader | Another frame header. |
|
inline |
Length of data.
void MeshFrame::moveFrom | ( | MeshFrame & | another | ) |
Copyies data from another frame to current frame and clears data in another frame.
another | Frame to move data from. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
bool MeshFrame::ResizeData | ( | uint8_t | size, |
bool | doNotCopy = false |
||
) |
Resizes data.
size | New size. Allowed value from 0 to MESH_FRAME_SIZE_LIMIT-8 or MESH_FRAME_SIZE_LIMIT-7 when frame is not carriage frame. |
doNotCopy | True to do not copy old data. |
bool MeshFrame::SetData | ( | const uint8_t * | data, |
const uint8_t | dataLength | ||
) |
Sets data data.
[in] | data | New data. |
[in] | dataLength | Length of new data. |
bool MeshFrame::SetDataByteAt | ( | uint8_t | index, |
uint8_t | value | ||
) |
Sets data byte at specified index.
index | Index, where to set data byte. |
value | Byte valeu to set. |
bool MeshFrame::ToRaw | ( | uint8_t * | data, |
uint8_t & | dataSize | ||
) | const |
Converts structure to raw data.
[out] | data | Output raw data buffer. |
[in,out] | dataSize | Input is reserved size of data buffer and output is contains raw data size. |
|
protected |
Frame data.
|
protected |
Size of frame data.
MeshFrameHeader MeshFrame::FrameHeader |
Frame header, that contains frame describing informations.