38 namespace data_processing {
46 std::make_shared<sick::data_processing::ParseGeneralSystemState>();
65 uint32_t expected_size =
66 dataHeadPtr->getDerivedValuesBlockSize() + dataHeadPtr->getMeasurementDataBlockSize() +
67 dataHeadPtr->getGeneralSystemStateBlockSize() + dataHeadPtr->getIntrusionDataBlockSize() +
68 dataHeadPtr->getApplicationDataBlockSize();
69 uint32_t actual_size = buffer.
getLength();
70 if (actual_size < expected_size)
72 ROS_WARN(
"Skipping data, sizes do not match, actual size is smaller then expected " 73 "size! If this occurs please report with a stacktrace if the driver crashes at some " 75 ROS_WARN(
"Expected minimum size: %i", expected_size);
76 ROS_WARN(
"Actual size: %i", actual_size);
77 ROS_WARN(
"Skipping all data for this message.");
79 dataHeadPtr->setDerivedValuesBlockSize(0);
80 dataHeadPtr->setDerivedValuesBlockOffset(0);
81 dataHeadPtr->setMeasurementDataBlockSize(0);
82 dataHeadPtr->setMeasurementDataBlockOffset(0);
83 dataHeadPtr->setGeneralSystemStateBlockSize(0);
84 dataHeadPtr->setGeneralSystemStateBlockOffset(0);
85 dataHeadPtr->setIntrusionDataBlockSize(0);
86 dataHeadPtr->setIntrusionDataBlockOffset(0);
87 dataHeadPtr->setApplicationDataBlockSize(0);
88 dataHeadPtr->setApplicationDataBlockOffset(0);
103 data.
setDataHeaderPtr(std::make_shared<sick::datastructure::DataHeader>(data_header));
111 data.
setDerivedValuesPtr(std::make_shared<sick::datastructure::DerivedValues>(derived_values));
120 std::make_shared<sick::datastructure::MeasurementData>(measurement_data));
129 std::make_shared<sick::datastructure::GeneralSystemState>(general_system_state));
137 data.
setIntrusionDataPtr(std::make_shared<sick::datastructure::IntrusionData>(intrusion_data));
146 std::make_shared<sick::datastructure::ApplicationData>(application_data));
std::shared_ptr< sick::data_processing::ParseDataHeader > m_data_header_parser_ptr
void setApplicationDataPtr(const std::shared_ptr< ApplicationData > &application_data_ptr)
Sets the application data.
The GeneralSystemState class. It includes a summary of the current system state, the state of the saf...
std::shared_ptr< sick::data_processing::ParseDerivedValues > m_derived_values_parser_ptr
A packetbuffer for the raw data from the sensor.
void setMeasurementDataInData(const datastructure::PacketBuffer &buffer, datastructure::Data &data) const
void setDerivedValuesInData(const datastructure::PacketBuffer &buffer, datastructure::Data &data) const
void setDataBlocksInData(const datastructure::PacketBuffer &buffer, datastructure::Data &data) const
The data class containing all data blocks of a measurement.
The application io class, bundles application input and output.
sick::datastructure::Data parseUDPSequence(const sick::datastructure::PacketBuffer &buffer) const
Parses the udp data transferred in the packet buffer. It will be parsed into the data reference...
Class containing all IntrusionDatums.
void setDataHeaderInData(const datastructure::PacketBuffer &buffer, datastructure::Data &data) const
void setMeasurementDataPtr(const std::shared_ptr< MeasurementData > &measurement_data_ptr)
Sets the measurement data.
void setDerivedValuesPtr(const std::shared_ptr< DerivedValues > &derived_values_ptr)
Sets the derived values.
void setGeneralSystemStateInData(const datastructure::PacketBuffer &buffer, datastructure::Data &data) const
std::shared_ptr< sick::data_processing::ParseApplicationData > m_application_data_parser_ptr
ParseData()
Constructor of the parser.
std::shared_ptr< sick::data_processing::ParseGeneralSystemState > m_general_system_state_parser_ptr
Class containing all scanpoints of a single measurement.
size_t getLength() const
Returns length of the current PacketBuffer.
The DerivedValues class Includes the derived configuration of the measurement data channel...
void setDataHeaderPtr(const std::shared_ptr< DataHeader > &data_header_ptr)
Sets the data header.
void setApplicationDataInData(const datastructure::PacketBuffer &buffer, datastructure::Data &data) const
std::shared_ptr< DataHeader > getDataHeaderPtr() const
Gets the data header.
void setGeneralSystemStatePtr(const std::shared_ptr< GeneralSystemState > &general_system_state_ptr)
Sets the general system state.
void setIntrusionDataPtr(const std::shared_ptr< IntrusionData > &intrusion_data_ptr)
Sets the intrusion data.
std::shared_ptr< sick::data_processing::ParseMeasurementData > m_measurement_data_parser_ptr
std::shared_ptr< sick::data_processing::ParseIntrusionData > m_intrusion_data_parser_ptr
void setIntrusionDataInData(const datastructure::PacketBuffer &buffer, datastructure::Data &data) const