ParseDataHeader.cpp
Go to the documentation of this file.
1 // this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
2 
3 // -- BEGIN LICENSE BLOCK ----------------------------------------------
4 
24 // -- END LICENSE BLOCK ------------------------------------------------
25 
26 //----------------------------------------------------------------------
33 //----------------------------------------------------------------------
34 
36 
37 namespace sick {
38 namespace data_processing {
39 
41 {
42  m_reader_ptr = std::make_shared<sick::data_processing::ReadWriteHelper>();
43 }
44 
47  datastructure::Data& data) const
48 {
49  const uint8_t* data_ptr(buffer.getBuffer().data());
50  datastructure::DataHeader data_header;
51  setDataInDataHeader(data_ptr, data_header);
52  return data_header;
53 }
54 
55 void ParseDataHeader::setDataInDataHeader(const uint8_t*& data_ptr,
56  datastructure::DataHeader& data_header) const
57 {
58  setVersionInDataHeader(data_ptr, data_header);
59  setScanHeaderInDataHeader(data_ptr, data_header);
60  setDataBlocksInDataHeader(data_ptr, data_header);
61 }
62 
63 
64 void ParseDataHeader::setVersionInDataHeader(const uint8_t*& data_ptr,
65  datastructure::DataHeader& data_header) const
66 {
67  setVersionIndicatorInDataHeader(data_ptr, data_header);
68  setMajorVersionInDataHeader(data_ptr, data_header);
69  setMinorVersionInDataHeader(data_ptr, data_header);
70  setVersionReleaseInDataHeader(data_ptr, data_header);
71  setSerialNumberOfDeviceInDataHeader(data_ptr, data_header);
72  setSerialNumberOfSystemPlugInDataHeader(data_ptr, data_header);
73 }
74 
75 void ParseDataHeader::setScanHeaderInDataHeader(const uint8_t*& data_ptr,
76  datastructure::DataHeader& data_header) const
77 {
78  setChannelNumberInDataHeader(data_ptr, data_header);
79  setSequenceNumberInDataHeader(data_ptr, data_header);
80  setScanNumberInDataHeader(data_ptr, data_header);
81  setTimestampDateInDataHeader(data_ptr, data_header);
82  setTimestampTimeInDataHeader(data_ptr, data_header);
83 }
84 
85 void ParseDataHeader::setDataBlocksInDataHeader(const uint8_t*& data_ptr,
86  datastructure::DataHeader& data_header) const
87 {
88  setGeneralSystemStateBlockOffsetInDataHeader(data_ptr, data_header);
89  setGeneralSystemStateBlockSizeInDataHeader(data_ptr, data_header);
90  setDerivedValuesBlockOffsetInDataHeader(data_ptr, data_header);
91  setDerivedValuesBlockSizeInDataHeader(data_ptr, data_header);
92  setMeasurementDataBlockOffsetInDataHeader(data_ptr, data_header);
93  setMeasurementDataBlockSizeInDataHeader(data_ptr, data_header);
94  setIntrusionDataBlockOffsetInDataHeader(data_ptr, data_header);
95  setIntrusionDataBlockSizeInDataHeader(data_ptr, data_header);
96  setApplicationDataBlockOffsetInDataHeader(data_ptr, data_header);
97  setApplicationDataBlockSizeInDataHeader(data_ptr, data_header);
98 }
99 
101  datastructure::DataHeader& data_header) const
102 {
103  data_header.setVersionIndicator(m_reader_ptr->readuint8_tLittleEndian(data_ptr, 0));
104 }
105 
106 void ParseDataHeader::setMajorVersionInDataHeader(const uint8_t*& data_ptr,
107  datastructure::DataHeader& data_header) const
108 {
109  data_header.setVersionMajorVersion(m_reader_ptr->readuint8_tLittleEndian(data_ptr, 1));
110 }
111 
112 void ParseDataHeader::setMinorVersionInDataHeader(const uint8_t*& data_ptr,
113  datastructure::DataHeader& data_header) const
114 {
115  data_header.setVersionMinorVersion(m_reader_ptr->readuint8_tLittleEndian(data_ptr, 2));
116 }
117 
119  datastructure::DataHeader& data_header) const
120 {
121  data_header.setVersionRelease(m_reader_ptr->readuint8_tLittleEndian(data_ptr, 3));
122 }
123 
125  const uint8_t*& data_ptr, datastructure::DataHeader& data_header) const
126 {
127  data_header.setSerialNumberOfDevice(m_reader_ptr->readuint32_tLittleEndian(data_ptr, 4));
128 }
129 
131  const uint8_t*& data_ptr, datastructure::DataHeader& data_header) const
132 {
133  data_header.setSerialNumberOfSystemPlug(m_reader_ptr->readuint32_tLittleEndian(data_ptr, 8));
134 }
135 
136 void ParseDataHeader::setChannelNumberInDataHeader(const uint8_t*& data_ptr,
137  datastructure::DataHeader& data_header) const
138 {
139  data_header.setChannelNumber(m_reader_ptr->readuint8_tLittleEndian(data_ptr, 12));
140 }
141 
143  datastructure::DataHeader& data_header) const
144 {
145  data_header.setSequenceNumber(m_reader_ptr->readuint32_tLittleEndian(data_ptr, 16));
146 }
147 
148 void ParseDataHeader::setScanNumberInDataHeader(const uint8_t*& data_ptr,
149  datastructure::DataHeader& data_header) const
150 {
151  data_header.setScanNumber(m_reader_ptr->readuint32_tLittleEndian(data_ptr, 20));
152 }
153 
154 void ParseDataHeader::setTimestampDateInDataHeader(const uint8_t*& data_ptr,
155  datastructure::DataHeader& data_header) const
156 {
157  data_header.setTimestampDate(m_reader_ptr->readuint16_tLittleEndian(data_ptr, 24));
158 }
159 
160 void ParseDataHeader::setTimestampTimeInDataHeader(const uint8_t*& data_ptr,
161  datastructure::DataHeader& data_header) const
162 {
163  data_header.setTimestampTime(m_reader_ptr->readuint32_tLittleEndian(data_ptr, 28));
164 }
165 
167  const uint8_t*& data_ptr, datastructure::DataHeader& data_header) const
168 {
170  m_reader_ptr->readuint16_tLittleEndian(data_ptr, 32));
171 }
172 
174  const uint8_t*& data_ptr, datastructure::DataHeader& data_header) const
175 {
176  data_header.setGeneralSystemStateBlockSize(m_reader_ptr->readuint16_tLittleEndian(data_ptr, 34));
177 }
178 
180  const uint8_t*& data_ptr, datastructure::DataHeader& data_header) const
181 {
182  data_header.setDerivedValuesBlockOffset(m_reader_ptr->readuint16_tLittleEndian(data_ptr, 36));
183 }
184 
186  const uint8_t*& data_ptr, datastructure::DataHeader& data_header) const
187 {
188  data_header.setDerivedValuesBlockSize(m_reader_ptr->readuint16_tLittleEndian(data_ptr, 38));
189 }
190 
192  const uint8_t*& data_ptr, datastructure::DataHeader& data_header) const
193 {
194  data_header.setMeasurementDataBlockOffset(m_reader_ptr->readuint16_tLittleEndian(data_ptr, 40));
195 }
196 
198  const uint8_t*& data_ptr, datastructure::DataHeader& data_header) const
199 {
200  data_header.setMeasurementDataBlockSize(m_reader_ptr->readuint16_tLittleEndian(data_ptr, 42));
201 }
202 
204  const uint8_t*& data_ptr, datastructure::DataHeader& data_header) const
205 {
206  data_header.setIntrusionDataBlockOffset(m_reader_ptr->readuint16_tLittleEndian(data_ptr, 44));
207 }
208 
210  const uint8_t*& data_ptr, datastructure::DataHeader& data_header) const
211 {
212  data_header.setIntrusionDataBlockSize(m_reader_ptr->readuint16_tLittleEndian(data_ptr, 46));
213 }
214 
216  const uint8_t*& data_ptr, datastructure::DataHeader& data_header) const
217 {
218  data_header.setApplicationDataBlockOffset(m_reader_ptr->readuint16_tLittleEndian(data_ptr, 48));
219 }
220 
222  const uint8_t*& data_ptr, datastructure::DataHeader& data_header) const
223 {
224  data_header.setApplicationDataBlockSize(m_reader_ptr->readuint16_tLittleEndian(data_ptr, 50));
225 }
226 
227 } // namespace data_processing
228 } // namespace sick
ParseDataHeader()
Constructor of the parser.
void setIntrusionDataBlockOffsetInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setTimestampTime(const uint32_t &timestamp_time)
Sets the timestamp time.
Definition: DataHeader.cpp:150
void setMeasurementDataBlockOffset(const uint16_t &measurement_data_block_offset)
Sets the measurement data block offset.
Definition: DataHeader.cpp:200
void setChannelNumber(const uint8_t &channel_number)
Sets the number of channel the measurement data belongs to.
Definition: DataHeader.cpp:110
A packetbuffer for the raw data from the sensor.
Definition: PacketBuffer.h:61
void setApplicationDataBlockSize(const uint16_t &application_data_block_size)
Sets the application io data block size.
Definition: DataHeader.cpp:250
void setSerialNumberOfDevice(const uint32_t &serial_number_of_device)
Sets the serial number of the device.
Definition: DataHeader.cpp:90
void setSequenceNumberInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setScanHeaderInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setMinorVersionInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setSerialNumberOfDeviceInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
datastructure::DataHeader parseUDPSequence(const datastructure::PacketBuffer &buffer, datastructure::Data &data) const
Parses the data header from a udp sequence.
void setDerivedValuesBlockSizeInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setScanNumberInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setTimestampTimeInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setChannelNumberInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setGeneralSystemStateBlockOffset(const uint16_t &general_system_state_block_offset)
Sets the general system state block offset.
Definition: DataHeader.cpp:160
void setIntrusionDataBlockSize(const uint16_t &intrusion_data_block_size)
Sets the intrusion data block size.
Definition: DataHeader.cpp:230
The data class containing all data blocks of a measurement.
Definition: Data.h:55
void setSequenceNumber(const uint32_t &sequence_number)
Sets the sequence number of the measurement data.
Definition: DataHeader.cpp:120
const VectorBuffer & getBuffer() const
Getter to return the VectorBuffer saved in the PacketBuffer.
void setSerialNumberOfSystemPlugInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setApplicationDataBlockOffsetInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setDataInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setVersionIndicatorInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setDerivedValuesBlockOffset(const uint16_t &derived_values_block_offset)
Sets the derived values block offset.
Definition: DataHeader.cpp:180
void setVersionRelease(const uint8_t &version_release)
Sets the release of the version.
Definition: DataHeader.cpp:80
void setVersionReleaseInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setVersionMajorVersion(const uint8_t &version_major_version)
Sets the major version number.
Definition: DataHeader.cpp:60
void setDerivedValuesBlockSize(const uint16_t &derived_values_block_size)
Sets the derived values block size.
Definition: DataHeader.cpp:190
void setScanNumber(const uint32_t &scan_number)
Sets the scan number of the measurement data.
Definition: DataHeader.cpp:130
void setApplicationDataBlockSizeInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setMeasurementDataBlockOffsetInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setTimestampDateInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setGeneralSystemStateBlockOffsetInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setSerialNumberOfSystemPlug(const uint32_t &serial_number_of_system_plug)
Sets the serial number of the system plug.
Definition: DataHeader.cpp:100
void setTimestampDate(const uint16_t &timestamp_date)
Sets the timestamp date.
Definition: DataHeader.cpp:140
void setIntrusionDataBlockOffset(const uint16_t &intrusion_data_block_offset)
Sets the intrusion data block offset.
Definition: DataHeader.cpp:220
void setGeneralSystemStateBlockSize(const uint16_t &general_system_state_block_size)
Sets the general system state block size.
Definition: DataHeader.cpp:170
std::shared_ptr< sick::data_processing::ReadWriteHelper > m_reader_ptr
void setMajorVersionInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setVersionIndicator(const uint8_t &version_indicator)
Sets the version indicator.
Definition: DataHeader.cpp:50
Contains the content of the data header of a udp data packet.
Definition: DataHeader.h:46
void setIntrusionDataBlockSizeInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setMeasurementDataBlockSizeInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setDerivedValuesBlockOffsetInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setVersionMinorVersion(const uint8_t &version_minor_version)
Sets the minor version number.
Definition: DataHeader.cpp:70
void setGeneralSystemStateBlockSizeInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setMeasurementDataBlockSize(const uint16_t &measurement_data_block_size)
Sets the measurement data block size.
Definition: DataHeader.cpp:210
void setVersionInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const
void setApplicationDataBlockOffset(const uint16_t &application_data_block_offset)
Sets the application io data block offset.
Definition: DataHeader.cpp:240
void setDataBlocksInDataHeader(const uint8_t *&data_ptr, datastructure::DataHeader &data_header) const


sick_safetyscanners
Author(s): Lennart Puck
autogenerated on Thu May 9 2019 02:41:08