16 #ifndef PSEN_SCAN_V2_STANDALONE_IO_PIN_DATA_H 17 #define PSEN_SCAN_V2_STANDALONE_IO_PIN_DATA_H 24 #include <fmt/format.h> 25 #include <fmt/ostream.h> 32 namespace data_conversion_layer
34 namespace monitoring_frame
52 static inline std::string
getInputName(std::size_t byte_location, std::size_t bit_location)
60 return OUTPUT_BITS.at(byte_location).at(bit_location);
64 static inline std::string
getOutputName(std::size_t byte_location, std::size_t bit_location)
86 return os << fmt::format(
"io::PinData(input = {}, output = {})",
95 #endif // PSEN_SCAN_V2_STANDALONE_IO_PIN_DATA_H static const std::map< Ot, IoName > OUTPUT_BIT_TO_NAME
static constexpr std::array< std::array< Lit, 8 >, RAW_CHUNK_LOGICAL_INPUT_SIGNALS_IN_BYTES > LOGICAL_INPUT_BITS
static std::string getOutputName(std::size_t byte_location, std::size_t bit_location)
static OutputType getOutputType(std::size_t byte_location, std::size_t bit_location)
static std::string getInputName(std::size_t byte_location, std::size_t bit_location)
static constexpr uint32_t RAW_CHUNK_OUTPUT_SIGNALS_IN_BYTES
static constexpr uint32_t NUMBER_OF_OUTPUT_BYTES
Represents the IO PIN field of a monitoring frame.
static constexpr std::array< std::array< Ot, 8 >, RAW_CHUNK_OUTPUT_SIGNALS_IN_BYTES > OUTPUT_BITS
static constexpr uint32_t NUMBER_OF_INPUT_BYTES
Root namespace in which the software components to communicate with the scanner (firmware-version: 2)...
static LogicalInputType getInputType(std::size_t byte_location, std::size_t bit_location)
bool operator==(const PinData &pin_data) const
static constexpr uint32_t RAW_CHUNK_LOGICAL_INPUT_SIGNALS_IN_BYTES
std::string formatRange(const T &range)
std::ostream & operator<<(std::ostream &os, const PinData &pd)
static const std::map< Lit, IoName > LOGICAL_INPUT_BIT_TO_NAME
std::array< std::bitset< 8 >, NUMBER_OF_OUTPUT_BYTES > output_state
std::array< std::bitset< 8 >, NUMBER_OF_INPUT_BYTES > input_state