#pragma once #include "AdcChannelsManager.h" #include "EEcgMode.h" namespace Incart::Usb { class UsbDeviceEcgModeController { private: std::shared_ptr m_signalManager; public: UsbDeviceEcgModeController(std::shared_ptr signalManager) : m_signalManager(signalManager) { } void changeEcgConfiguration(UsbDevice::EEcgMode mode) { std::string channelConfiguration = "12x10"; uint8_t signalCount = 8; switch (mode) { case UsbDevice::EEcgMode::Mode12x10: signalCount = 8; break; case UsbDevice::EEcgMode::Mode3x7: signalCount = 3; break; case UsbDevice::EEcgMode::Mode3x5: signalCount = 3; break; case UsbDevice::EEcgMode::Mode1x3: signalCount = 1; break; default: break; } m_signalManager->setSignalCount(DevicesInfo::DeviceChannelTypeInfo{ DevicesInfo::EDeviceChannelType::Ecg, DevicesInfo::EDeviceChannelSourceType::Device }, signalCount); } }; } // namespace Incart::Usb