Go to the documentation of this file.
57 #ifndef __SIM_LOC_RESULT_PORT_PARSER_H_INCLUDED
58 #define __SIM_LOC_RESULT_PORT_PARSER_H_INCLUDED
83 virtual bool decode(
const std::vector<uint8_t> & binary_data);
89 virtual std::vector<uint8_t>
encode(
void);
106 static void parseAssert(
bool assertion,
const std::string & assertion_msg,
const std::string & info,
const std::string & file,
int line);
118 template<
typename T>
size_t copyBytesToValue(
const std::vector<uint8_t> & binary_data,
size_t start_byte, T & value,
const std::string & info =
"",
bool little_endian =
false);
129 template<
typename T>
size_t copyBytesToArray(
const std::vector<uint8_t> & binary_data,
size_t start_byte, std::vector<T> & dst_array,
const std::string & info =
"");
153 virtual uint16_t
computeChecksum(
const std::vector<uint8_t> & binary_data,
bool binary_data_with_trailer =
true);
198 template<
typename T>
void encodePushValue(T value, std::vector<uint8_t> & binary_data,
bool little_endian =
false);
232 #endif // __SIM_LOC_RESULT_PORT_PARSER_H_INCLUDED
virtual size_t decodeResultPortHeader(const std::vector< uint8_t > &binary_data, size_t start_byte, sick_scan_xd::SickLocResultPortHeaderMsg &telegram_header)
bool m_little_endian_payload
true if payload type is 0x06c2 (little endian), default: false (payload encoded in big endian format)
sick_scan_xd::SickLocResultPortTelegramMsg m_result_port_telegram
the result port telegram decoded from binary data
virtual bool isLittleEndianPayload(uint16_t payload_type)
virtual uint16_t computeChecksum(const std::vector< uint8_t > &binary_data, bool binary_data_with_trailer=true)
virtual void encodeResultPortHeader(const sick_scan_xd::SickLocResultPortHeaderMsg &telegram_header, std::vector< uint8_t > &binary_data)
size_t copyBytesToArray(const std::vector< uint8_t > &binary_data, size_t start_byte, std::vector< T > &dst_array, const std::string &info="")
virtual sick_scan_xd::SickLocResultPortTelegramMsg & getTelegramMsg(void)
std::string m_publish_frame_id
frame_id of published ros messages (type SickLocResultPortTelegramMsg)
virtual void encodeResultPortPayload(const sick_scan_xd::SickLocResultPortPayloadMsg &telegram_payload, std::vector< uint8_t > &binary_data)
virtual size_t decodeResultPortPayload(const std::vector< uint8_t > &binary_data, size_t start_byte, sick_scan_xd::SickLocResultPortPayloadMsg &telegram_payload)
virtual const sick_scan_xd::SickLocResultPortTelegramMsg & getTelegramMsg(void) const
ResultPortParser(const std::string &frame_id="")
virtual size_t decodeResultPortTrailer(const std::vector< uint8_t > &binary_data, size_t start_byte, sick_scan_xd::SickLocResultPortCrcMsg &telegram_trailer)
virtual bool decode(const std::vector< uint8_t > &binary_data)
virtual std::vector< uint8_t > encode(void)
virtual void encodeResultPortTrailer(uint16_t checksum, std::vector< uint8_t > &binary_data)
size_t copyBytesToValue(const std::vector< uint8_t > &binary_data, size_t start_byte, T &value, const std::string &info="", bool little_endian=false)
void encodePushValue(T value, std::vector< uint8_t > &binary_data, bool little_endian=false)
static void parseAssert(bool assertion, const std::string &assertion_msg, const std::string &info, const std::string &file, int line)
sick_scan_xd
Author(s): Michael Lehning
, Jochen Sprickerhof , Martin Günther
autogenerated on Fri Oct 25 2024 02:47:10