[PATCH v1] apps: cam: Highlight default enumerator
Barnabás Pőcze
barnabas.pocze at ideasonboard.com
Mon Mar 17 19:11:41 CET 2025
Print "[default]" after the default enumerator when listing controls.
Example:
$ cam -c 1 --list-controls
[...]
Control: [inout] libcamera::ExposureTimeMode:
- ExposureTimeModeAuto (0) [default]
- ExposureTimeModeManual (1)
Signed-off-by: Barnabás Pőcze <barnabas.pocze at ideasonboard.com>
---
src/apps/cam/camera_session.cpp | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/apps/cam/camera_session.cpp b/src/apps/cam/camera_session.cpp
index 9e9348277..8a555339c 100644
--- a/src/apps/cam/camera_session.cpp
+++ b/src/apps/cam/camera_session.cpp
@@ -8,6 +8,7 @@
#include <iomanip>
#include <iostream>
#include <limits.h>
+#include <optional>
#include <sstream>
#include <libcamera/control_ids.h>
@@ -173,6 +174,11 @@ void CameraSession::listControls() const
std::cout << "Control: " << io.str()
<< id->vendor() << "::" << id->name() << ":"
<< std::endl;
+
+ std::optional<int32_t> def;
+ if (!info.def().isNone())
+ def = info.def().get<int32_t>();
+
for (const auto &value : info.values()) {
int32_t val = value.get<int32_t>();
const auto &it = id->enumerators().find(val);
@@ -182,7 +188,10 @@ void CameraSession::listControls() const
std::cout << "UNKNOWN";
else
std::cout << it->second;
- std::cout << " (" << val << ")" << std::endl;
+
+ std::cout << " (" << val << ")"
+ << (val == def ? " [default]" : "")
+ << std::endl;
}
}
--
2.49.0
More information about the libcamera-devel
mailing list