{"id":24253,"url":"https://patchwork.libcamera.org/api/patches/24253/?format=json","web_url":"https://patchwork.libcamera.org/patch/24253/","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":"<20250828-flash-support-v1-1-4c5dc674a05b@emfend.at>","date":"2025-08-28T13:09:38","name":"[1/5] libcamera: control_ids_draft: Add flash controls","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"b4c9e29c42569ee524d10012f82ed5ac0dd5b1ee","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/24253/mbox/","series":[{"id":5410,"url":"https://patchwork.libcamera.org/api/series/5410/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5410","date":"2025-08-28T13:09:37","name":"Support for v4l2 flash devices","version":1,"mbox":"https://patchwork.libcamera.org/series/5410/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/24253/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/24253/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 5075FBD87C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 28 Aug 2025 13:09:50 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D818169300;\n\tThu, 28 Aug 2025 15:09:45 +0200 (CEST)","from lx20.hoststar.hosting (lx20.hoststar.hosting [168.119.41.54])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 20DD1692E1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 28 Aug 2025 15:09:43 +0200 (CEST)","from 194-208-208-245.tele.net ([194.208.208.245]:56023\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 1urcNq-00BORr-7n; Thu, 28 Aug 2025 15:09:42 +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=\"BR6+WkpH\"; 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=H97QC7t5K+/IG6ZeI3tIjt8VWvL8BCztQQL5WRs7ahY=;\n\tb=BR6+WkpHe0CTHWZkxGadS6O4DP\n\tobFTHKYrq8sB1upqBYpaMZ1hR+kqBGLQlaY8iskpzQsurQSdIpSvNJURhoPEe1od8k+xbMRt1Wbpa\n\tmjewzL6FevFzKp1Tx0bNmpU/lvTgdTMkt35aMKCZRmlmxXWT4Q5qerMhPQxVPIIBWTls=;","From":"Matthias Fend <matthias.fend@emfend.at>","Date":"Thu, 28 Aug 2025 15:09:38 +0200","Subject":"[PATCH 1/5] libcamera: control_ids_draft: Add flash controls","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","Message-Id":"<20250828-flash-support-v1-1-4c5dc674a05b@emfend.at>","References":"<20250828-flash-support-v1-0-4c5dc674a05b@emfend.at>","In-Reply-To":"<20250828-flash-support-v1-0-4c5dc674a05b@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: This series brings initial support for v4l2 flash\n\tdevices. With these patches,\n\tv4l2 flash devices can be controlled by applications\n\tvia libcamera controls. Applications therefore only require one API\n\tand do\n\tnot have to worry about details such as finding the [...] \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 TVD_RCVD_IP            Message was received from an IP address\n\t0.0 Local_hs1_NotHoststar  Sender is not from hoststar.ch|de|com\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_draft.yaml | 69 ++++++++++++++++++++++++++++++++++++\n 1 file changed, 69 insertions(+)","diff":"diff --git a/src/libcamera/control_ids_draft.yaml b/src/libcamera/control_ids_draft.yaml\nindex 03309eeac34fa76eee4bb5d1c87d6467b890c9a7..c10b774bfd59b26980475bb9706fffa6961b3b1b 100644\n--- a/src/libcamera/control_ids_draft.yaml\n+++ b/src/libcamera/control_ids_draft.yaml\n@@ -294,4 +294,73 @@ controls:\n         Currently identical to ANDROID_STATISTICS_FACE_IDS.\n       size: [n]\n \n+  - FlashMode:\n+      type: int32_t\n+      direction: inout\n+      description: |\n+        Flash mode.\n+      enum:\n+        - name: FlashModeNone\n+          value: 0\n+          description: |\n+            None.\n+        - name: FlashModeFlash\n+          value: 1\n+          description: |\n+            Flash.\n+        - name: FlashModeTorch\n+          value: 2\n+          description: |\n+            Torch.\n+\n+  - FlashIntensity:\n+      type: int32_t\n+      direction: inout\n+      description: |\n+        Flash intensity in mA.\n+\n+  - FlashTimeout:\n+      type: int32_t\n+      direction: inout\n+      description: |\n+        Flash timeout in us.\n+\n+  - FlashStrobeSource:\n+      type: int32_t\n+      direction: inout\n+      description: |\n+        Flash mode.\n+      enum:\n+        - name: FlashStrobeSourceSoftware\n+          value: 0\n+          description: |\n+            Software.\n+        - name: FlashStrobeSourceExternal\n+          value: 1\n+          description: |\n+            External.\n+\n+  - FlashStrobe:\n+      type: int32_t\n+      direction: in\n+      description: |\n+        Start/stop flash strobe.\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.\n+\n ...\n","prefixes":["1/5"]}