Files
video-setup/docs/cli/query_cli.md
mikael-lovqvists-claude-agent 44090c1d6d docs: write CLI docs for all 12 previously undocumented tools
Add docs/cli/ entries for:
  transport_cli, discovery_cli, config_cli, protocol_cli, query_cli,
  test_image_cli, xorg_cli, v4l2_view_cli, stream_send_cli,
  stream_recv_cli, reconciler_cli, controller_cli

Each doc covers: description, build instructions, full usage with all
options and defaults, example output, and a relationship note pointing
to related tools. controller_cli includes the display control IDs table
and notes its temporary status.

README.md: convert all CLI tool entries to links.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 00:45:27 +00:00

1.7 KiB

query_cli

An integration smoke test that combines discovery and protocol. Waits for a video node to appear on the local network, then sends an ENUM_DEVICES query and prints the results. Optionally enumerates controls on a specific device.


Build

From the repository root:

make cli

The binary is placed in build/cli/.


Usage

./query_cli [--timeout ms] [--controls device_index]
Option Default Description
--timeout ms 5000 How long to wait for a node to appear (milliseconds)
--controls idx After enumeration, also query controls for this device index

Example — query the first node found within 5 s:

./query_cli

Example output:

discovered: camera:0  192.168.1.42:8000
querying devices...
  media  /dev/media0  driver=unicam  model=unicam  bus=platform:fe801000.csi  (1 video node)
    [0] video  /dev/video0  entity=unicam-image  type=0x00010001  caps=[video-capture]  [capture]
  [1] standalone  /dev/video1  card=USB Camera

Example with controls:

./query_cli --controls 1
  ctrl  id=0x00980900  Brightness  int  min=0  max=255  step=1  default=128  current=127
  ctrl  id=0x00980901  Contrast    int  min=0  max=255  step=1  default=128  current=128
  ...

Relationship to the Video Routing System

query_cli is an end-to-end integration test: it exercises discovery, transport, and protocol in one shot. It is the simplest way to verify that a node is reachable and responding correctly to control requests before using controller_cli for full interaction.

See also: discovery_cli.md, controller_cli.md.