#pragma once #include #include #include "CalibrationPoint.h" namespace Incart::DeviceComplexCommands { class ChannelGroupCalibrationInfo { private: uint8_t m_channelType; int32_t m_channelsCount; int32_t m_calibrationPointCount; uint16_t m_bitCounts; uint32_t m_discretPeriod; std::vector m_calibrationPoints; public: ChannelGroupCalibrationInfo(uint8_t _channelType, int32_t _channelsCount, int32_t _calibrationPointCount, uint16_t _bitCounts, uint32_t _discretPeriod) : m_channelType(_channelType), m_channelsCount(_channelsCount), m_calibrationPointCount(_calibrationPointCount), m_bitCounts(_bitCounts), m_discretPeriod(_discretPeriod), m_calibrationPoints(m_calibrationPointCount > 0 ? m_channelsCount * m_calibrationPointCount : 0) { } uint8_t getChannelType() { return m_channelType; } int32_t getChannelsCount() { return m_channelsCount; } int32_t getCalibrationPointCount() { return m_calibrationPointCount; } uint16_t getBitCounts() { return m_bitCounts; } uint32_t getDiscretPeriod() { return m_discretPeriod; } std::vector& getCalibrationPoints() { return m_calibrationPoints; } }; } // namespace Incart::DeviceComplexCommands