summaryrefslogtreecommitdiff
path: root/src/apps/cam/capture-script.yaml
blob: 7118865ee26a394d0ab55ecb04012a9aebee8dae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# SPDX-License-Identifier: CC0-1.0

# Capture script example
#
# A capture script allows to associate a list of controls and their values
# to frame numbers.
#
# The script allows defining a list of frames associated with controls
# and an optional list of properties that can control the script behaviour.

# properties:
#   # Repeat the controls every 'idx' frames.
#   - loop: idx
#
# # List of frame number with associated a list of controls to be applied
# frames:
#   - frame-number:
#       Control1: value1
#       Control2: value2

# \todo Formally define the capture script structure with a schema

# Notes:
# - Controls have to be specified by name, as defined in the
#   libcamera::controls:: enumeration
# - Controls not supported by the camera currently operated are ignored
# - Frame numbers shall be monotonically incrementing, gaps are allowed
# - If a loop limit is specified, frame numbers in the 'frames' list shall be
#   less than the loop control

# Example: Turn brightness up and down every 460 frames

properties:
  - loop: 460

frames:
  - 0:
      Brightness: 0.0

  - 40:
      Brightness: 0.2

  - 80:
      Brightness: 0.4

  - 120:
      Brightness: 0.8

  - 160:
      Brightness: 0.4

  - 200:
      Brightness: 0.2

  - 240:
      Brightness: 0.0

  - 280:
      Brightness: -0.2

  - 300:
      Brightness: -0.4

  - 340:
      Brightness: -0.8

  - 380:
      Brightness: -0.4

  - 420:
      Brightness: -0.2