diff options
Diffstat (limited to 'src/protocols/httpserver.cpp')
| -rw-r--r-- | src/protocols/httpserver.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/protocols/httpserver.cpp b/src/protocols/httpserver.cpp index e5772da..b20ee45 100644 --- a/src/protocols/httpserver.cpp +++ b/src/protocols/httpserver.cpp @@ -233,6 +233,8 @@ QHttpServerResponse HttpServer::POST_params(const QHttpServerRequest &request) const auto autoGain = json["autoGain"]; const auto gain = json["gain"]; const auto triggerExposureDelayUs = json["triggerExposureDelayUs"]; + const auto blackLevel = json["blackLevel"]; + const auto isBlackLevelManual = json["isBlackLevelManual"]; // TODO: unify args processing to avoid code duplicates if (!autoExposure.isNull()) { @@ -278,17 +280,47 @@ QHttpServerResponse HttpServer::POST_params(const QHttpServerRequest &request) std::chrono::microseconds{triggerExposureDelayUs.toInt()}); if (!ok) { + qCritical() << "cannot write delay value"; { invalidValue("triggerExposureDelayUs"), QHttpServerResponse::StatusCode::BadRequest; } } + + const auto delay = m_scanner->camera()->get_triggerExposureDelay(); + + if (delay.has_value()) { + std::cout << "NEW DELAY IS: " << *delay << std::endl; + } else { + qCritical() << "cannot read new delay value"; + } } else { return {invalidValue("triggerExposureDelayUs"), QHttpServerResponse::StatusCode::BadRequest}; } } + if (!isBlackLevelManual.isNull()) { + if (isBlackLevelManual.isBool()) { + if (!m_scanner->camera()->set_isBlackLevelManual(isBlackLevelManual.toBool())) { + return {invalidValue("isBlackLevelManualisBlackLevelManual"), + QHttpServerResponse::StatusCode::BadRequest}; + } + } else { + return {invalidValue("isBlackLevelManual"), QHttpServerResponse::StatusCode::BadRequest}; + } + } + + if (!blackLevel.isNull()) { + if (blackLevel.isDouble()) { + if (!m_scanner->camera()->set_blackLevel(blackLevel.toInteger())) { + return {invalidValue("blackLevel"), QHttpServerResponse::StatusCode::BadRequest}; + } + } else { + return {invalidValue("blackLevel"), QHttpServerResponse::StatusCode::BadRequest}; + } + } + return QHttpServerResponse::StatusCode::Ok; } @@ -308,6 +340,8 @@ QHttpServerResponse HttpServer::GET_params() {"exposureTime", chrono_val_or_null(m_scanner->camera()->get_exposureTime())}, {"autoGain", val_or_null(m_scanner->camera()->get_autoGain())}, {"gain", val_or_null(m_scanner->camera()->get_gain())}, + {"blackLevel", static_cast<qint64>(m_scanner->camera()->get_blackLevel().value_or(0))}, + {"isBlackLevelManual", val_or_null(m_scanner->camera()->get_isBlackLevelManual())}, }; qDebug().noquote() << __func__ << ": " << json; |
