Skip to content

Releases

v0.13.2

Choose a tag to compare

@github-actions github-actions released this 31 Oct 20:00
v0.13.2
1250967

Fixed

  • The daemon no longer broadcasts a state right after a change that still has the old zone, hand,
    start pose, preset, image, zoom and audio values. It now sends one state after the full read
    that follows the change, so a client's optimistic value is not pulled back for a second (#107).

v0.13.1

Choose a tag to compare

@github-actions github-actions released this 31 Oct 19:27
v0.13.1
365a1f2

Fixed

  • wake mode sets the tracking mode at power-on, not on waking from sleep; wake zoom had no
    observable effect on the Tiny 2 Lite, at power-on or on waking. README and help say so; command
    names and JSON keys are unchanged (#102).

v0.13.0

Choose a tag to compare

@github-actions github-actions released this 31 Oct 18:54
v0.13.0
69b6009

Added

  • presets ([{slot, name, pose}], null when the camera did not answer) in status and the
    daemon's state events. It is read with the zone and hand data, so a preset save|rename|delete
    through the daemon broadcasts the new list at once. Capability preset_state (#103).

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 31 Oct 18:18
v0.12.0
edf64cc

Added

  • zone view list|save|rename|delete|go stores, lists and goes to named poses in the camera
    (0x1344, 0x1384, 0x1544, 0x13c4, 0x1604); status.zone.views lists them. They are not
    exclusion areas, the camera does not track by them. Capability zone_views (#74).
  • hand area --pan MIN MAX --tilt MIN MAX and hand area-reset set the hand tracking area
    (0x2044..0x21c4) and put it back to the default (0x25c4..0x2684); hand gimbal on|off
    lets the hand tracker move the gimbal or holds it (0x26c4). Capabilities hand_area,
    hand_gimbal (#75).
  • hand pan on|off, hand tilt on|off and hand return-after <seconds> (0x2344, 0x23c4,
    0x2444); status.hand has pan_enabled, tilt_enabled and return_after. Capabilities
    hand_axes, hand_return_after (#85).

Fixed

  • zone on|off sends 0x08c4 only. 0x5084 has no handler in the firmware and the 100 ms pause
    was not needed: the camera followed 0x08c4 alone both ways (#81).
  • A reply without a data section (type 0x09, what the camera answers to the view list while it
    has none) counted as "no answer" and ran into the poll timeout; it now reads as empty.

Changed

  • zone.return stays a pose: the leading word of 0x4ec4 is the preset id, always 0, so the
    camera has no "not set" for it (#57).

v0.11.1

Choose a tag to compare

@github-actions github-actions released this 31 Oct 17:14
v0.11.1
97dbc85

Added

  • startup set --ai static|normal|upper-body|headless|group|none sets the AI mode of the initial
    state, alone (the pose stays) or with a pose. startup show and status.state.startup show it
    as ai_mode (null when not set). Capability startup_ai (#79).

Fixed

  • startup go left tracking suspended when the initial state had no AI mode, which is what
    startup set always wrote. startup set now keeps the mode of the initial state unless
    --ai is given, and the README says that startup go needs a mode there (#79).

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 31 Oct 16:26
v0.11.0
bdb6621

Added

  • speed-mode lazy|slow|normal|fast|very-fast|auto sets the finer tracking speed (0x0944) and
    speed headroom the third vertical tracking type (0x0cc4 = 1). status.framing reads the
    speed mode and the options below back. Capabilities speed_mode, speed_headroom (#64).
  • framing auto-zoom|size|zoom-speed|offset|part sets the options the AI modes are made of
    (0x0a44, 0x0ac4, 0x0b44, 0x0bc4 / 0x0c44, 0x1584); status.framing reads them back.
    Capability framing (#84).
  • gimbal rate --pan R --tilt R turns the gimbal at a speed until gimbal stop (0x6484, the
    joystick of OBSBOT Center; it does not limit absolute moves). The camera reverses its yaw when
    mirror xor invert is on, which obsbot4linux undoes. No capability gimbal_rate: the camera
    has no timeout, so a client that dies leaves it turning. Capability gimbal_stop (#78, #80).
  • gimbal --pan P --tilt T --speed S moves at S degrees per second (0x6544), zoom F --speed S
    zooms smoothly (0x6884) and zoom stop / gimbal stop stop (0x68c4, 0x6704). Capabilities
    gimbal_speed, zoom_speed (#80).
  • gimbal center X Y (0x0544), which moved the gimbal only toward the left and downwards in
    tests, see the README. Hidden from --help, no capability (#83).

Changed

  • status.tracking_speed can now be headroom: the camera value 1 of 0x0cc4 used to show as
    standard.

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 31 Oct 15:39
v0.10.0
2885f7c

Added

  • led blink on|off makes the status LED blink or burn steadily (short command 18). The status
    block does not carry it, so status cannot show it. led 0-3 is unchanged (#76).
  • exposure manual --time <1-2500> --gain <1-64> sets the shutter time and gain together with
    the switch to manual exposure, both range-checked first. The camera uses the shutter step at or
    below the time given. Capability exposure_values (#77).
  • audio volume <0-100> sets the microphone volume (0x8102); status has audio_volume
    (query 0x80c2). Capability audio_volume (#86).
  • wake zoom <1.0-4.0> sets the zoom after waking up and wake mode <mode> the tracking mode the
    camera starts in; both read back in status (wake_up_zoom_percent, default_work_mode).
    wake alone still wakes the camera. Capabilities wake_zoom, wake_mode (#87).
  • focus af continuous|single|manual sets the camera's own autofocus mode (0x3442) and
    focus point <x> <y> focuses once on a point (0x3582); status has focus with the mode,
    the manual position and the focus window (query 0x3642). Capabilities focus_af_mode,
    focus_point (#88).

Changed

  • image exposure_time is refused unless the exposure is manual, since a shutter time sent in
    automatic exposure freezes it; the error points to exposure manual --time.

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 31 Oct 13:30
v0.9.0
695a960

Added

  • firmware (e.g. 6.2.8.1, query 0x0408) and model_info (product, platform, query
    0x1948) in status and the state events, read once per connect; obsbot4linux status
    prints the firmware (through the daemon, from what it already read). The serial number and
    UUID are not read (#63).
  • startup show prints the start pose (0x3884) and the picture settings of the initial state
    (0x3e84) (#89). A set group shows the byte as read, a group that is not set is null.
  • status shows wake_up_zoom_percent, sleep_images and default_work_mode (#82).

Changed

  • status.anti_flicker is a name now (off, 50hz, 60hz, auto) instead of the V4L2
    number; the camera can report automatic detection, which was passed on as a bare 3 (#82).

Fixed

  • startup go no longer turns the next zone tracking return into Static. It sends the short
    command 00 instead of the framed 0x3904, which arms that flag in the camera (#79). The
    camera ignores the short command while asleep or with the gimbal locked. Found by static
    analysis of the firmware; the zone return itself is not yet checked on the camera.
  • The error code of a rejected query ("camera rejected query ...") was read from the wrong place.
    Those answers have a 16-byte header with the code (a signed 16-bit number, e.g. -3) in an
    extension; it is now read from there and shown in decimal (#62).

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 23:59
v0.8.0
45efb57

Changed

  • The daemon reads the live gimbal pose (0x0043) every second only while a client wants it.
    A watch connection asks with the request ["live-pose", "on"] (and "off"); the poll runs
    while at least one connection has it on, a closed connection counts as off, and a new one
    starts off. Without a subscriber pose in the state events changes only with the full read
    every 5 s, so fewer queries hold the camera lock. New capability live_pose_on_demand; clients
    that never ask no longer get a pose every second (#68).

v0.7.3

Choose a tag to compare

@github-actions github-actions released this 30 Oct 23:40
v0.7.3
2f94ddf

Fixed

  • With zone tracking and "follow new targets" on, the camera switched to Static each time the
    target left the area and the gimbal returned, instead of taking the next person. obsbot4linux
    caused it: the live pose came from the AI query 0x6604, polled every second, and every
    0x6604 arms a flag in the camera that turns the next return into Static. The pose now comes
    from the gimbal controller (0x0043), which does not set the flag and follows AI tracking just
    the same (#67).