From a688e436f03309d5813b68a375f694412018ca0b Mon Sep 17 00:00:00 2001 From: Nikita Kostovsky Date: Thu, 26 Feb 2026 16:33:12 +0100 Subject: add sync moveSteps --- src/protocols/httpserver.cpp | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'src/protocols/httpserver.cpp') diff --git a/src/protocols/httpserver.cpp b/src/protocols/httpserver.cpp index 3d5a0d5..dc3b59a 100644 --- a/src/protocols/httpserver.cpp +++ b/src/protocols/httpserver.cpp @@ -185,15 +185,21 @@ QHttpServerResponse HttpServer::POST_params(const QHttpServerRequest &request) return QJsonDocument{QJsonObject{{QStringLiteral("error"), message}}} .toJson(); }; - const auto invalidValue = - [jsonError](const auto fieldName) -> const QString { + const auto invalidValue = [jsonError](const auto fieldName) -> const QString { + qDebug() << "invalid value:" << fieldName; return jsonError(fieldName + QStringLiteral(" has invalid value")); }; + const auto failedToSet = [jsonError](const auto fieldName) -> const QString { + qDebug() << "failed to set" << fieldName; + return jsonError(QStringLiteral("failed to set") + fieldName); + }; + const auto autoExposure = json["autoExposure"]; const auto exposureTime = json["exposureTime"]; const auto autoGain = json["autoGain"]; const auto gain = json["gain"]; + const auto triggerExposureDelayUs = json["triggerExposureDelayUs"]; if (!autoExposure.isNull()) { if (autoExposure.isBool()) { @@ -232,6 +238,23 @@ QHttpServerResponse HttpServer::POST_params(const QHttpServerRequest &request) } } + if (!triggerExposureDelayUs.isNull()) { + if (triggerExposureDelayUs.isDouble()) { + const auto ok = m_camera->set_triggerExposureDelay( + std::chrono::microseconds{triggerExposureDelayUs.toInt()}); + + if (!ok) { + { + invalidValue("triggerExposureDelayUs"), + QHttpServerResponse::StatusCode::BadRequest; + } + } + } else { + return {invalidValue("triggerExposureDelayUs"), + QHttpServerResponse::StatusCode::BadRequest}; + } + } + return QHttpServerResponse::StatusCode::Ok; } -- cgit v1.3