Go to the documentation of this file.
54 namespace sl {
namespace internal {
80 size_t actualSize = 2;
83 actualSize += (message->getPayloadSize() & 0xFF);
95 size_t currentPos = 0;
97 while (currentPos < writeSize) {
104 currentTxByte = message->cmd;
107 currentTxByte = (
_u8)message->getPayloadSize();
111 size_t payloadPos = currentPos - 3;
112 if (payloadPos == message->getPayloadSize()) {
114 currentTxByte = checksum;
115 assert(currentPos + 1 == writeSize);
119 currentTxByte = message->getDataBuf()[payloadPos];
125 checksum ^= currentTxByte;
126 buffer[currentPos++] = currentTxByte;
146 const _u8*
data =
reinterpret_cast<const _u8*
>(buffer);
150 while (
data != dataEnd) {
174 byteArr[
_rx_pos++] = currentByte;
size_t getPayloadSize() const
virtual void onEncodeData(message_autoptr_t &message, _u8 *txbuffer, size_t *size)
#define RPLIDAR_ANS_SYNC_BYTE1
IProtocolMessageListener * _listener
virtual void onDecodeReset()
#define RPLIDAR_ANS_PKTFLAG_LOOP
rp::hal::Locker _op_locker
#define RPLIDAR_ANS_HEADER_SUBTYPE_SHIFT
virtual void onDecodeData(const void *buffer, size_t size)
#define RPLIDAR_ANS_HEADER_SIZE_MASK
#define RPLIDAR_CMD_SYNC_BYTE
ProtocolMessage _decodingMessage
Locker::LOCK_STATUS lock(unsigned long timeout=0xFFFFFFFF)
void setMessageListener(IProtocolMessageListener *l)
std::shared_ptr< ProtocolMessage > message_autoptr_t
void fillData(const void *buffer, size_t size)
#define RPLIDAR_CMDFLAG_HAS_PAYLOAD
virtual size_t estimateLength(message_autoptr_t &message)
#define RPLIDAR_ANS_SYNC_BYTE2
virtual void onProtocolMessageDecoded(const ProtocolMessage &)=0
rplidar_ros
Author(s):
autogenerated on Fri Aug 2 2024 08:42:14