* @brief Set polling interval in milliseconds */
| 296 | * @brief Set polling interval in milliseconds |
| 297 | */ |
| 298 | API::CommandResponse API::Handlers::ModbusHandler::setPollInterval(const QString& id, |
| 299 | const QJsonObject& params) |
| 300 | { |
| 301 | if (!params.contains(QStringLiteral("intervalMs"))) { |
| 302 | return CommandResponse::makeError( |
| 303 | id, ErrorCode::MissingParam, QStringLiteral("Missing required parameter: intervalMs")); |
| 304 | } |
| 305 | |
| 306 | const int intervalMs = params.value(QStringLiteral("intervalMs")).toInt(); |
| 307 | |
| 308 | if (intervalMs < 10) { |
| 309 | return CommandResponse::makeError( |
| 310 | id, ErrorCode::InvalidParam, QStringLiteral("intervalMs must be at least 10 milliseconds")); |
| 311 | } |
| 312 | |
| 313 | IO::ConnectionManager::instance().modbus()->setPollInterval(static_cast<quint16>(intervalMs)); |
| 314 | |
| 315 | QJsonObject result; |
| 316 | result[QStringLiteral("intervalMs")] = intervalMs; |
| 317 | return CommandResponse::makeSuccess(id, result); |
| 318 | } |
| 319 | |
| 320 | /** |
| 321 | * @brief Set TCP host address |