summaryrefslogtreecommitdiff
path: root/src/libcamera/control_serializer.cpp
diff options
context:
space:
mode:
authorJacopo Mondi <jacopo@jmondi.org>2020-01-09 14:31:00 +0100
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-03-06 18:10:32 +0200
commit8b12a161e0280c086dfc037570ab8aee4c16bdaf (patch)
tree9427ef1f136db9620b1602da3d85309ca6abd4d7 /src/libcamera/control_serializer.cpp
parentabd96336ed0f4e4a109d9742ee5f39388654ef22 (diff)
libcamera: controls: Add support for float controls
Add support for float values in Control<> and ControlValue classes. 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 2b66ab97..5feaaa96 100644
--- a/src/libcamera/control_serializer.cpp
+++ b/src/libcamera/control_serializer.cpp
@@ -165,6 +165,12 @@ void ControlSerializer::store(const ControlValue &value,
break;
}
+ case ControlTypeFloat: {
+ float data = value.get<float>();
+ buffer.write(&data);
+ break;
+ }
+
default:
break;
}
@@ -337,6 +343,12 @@ ControlValue ControlSerializer::load<ControlValue>(ControlType type,
return ControlValue(value);
}
+ case ControlTypeFloat: {
+ float value;
+ b.read(&value);
+ return ControlValue(value);
+ }
+
default:
return ControlValue();
}