From patchwork Tue Sep 24 17:25:03 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jacopo Mondi X-Patchwork-Id: 2020 Return-Path: Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net [217.70.183.195]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 1FA026238B for ; Tue, 24 Sep 2019 19:23:42 +0200 (CEST) X-Originating-IP: 213.45.248.89 Received: from uno.homenet.telecomitalia.it (host89-248-dynamic.45-213-r.retail.telecomitalia.it [213.45.248.89]) (Authenticated sender: jacopo@jmondi.org) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id C97AC60005 for ; Tue, 24 Sep 2019 17:23:41 +0000 (UTC) From: Jacopo Mondi To: libcamera-devel@lists.libcamera.org Date: Tue, 24 Sep 2019 19:25:03 +0200 Message-Id: <20190924172503.30864-22-jacopo@jmondi.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20190924172503.30864-1-jacopo@jmondi.org> References: <20190924172503.30864-1-jacopo@jmondi.org> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH 21/21] POC: cam: Set random controls X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Sep 2019 17:23:42 -0000 Set random values for 3 controls supporte by the VIMC camera. Signed-off-by: Jacopo Mondi --- src/cam/capture.cpp | 12 ++++++++++++ src/cam/capture.h | 2 ++ 2 files changed, 14 insertions(+) diff --git a/src/cam/capture.cpp b/src/cam/capture.cpp index 8a939c622703..ce655c683a78 100644 --- a/src/cam/capture.cpp +++ b/src/cam/capture.cpp @@ -7,6 +7,7 @@ #include #include +#include #include #include #include @@ -114,6 +115,7 @@ int Capture::capture(EventLoop *loop) } for (Request *request : requests) { + setControls(request); ret = camera_->queueRequest(request); if (ret < 0) { std::cerr << "Can't queue request" << std::endl; @@ -188,5 +190,15 @@ void Capture::requestComplete(Request *request, const std::mapaddBuffer(std::move(newBuffer)); } + setControls(request); camera_->queueRequest(request); } + +void Capture::setControls(libcamera::Request *request) +{ + ControlList &controls = request->controls(); + + controls[Brightness] = rand() % 255; + controls[Saturation] = rand() % 500; + controls[Contrast] = rand() % 128; +} diff --git a/src/cam/capture.h b/src/cam/capture.h index ee0dc4211111..b98cd37eff87 100644 --- a/src/cam/capture.h +++ b/src/cam/capture.h @@ -31,6 +31,8 @@ private: void requestComplete(libcamera::Request *request, const std::map &buffers); + void setControls(libcamera::Request *request); + libcamera::Camera *camera_; libcamera::CameraConfiguration *config_;