I implemented support for running custom CCI commands. Format is as follows:
On the CUSTOM_UVC extension unit there are 5 controls:
CUST_CONTROL_COMMAND, read/write (516 bytes)
sets up the current custom command of the form:
(2 bytes) command-id
(2 bytes) command-length (in bytes, not lepton 16bit words)
(512 bytes) (optional) command-data
CUST_CONTROL_GET, readonly
runs the current custom command as get and returns the data and the error code
CUST_CONTROL_SET, readonly
runs the current custom command as set and returns the error code
CUST_CONTROL_RUN, readonly
runs the current custom command as run and returns the error code
CUST_CONTROL_DIRECT_WRITE, readonly
writes directly to the register at address command-id (possibly the buffer) length bytes from the command-data field and returns the error code
CUST_CONTROL_DIRECT_READ, readonly
reads directly to the register at address command-id (possibly the buffer) length bytes and returns the error code followed by the length and the data
@kekiefer Do you have any design suggestions or do you think this is good as is? We need support for running arbitrary commands and in some cases getting rich error codes.
I implemented support for running custom CCI commands. Format is as follows:
On the CUSTOM_UVC extension unit there are 5 controls:
@kekiefer Do you have any design suggestions or do you think this is good as is? We need support for running arbitrary commands and in some cases getting rich error codes.