From patchwork Fri Sep 12 07:13:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthias Fend X-Patchwork-Id: 24342 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 87AA3C324E for ; Fri, 12 Sep 2025 07:13:35 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id EBC1F6937C; Fri, 12 Sep 2025 09:13:30 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=emfend.at header.i=@emfend.at header.b="immUFJvK"; dkim-atps=neutral Received: from lx20.hoststar.hosting (lx20.hoststar.hosting [168.119.41.54]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id DA00A69367 for ; Fri, 12 Sep 2025 09:13:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=emfend.at; s=mail; h=Cc:To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:Subject:Date:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=KQsC75uuP4DwcLLrq18CcYCoHNSKbcjVDM5DUBjfD3k=; b=immUFJvKHHxq6r8NfloLNHeP84 aCXXu20xpuVMZ7lmR+5kaxHiqwcvr+0uDELczED1ZEHK7uEaAgORdhSfS+FbjYgVEuAlLiiSZzaBH 2pTTPNLVI5VvBzHDcHMMc3+RRuJViq1AFh5SmjuCF3DotNyg40fkPgP0/3qJVVyfG5kM=; Received: from 194-208-208-245.tele.net ([194.208.208.245]:58477 helo=[127.0.1.1]) by lx20.hoststar.hosting with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1uwxyI-008cBW-Ts; Fri, 12 Sep 2025 09:13:27 +0200 From: Matthias Fend Date: Fri, 12 Sep 2025 09:13:20 +0200 Subject: [PATCH v2 1/5] libcamera: control_ids_core: Add flash controls MIME-Version: 1.0 Message-Id: <20250912-flash_reco-v2-1-d5bb80a2e619@emfend.at> References: <20250912-flash_reco-v2-0-d5bb80a2e619@emfend.at> In-Reply-To: <20250912-flash_reco-v2-0-d5bb80a2e619@emfend.at> To: libcamera-devel@lists.libcamera.org Cc: Matthias Fend X-Mailer: b4 0.14.2 X-Spam-Score: -1.0 X-Spam-Bar: - X-Spam-Report: Spam detection software, running on the system "lx20.hoststar.hosting", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi, even though the API contained here is considered too low-level and the series will therefore probably never be merged, I have nevertheless decided to include the feedback I have already received and s [...] Content analysis details: (-1.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: meson.build] 0.0 URIBL_DBL_BLOCKED_OPENDNS ADMINISTRATOR NOTICE: The query to dbl.spamhaus.org was blocked due to usage of an open resolver. See https://www.spamhaus.org/returnc/pub/ [URIs: meson.build] 0.0 URIBL_ZEN_BLOCKED_OPENDNS ADMINISTRATOR NOTICE: The query to zen.spamhaus.org was blocked due to usage of an open resolver. See https://www.spamhaus.org/returnc/pub/ [URIs: meson.build] -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP 0.0 Local_hs1_NotHoststar Sender is not from hoststar.ch|de|com 0.0 TVD_RCVD_IP Message was received from an IP address 0.0 KAM_DMARC_STATUS Test Rule for DKIM or SPF Failure with Strict Alignment 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: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Define a set of controls to control camera flash devices. Signed-off-by: Matthias Fend --- src/libcamera/control_ids_core.yaml | 78 +++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/src/libcamera/control_ids_core.yaml b/src/libcamera/control_ids_core.yaml index eec4b4f937ee6a2d751bb747e3b2d79dc16b7a3a..ff002accd771918b2618694ab14cda386997bc12 100644 --- a/src/libcamera/control_ids_core.yaml +++ b/src/libcamera/control_ids_core.yaml @@ -1284,4 +1284,82 @@ controls: The FrameWallClock control can only be returned in metadata. + - FlashMode: + type: int32_t + direction: inout + description: | + Flash operation mode. + enum: + - name: FlashModeNone + value: 0 + description: | + Flash is off and inactive. + - name: FlashModeFlash + value: 1 + description: | + The flash is active, but will only be switched on for a short time + by means of a trigger (software or external strobe). The maximum + switch-on time is limited by the FlashTimeout setting. + - name: FlashModeTorch + value: 2 + description: | + The flash is continuously on and active. Commonly referred to as + torch or video light mode. + + - FlashIntensity: + type: int32_t + direction: inout + description: | + Flash intensity in mA. Used when the flash is operated in flash mode. + + - FlashTimeout: + type: int32_t + direction: inout + description: | + Flash timeout in us. Determines the maximum flash switch-on time. After + this time has elapsed, the flash is switched off by the hardware, even + if a strobe is still active. + + - FlashStrobeSource: + type: int32_t + direction: inout + description: | + Flash strobe source. + enum: + - name: FlashStrobeSourceSoftware + value: 0 + description: | + The strobe signal is controlled via software using the FlashStrobe + control. + - name: FlashStrobeSourceExternal + value: 1 + description: | + The strobe signal is controlled by an external source. Typically, + this is done on the hardware by connecting the strobe source + directly to the flash controller. + + - FlashStrobe: + type: int32_t + direction: in + description: | + Start/stop flash strobe. Only possible if FlashStrobeSourceSoftware is + selcted as FlashStrobeSource. + + enum: + - name: FlashStrobeStart + value: 0 + description: | + Start flash strobe. + + - name: FlashStrobeStop + value: 1 + description: | + Stop flash strobe. + + - FlashTorchIntensity: + type: int32_t + direction: inout + description: | + Torch intensity in mA. Used when the flash is operated in torch mode. + ...