measurement_report_header.h
Go to the documentation of this file.
1 
26 #ifndef OMRON_OS32C_DRIVER_MEASUREMENT_REPORT_HEADER_H
27 #define OMRON_OS32C_DRIVER_MEASUREMENT_REPORT_HEADER_H
28 
29 #include <string>
30 
35 
36 using std::string;
40 
41 namespace omron_os32c_driver {
42 
48 {
49 public:
67 
71  virtual size_t getLength() const
72  {
73  return 56;
74  }
75 
82  virtual Writer& serialize(Writer& writer) const
83  {
84  EIP_UINT reserved = 0;
85  writer.write(scan_count);
86  writer.write(scan_rate);
87  writer.write(scan_timestamp);
88  writer.write(scan_beam_period);
89  writer.write(machine_state);
90  writer.write(machine_stop_reasons);
91  writer.write(active_zone_set);
92  writer.write(zone_inputs);
93  writer.write(detection_zone_status);
94  writer.write(output_status);
95  writer.write(input_status);
96  writer.write(display_status);
97  writer.write(non_safety_config_checksum);
98  writer.write(safety_config_checksum);
99  writer.write(reserved);
100  writer.write(reserved);
101  writer.write(reserved);
102  writer.write(reserved);
103  writer.write(reserved);
104  writer.write(reserved);
105  writer.write(range_report_format);
106  writer.write(refletivity_report_format);
107  writer.write(reserved);
108  writer.write(num_beams);
109  return writer;
110  }
111 
115  virtual Reader& deserialize(Reader& reader, size_t length)
116  {
117  deserialize(reader);
118  return reader;
119  }
120 
127  virtual Reader& deserialize(Reader& reader)
128  {
129  reader.read(scan_count);
130  reader.read(scan_rate);
131  reader.read(scan_timestamp);
132  reader.read(scan_beam_period);
133  reader.read(machine_state);
134  reader.read(machine_stop_reasons);
135  reader.read(active_zone_set);
136  reader.read(zone_inputs);
137  reader.read(detection_zone_status);
138  reader.read(output_status);
139  reader.read(input_status);
140  reader.read(display_status);
141  reader.read(non_safety_config_checksum);
142  reader.read(safety_config_checksum);
143  reader.skip(6 * sizeof(EIP_UINT));
144  reader.read(range_report_format);
145  reader.read(refletivity_report_format);
146  reader.skip(sizeof(EIP_UINT));
147  reader.read(num_beams);
148  return reader;
149  }
150 };
151 
152 } // namespace omron_os32c_driver
153 
154 #endif // OMRON_OS32C_DRIVER_MEASUREMENT_REPORT_HEADER_H
void write(const T &v)
virtual Reader & deserialize(Reader &reader, size_t length)
virtual void skip(size_t n)=0
uint16_t EIP_WORD
uint16_t EIP_UINT
uint32_t EIP_UDINT
virtual Writer & serialize(Writer &writer) const


omron_os32c_driver
Author(s): Kareem Shehata
autogenerated on Fri Nov 27 2020 03:06:12