{"id":24342,"url":"https://patchwork.libcamera.org/api/patches/24342/?format=json","web_url":"https://patchwork.libcamera.org/patch/24342/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20250912-flash_reco-v2-1-d5bb80a2e619@emfend.at>","date":"2025-09-12T07:13:20","name":"[v2,1/5] libcamera: control_ids_core: Add flash controls","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"d8bf9732ac33dd168c0411d3d7bbe047cfaccd51","submitter":{"id":134,"url":"https://patchwork.libcamera.org/api/people/134/?format=json","name":"Matthias Fend","email":"matthias.fend@emfend.at"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/24342/mbox/","series":[{"id":5437,"url":"https://patchwork.libcamera.org/api/series/5437/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5437","date":"2025-09-12T07:13:19","name":"Support for v4l2 flash devices","version":2,"mbox":"https://patchwork.libcamera.org/series/5437/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/24342/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/24342/checks/","tags":{},"headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 87AA3C324E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 12 Sep 2025 07:13:35 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id EBC1F6937C;\n\tFri, 12 Sep 2025 09:13:30 +0200 (CEST)","from lx20.hoststar.hosting (lx20.hoststar.hosting [168.119.41.54])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DA00A69367\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 12 Sep 2025 09:13:27 +0200 (CEST)","from 194-208-208-245.tele.net ([194.208.208.245]:58477\n\thelo=[127.0.1.1]) by lx20.hoststar.hosting with esmtpsa (TLS1.3) tls\n\tTLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93)\n\t(envelope-from <matthias.fend@emfend.at>)\n\tid 1uwxyI-008cBW-Ts; Fri, 12 Sep 2025 09:13:27 +0200"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=emfend.at header.i=@emfend.at\n\theader.b=\"immUFJvK\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=emfend.at;\n\ts=mail;\n\th=Cc:To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding:\n\tContent-Type:MIME-Version:Subject:Date:From:Sender:Reply-To:Content-ID:\n\tContent-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc\n\t:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:\n\tList-Post:List-Owner:List-Archive;\n\tbh=KQsC75uuP4DwcLLrq18CcYCoHNSKbcjVDM5DUBjfD3k=;\n\tb=immUFJvKHHxq6r8NfloLNHeP84\n\taCXXu20xpuVMZ7lmR+5kaxHiqwcvr+0uDELczED1ZEHK7uEaAgORdhSfS+FbjYgVEuAlLiiSZzaBH\n\t2pTTPNLVI5VvBzHDcHMMc3+RRuJViq1AFh5SmjuCF3DotNyg40fkPgP0/3qJVVyfG5kM=;","From":"Matthias Fend <matthias.fend@emfend.at>","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","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","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 <matthias.fend@emfend.at>","X-Mailer":"b4 0.14.2","X-Spam-Score":"-1.0","X-Spam-Bar":"-","X-Spam-Report":"Spam detection software,\n\trunning on the system \"lx20.hoststar.hosting\", \n\thas NOT identified this incoming email as spam.  The original\n\tmessage has been attached to this so you can view it or label\n\tsimilar future email.  If you have any questions, see\n\tthe administrator of that system for details.\n\tContent preview:  Hi,\n\teven though the API contained here is considered too low-level\n\tand the series will therefore probably never be merged,\n\tI have nevertheless\n\tdecided to include the feedback I have already received and s [...] \n\tContent analysis details:   (-1.0 points, 5.0 required)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was\n\tblocked.  See\n\thttp://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block\n\tfor more information. [URIs: meson.build]\n\t0.0 URIBL_DBL_BLOCKED_OPENDNS ADMINISTRATOR NOTICE: The query to\n\tdbl.spamhaus.org was blocked due to usage\n\tof an open resolver. See https://www.spamhaus.org/returnc/pub/\n\t[URIs: meson.build]\n\t0.0 URIBL_ZEN_BLOCKED_OPENDNS ADMINISTRATOR NOTICE: The query to\n\tzen.spamhaus.org was blocked due to usage\n\tof an open resolver. See https://www.spamhaus.org/returnc/pub/\n\t[URIs: meson.build]\n\t-1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP\n\t0.0 Local_hs1_NotHoststar  Sender is not from hoststar.ch|de|com\n\t0.0 TVD_RCVD_IP            Message was received from an IP address\n\t0.0 KAM_DMARC_STATUS Test Rule for DKIM or SPF Failure with Strict\n\tAlignment","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Define a set of controls to control camera flash devices.\n\nSigned-off-by: Matthias Fend <matthias.fend@emfend.at>\n---\n src/libcamera/control_ids_core.yaml | 78 +++++++++++++++++++++++++++++++++++++\n 1 file changed, 78 insertions(+)","diff":"diff --git a/src/libcamera/control_ids_core.yaml b/src/libcamera/control_ids_core.yaml\nindex eec4b4f937ee6a2d751bb747e3b2d79dc16b7a3a..ff002accd771918b2618694ab14cda386997bc12 100644\n--- a/src/libcamera/control_ids_core.yaml\n+++ b/src/libcamera/control_ids_core.yaml\n@@ -1284,4 +1284,82 @@ controls:\n \n         The FrameWallClock control can only be returned in metadata.\n \n+  - FlashMode:\n+      type: int32_t\n+      direction: inout\n+      description: |\n+        Flash operation mode.\n+      enum:\n+        - name: FlashModeNone\n+          value: 0\n+          description: |\n+            Flash is off and inactive.\n+        - name: FlashModeFlash\n+          value: 1\n+          description: |\n+            The flash is active, but will only be switched on for a short time\n+            by means of a trigger (software or external strobe). The maximum\n+            switch-on time is limited by the FlashTimeout setting.\n+        - name: FlashModeTorch\n+          value: 2\n+          description: |\n+            The flash is continuously on and active. Commonly referred to as\n+            torch or video light mode.\n+\n+  - FlashIntensity:\n+      type: int32_t\n+      direction: inout\n+      description: |\n+        Flash intensity in mA. Used when the flash is operated in flash mode.\n+\n+  - FlashTimeout:\n+      type: int32_t\n+      direction: inout\n+      description: |\n+        Flash timeout in us. Determines the maximum flash switch-on time. After\n+        this time has elapsed, the flash is switched off by the hardware, even\n+        if a strobe is still active.\n+\n+  - FlashStrobeSource:\n+      type: int32_t\n+      direction: inout\n+      description: |\n+        Flash strobe source.\n+      enum:\n+        - name: FlashStrobeSourceSoftware\n+          value: 0\n+          description: |\n+            The strobe signal is controlled via software using the FlashStrobe\n+            control.\n+        - name: FlashStrobeSourceExternal\n+          value: 1\n+          description: |\n+            The strobe signal is controlled by an external source. Typically,\n+            this is done on the hardware by connecting the strobe source\n+            directly to the flash controller.\n+\n+  - FlashStrobe:\n+      type: int32_t\n+      direction: in\n+      description: |\n+        Start/stop flash strobe. Only possible if FlashStrobeSourceSoftware is\n+        selcted as FlashStrobeSource.\n+\n+      enum:\n+        - name: FlashStrobeStart\n+          value: 0\n+          description: |\n+            Start flash strobe.\n+\n+        - name: FlashStrobeStop\n+          value: 1\n+          description: |\n+            Stop flash strobe.\n+\n+  - FlashTorchIntensity:\n+      type: int32_t\n+      direction: inout\n+      description: |\n+        Torch intensity in mA. Used when the flash is operated in torch mode.\n+\n ...\n","prefixes":["v2","1/5"]}