Write the driver
A driver is a .so plugin against a stable C ABI. Six functions, one header, about 200 lines for a complete one. It needs neither our language nor our build system, and it keeps working across our releases.
We define one canonical command vocabulary and refuse to let vendor shapes cross the bus. That refusal is the invitation: implement the vocabulary once, in your own language, on your own schedule, and your camera behaves like a first-class citizen here.
A driver is a .so plugin against a stable C ABI. Six functions, one header, about 200 lines for a complete one. It needs neither our language nor our build system, and it keeps working across our releases.
Answer the canonical vocabulary over REST — POST /v1/<cmd>, self-describing through /v1/help — and no driver is needed at all. The camera is supported the moment it ships.
/v1/help, excerpted. There is a JSON form of the same index, so a driver can validate the surface at startup.We ship a synthetic camera that accepts only canonical vocabulary. Test against it and the verdict is unambiguous: if your driver fails there, it is still speaking vendor. Nothing about your firmware has to change to find that out.
The ABI header and a complete demo driver are published documents
CCTV_ABI_VERSION 1 · CCTV_V1_N_OPS 6 · src/include/cam_abi.h
Because the work is small, it is yours to keep, and it does not tie you to us. There is no per-unit fee to try, no toolchain to adopt and no certification to buy before you can test. What a listing or a certification programme eventually looks like is a conversation, and we would rather have it after your driver already works.