* @brief Creates a new FrameReader and wires it to the driver's data signal. */
| 187 | * @brief Creates a new FrameReader and wires it to the driver's data signal. |
| 188 | */ |
| 189 | void IO::DeviceManager::startFrameReader(const FrameConfig& config) |
| 190 | { |
| 191 | Q_ASSERT(m_driver); |
| 192 | Q_ASSERT(m_deviceId >= 0); |
| 193 | |
| 194 | if (!m_driver) |
| 195 | return; |
| 196 | |
| 197 | killFrameReader(); |
| 198 | |
| 199 | m_frameReader = new FrameReader(); |
| 200 | m_frameReader->setChecksum(config.checksumAlgorithm); |
| 201 | m_frameReader->setStartSequences(config.startSequences); |
| 202 | m_frameReader->setFinishSequences(config.finishSequences); |
| 203 | m_frameReader->setOperationMode(config.operationMode); |
| 204 | m_frameReader->setFrameDetectionMode(config.frameDetection); |
| 205 | |
| 206 | connect( |
| 207 | m_driver.get(), &IO::HAL_Driver::dataReceived, m_frameReader, &IO::FrameReader::processData); |
| 208 | connect(m_frameReader, &IO::FrameReader::readyRead, this, &IO::DeviceManager::onReadyRead); |
| 209 | } |
| 210 | |
| 211 | /** |
| 212 | * @brief Disconnects and schedules deletion of the current FrameReader. |
nothing calls this directly
no test coverage detected