38 namespace data_processing {
42 m_reader_ptr = std::make_shared<sick::data_processing::ReadWriteHelper>();
53 return general_system_state;
55 const uint8_t* data_ptr(buffer.
getBuffer().data() +
59 return general_system_state;
112 uint8_t byte =
m_reader_ptr->readuint8_tLittleEndian(data_ptr, 0);
114 general_system_state.
setRunModeActive(static_cast<bool>(byte & (0x01 << 0)));
126 std::vector<bool> safe_cut_off_path;
128 for (uint8_t i = 0; i < 3; i++)
130 uint8_t byte =
m_reader_ptr->readuint8_tLittleEndian(data_ptr, 1 + i);
132 for (uint8_t j = 0; j < 8; j++)
139 safe_cut_off_path.push_back(static_cast<bool>(byte & (0x01 << j)));
148 std::vector<bool> non_safe_cut_off_path;
150 for (uint8_t i = 0; i < 3; i++)
152 uint8_t byte =
m_reader_ptr->readuint8_tLittleEndian(data_ptr, 4 + i);
154 for (uint8_t j = 0; j < 8; j++)
161 non_safe_cut_off_path.push_back(static_cast<bool>(byte & (0x01 << j)));
170 std::vector<bool> reset_required_cutoff_path;
172 for (uint8_t i = 0; i < 3; i++)
174 uint8_t byte =
m_reader_ptr->readuint8_tLittleEndian(data_ptr, 7 + i);
176 for (uint8_t j = 0; j < 8; j++)
183 reset_required_cutoff_path.push_back(static_cast<bool>(byte & (0x01 << j)));
205 uint8_t byte =
m_reader_ptr->readuint8_tLittleEndian(data_ptr, 15);
207 general_system_state.
setDeviceError(static_cast<bool>(byte & (0x01 << 1)));
void setIsEmpty(bool is_empty)
Set if general system state has been enabled.
void setContaminationError(bool contamination_error)
Set if a contamination error exists.
The GeneralSystemState class. It includes a summary of the current system state, the state of the saf...
A packetbuffer for the raw data from the sensor.
bool checkIfPreconditionsAreMet(const datastructure::Data &data) const
bool checkIfGeneralSystemStateIsPublished(const datastructure::Data &data) const
ParseGeneralSystemState()
Constructor of the parser.
void setRunModeActive(bool run_mode_active)
Setter for run mode.
void setResetRequiredCutOffPathVector(const std::vector< bool > &reset_required_cut_off_path_vector)
Sets the reset state for all cut-off paths.
void setNonSafeCutOffPathVector(const std::vector< bool > &non_safe_cut_off_path_vector)
Sets the state of all non-safe cut-off paths.
void setCurrentMonitoringCasesInGeneralSystemState(const uint8_t *&data_ptr, datastructure::GeneralSystemState &general_System_state) const
void setDataInGeneralSystemState(const uint8_t *&data_ptr, datastructure::GeneralSystemState &general_System_state) const
std::shared_ptr< sick::data_processing::ReadWriteHelper > m_reader_ptr
void setCurrentMonitoringCaseNoTable_3(const uint8_t ¤t_monitoring_case_no_table_3)
Sets the current monitoring case table 3.
The data class containing all data blocks of a measurement.
void setErrorsInGeneralSystemState(const uint8_t *&data_ptr, datastructure::GeneralSystemState &general_System_state) const
void setDeviceError(bool device_error)
Set if a device error exists.
void setReferenceContourStatus(bool reference_contour_status)
Set the reference contour status.
void setApplicationError(bool application_error)
Set if an application error exists.
void setCurrentMonitoringCaseNoTable_1(const uint8_t ¤t_monitoring_case_no_table_1)
Sets the current monitoring case table 1.
const VectorBuffer & getBuffer() const
Getter to return the VectorBuffer saved in the PacketBuffer.
void setSafeCutOffPathInGeneralSystemState(const uint8_t *&data_ptr, datastructure::GeneralSystemState &general_System_state) const
void setManipulationStatus(bool manipulation_status)
Set the manipulation status.
void setStandbyModeActive(bool standby_mode_active)
Setter for standby mode.
void setCurrentMonitoringCaseNoTable_2(const uint8_t ¤t_monitoring_case_no_table_2)
Sets the current monitoring case table 2.
datastructure::GeneralSystemState parseUDPSequence(const sick::datastructure::PacketBuffer &buffer, datastructure::Data &data) const
Parses the udp sequence to read the general system state if enabled.
void setNonSafeCutOffPathInGeneralSystemState(const uint8_t *&data_ptr, datastructure::GeneralSystemState &general_System_state) const
bool checkIfDataContainsNeededParsedBlocks(const datastructure::Data &data) const
std::shared_ptr< DataHeader > getDataHeaderPtr() const
Gets the data header.
void setStatusBitsInGeneralSystemState(const uint8_t *&data_ptr, datastructure::GeneralSystemState &general_System_state) const
void setCurrentMonitoringCaseNoTable_4(const uint8_t ¤t_monitoring_case_no_table_4)
Sets the current monitoring case table 4.
void setSafeCutOffPathvector(const std::vector< bool > &safe_cut_off_path_vector)
Sets the state of all safe cut-off paths.
void setResetRequiredCutOffPathInGeneralSystemState(const uint8_t *&data_ptr, datastructure::GeneralSystemState &general_System_state) const
void setContaminationWarning(bool contamination_warning)
Set if a contamination warning exists.