16 #ifndef PSEN_SCAN_V2_STANDALONE_MONITORING_FRAME_MSG_H 17 #define PSEN_SCAN_V2_STANDALONE_MONITORING_FRAME_MSG_H 24 #include <boost/optional.hpp> 33 namespace data_conversion_layer
42 namespace monitoring_frame
69 uint32_t scanCounter()
const;
71 uint8_t activeZoneset()
const;
79 std::vector<diagnostic::Message> diagnosticMessages()
const;
81 bool hasScanCounterField()
const;
82 bool hasActiveZonesetField()
const;
83 bool hasIOPinField()
const;
84 bool hasMeasurementsField()
const;
85 bool hasIntensitiesField()
const;
86 bool hasDiagnosticMessagesField()
const;
117 :
std::runtime_error(field_name +
" not set! (Contact PILZ support if the error persists.)")
124 #endif // PSEN_SCAN_V2_STANDALONE_MONITORING_FRAME_MSG_H
Higher level data type representing a single monitoring frame.
boost::optional< uint32_t > scan_counter_
Exception thrown if an additional field was missing during deserialization of a Message.
static constexpr std::array< ScannerId, 4 > VALID_SCANNER_IDS
Represents the IO PIN field of a monitoring frame.
Wrapping class for a Message and its corresponding timestamp.
boost::optional< std::vector< double > > measurements_
boost::optional< uint8_t > active_zoneset_
Root namespace in which the software components to communicate with the scanner (firmware-version: 2)...
boost::optional< std::vector< double > > intensities_
AdditionalFieldMissing(const std::string &field_name)
static constexpr uint8_t MAX_SCANNER_ID
boost::optional< io::PinData > io_pin_data_
boost::optional< std::vector< diagnostic::Message > > diagnostic_messages_
Helper class representing angles in tenth of degree.