summaryrefslogtreecommitdiff
path: root/src/libcamera/control_serializer.cpp
diff options
context:
space:
mode:
authorJacopo Mondi <jacopo@jmondi.org>2020-02-26 10:38:38 +0100
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-03-06 18:10:37 +0200
commit97cba0ebea6e553065f77f18471b3a5997c390d4 (patch)
tree5ae59ca67d9a86dae7cea6620b6baee200db0c7e /src/libcamera/control_serializer.cpp
parent8b12a161e0280c086dfc037570ab8aee4c16bdaf (diff)
libcamera: controls: Add support for byte controls
Add support for byte values to the control framework and to the control serializer. Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'src/libcamera/control_serializer.cpp')
-rw-r--r--src/libcamera/control_serializer.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/libcamera/control_serializer.cpp b/src/libcamera/control_serializer.cpp
index 5feaaa96..6c676811 100644
--- a/src/libcamera/control_serializer.cpp
+++ b/src/libcamera/control_serializer.cpp
@@ -153,6 +153,12 @@ void ControlSerializer::store(const ControlValue &value,
break;
}
+ case ControlTypeByte: {
+ uint8_t data = value.get<uint8_t>();
+ buffer.write(&data);
+ break;
+ }
+
case ControlTypeInteger32: {
int32_t data = value.get<int32_t>();
buffer.write(&data);
@@ -331,6 +337,12 @@ ControlValue ControlSerializer::load<ControlValue>(ControlType type,
return ControlValue(value);
}
+ case ControlTypeByte: {
+ uint8_t value;
+ b.read(&value);
+ return ControlValue(value);
+ }
+
case ControlTypeInteger32: {
int32_t value;
b.read(&value);