Escriba el driver
Un driver es un plugin .so sobre una ABI de C estable. Seis funciones, una cabecera, unas 200 líneas para uno completo. No requiere nuestro lenguaje ni nuestro sistema de compilación, y sigue funcionando entre nuestras versiones.
Definimos un vocabulario de comandos canónico y no dejamos que las formas propias de cada fabricante crucen el bus. Ese rechazo es la invitación: implemente el vocabulario una vez, en su lenguaje y en su calendario, y su cámara será ciudadana de primera aquí.
Un driver es un plugin .so sobre una ABI de C estable. Seis funciones, una cabecera, unas 200 líneas para uno completo. No requiere nuestro lenguaje ni nuestro sistema de compilación, y sigue funcionando entre nuestras versiones.
Responda al vocabulario canónico por REST — POST /v1/<cmd>, autodescrito en /v1/help — y no hace falta ningún driver. La cámara queda soportada el día que sale.
/v1/help de la cámara de referencia, en extracto. Existe una versión JSON del mismo índice, para que un controlador valide la superficie al arrancar.Incluimos una cámara sintética que acepta solo vocabulario canónico. Pruebe contra ella y el veredicto es inequívoco: si su driver falla ahí, sigue hablando en dialecto propio. No hace falta cambiar nada de su firmware para averiguarlo.
La cabecera de la ABI y un driver de demostración completo son documentos públicos
CCTV_ABI_VERSION 1 · CCTV_V1_N_OPS 6 · src/include/cam_abi.h
Porque el trabajo es pequeño, es suyo y no le ata a nosotros. No hay tarifa por unidad para probar, ni cadena de herramientas que adoptar, ni certificación que comprar antes de poder probar. Cómo será finalmente un listado o un programa de certificación es una conversación, y preferimos tenerla cuando su driver ya funcione.