mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-25 09:35:06 +03:00
libcamera: controls: Add a 'size' yaml property
Add a 'size' property to the control yaml description, to convey the size constraints of array controls. The semantics of the property contents is currently unspecified, but its presence triggers the generation of an array control (Control<Span<const T>>). Example: - BayerGains: type: float description: Gains to apply to the four Bayer colour components for white balance size: [4] 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>
This commit is contained in:
parent
3556ae95ec
commit
abd96336ed
1 changed files with 12 additions and 2 deletions
|
@ -42,9 +42,14 @@ ${description}
|
|||
name, ctrl = ctrl.popitem()
|
||||
id_name = snake_case(name).upper()
|
||||
|
||||
if ctrl.get('size'):
|
||||
ctrl_type = 'Span<const %s>' % ctrl['type']
|
||||
else:
|
||||
ctrl_type = ctrl['type']
|
||||
|
||||
info = {
|
||||
'name': name,
|
||||
'type': ctrl['type'],
|
||||
'type': ctrl_type,
|
||||
'description': format_description(ctrl['description']),
|
||||
'id_name': id_name,
|
||||
}
|
||||
|
@ -92,9 +97,14 @@ def generate_h(controls):
|
|||
|
||||
ids.append('\t' + id_name + ' = ' + str(id_value) + ',')
|
||||
|
||||
if ctrl.get('size'):
|
||||
ctrl_type = 'Span<const %s>' % ctrl['type']
|
||||
else:
|
||||
ctrl_type = ctrl['type']
|
||||
|
||||
info = {
|
||||
'name': name,
|
||||
'type': ctrl['type'],
|
||||
'type': ctrl_type,
|
||||
}
|
||||
|
||||
enum = ctrl.get('enum')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue