Show a patch.

GET /api/1.1/patches/19336/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 19336,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/19336/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/19336/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api",
        "name": "libcamera",
        "link_name": "libcamera",
        "list_id": "libcamera_core",
        "list_email": "libcamera-devel@lists.libcamera.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": ""
    },
    "msgid": "<20231221150157.584264-3-jacopo.mondi@ideasonboard.com>",
    "date": "2023-12-21T15:01:57",
    "name": "[libcamera-devel,2/2,DNI] apps: cam: Print require properties",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "d1b85919457484c778c3ef76a26d19a68dabeca7",
    "submitter": {
        "id": 143,
        "url": "https://patchwork.libcamera.org/api/1.1/people/143/?format=api",
        "name": "Jacopo Mondi",
        "email": "jacopo.mondi@ideasonboard.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/19336/mbox/",
    "series": [
        {
            "id": 4124,
            "url": "https://patchwork.libcamera.org/api/1.1/series/4124/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4124",
            "date": "2023-12-21T15:01:55",
            "name": "libcamera: Add support for required controls",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/4124/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/19336/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/19336/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 A1F7BC3237\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 21 Dec 2023 15:02:13 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id F047562B54;\n\tThu, 21 Dec 2023 16:02:11 +0100 (CET)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 962B4629E3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 21 Dec 2023 16:02:08 +0100 (CET)",
            "from localhost.localdomain (93-61-96-190.ip145.fastwebnet.it\n\t[93.61.96.190])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 79366480;\n\tThu, 21 Dec 2023 16:01:17 +0100 (CET)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1703170932;\n\tbh=nbto4KP/kZWxXY/EYfVIB391jC7kQMOPG4vaFwF2H1E=;\n\th=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=KJuOOAqQhhi+UqW8e5kZf3tkS/tD+bCoZOBxV9y+r/iOl9Dwal9gzqGRPaK/qnhxr\n\tZz3vXIjOJKgTm3KJR+Awe3HLHQk1ZQzAUsw2L6fOZZq3n8m7CHYMYOB0F5fMGQ3khI\n\tAe2H+G+LarVZmD5bfFKUDB6e5Fz1DHATUpyRVJOCpdZBvYAUilwZZbq+8LFVQ7z7I6\n\teVc7xqceuf60zxfBqU3RFNU4gCX0AI81Xkazq0ESO8K8JQ3f5kbME8tLk/R6NVNeNc\n\tEe2BxTExhSA3kpBDRqCDflP+JYxJojm0+/hZUvUNVDa2tVRg7QtbA2nfaxxSJbTNaR\n\tdc2ET3Wcy2NJQ==",
            "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1703170877;\n\tbh=nbto4KP/kZWxXY/EYfVIB391jC7kQMOPG4vaFwF2H1E=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=OTMiBQ1x+7v2odzXprffSJitLF672VZ+ZoBhkTW3hMB0zDL0Bs894/xnEgSqxKpZQ\n\t7D4jwB2zngn/+hrQZT7fZ3AJB3DRBWYWLFqlAl7aB68T9MKPJLX28XSLtyZulVd8Qp\n\tORC1q66tbXuKeIKLhj9x1IWX1L4Rub0mDgNKBylI="
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"OTMiBQ1x\"; dkim-atps=neutral",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Thu, 21 Dec 2023 16:01:57 +0100",
        "Message-ID": "<20231221150157.584264-3-jacopo.mondi@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.41.0",
        "In-Reply-To": "<20231221150157.584264-1-jacopo.mondi@ideasonboard.com>",
        "References": "<20231221150157.584264-1-jacopo.mondi@ideasonboard.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH 2/2] [DNI] apps: cam: Print require\n\tproperties",
        "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>",
        "From": "Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>",
        "Reply-To": "Jacopo Mondi <jacopo.mondi@ideasonboard.com>",
        "Cc": "Jacopo Mondi <jacopo.mondi@ideasonboard.com>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "Do not include, only to validate the implementation.\n\nWhen run on a VIMC camera:\n\n$ ./build/src/apps/cam/cam -c1 -p\n  Using camera platform/vimc.0 Sensor B as cam0\n  Property: SystemDevices = [ 20740, 20741, 20742 ]\n  Property: PixelArrayActiveAreas = [ (0, 0)/4096x2160 ]\n  Property: PixelArraySize = 4096x2160\n  Property: Rotation = 0 [REQUIRED]\n  Property: Model = Sensor B\n\nSigned-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n---\n src/apps/cam/camera_session.cpp      | 3 ++-\n src/libcamera/property_ids_core.yaml | 2 ++\n 2 files changed, 4 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/src/apps/cam/camera_session.cpp b/src/apps/cam/camera_session.cpp\nindex 8447f932dfc7..d78ab2c1834c 100644\n--- a/src/apps/cam/camera_session.cpp\n+++ b/src/apps/cam/camera_session.cpp\n@@ -165,7 +165,8 @@ void CameraSession::listProperties() const\n \t\tconst ControlId *id = properties::properties.at(key);\n \n \t\tstd::cout << \"Property: \" << id->name() << \" = \"\n-\t\t\t  << value.toString() << std::endl;\n+\t\t\t  << value.toString()\n+\t\t\t  << (id->required() ? \" [REQUIRED]\" : \"\") << std::endl;\n \t}\n }\n \ndiff --git a/src/libcamera/property_ids_core.yaml b/src/libcamera/property_ids_core.yaml\nindex 834454a4e087..f9e82c421693 100644\n--- a/src/libcamera/property_ids_core.yaml\n+++ b/src/libcamera/property_ids_core.yaml\n@@ -8,6 +8,7 @@ vendor: libcamera\n controls:\n   - Location:\n       type: int32_t\n+      required: true\n       description: |\n         Camera mounting location\n       enum:\n@@ -29,6 +30,7 @@ controls:\n \n   - Rotation:\n       type: int32_t\n+      required: true\n       description: |\n         The camera physical mounting rotation. It is expressed as the angular\n         difference in degrees between two reference systems, one relative to the\n",
    "prefixes": [
        "libcamera-devel",
        "2/2",
        "DNI"
    ]
}