I2C Transactions Authentication
NVIDIA DRIVE OS SIPL camera software communicates with camera sensors over i2c during Init and Runtime (streaming) steps:
- At init time, default settings are pushed to a sensor over i2c bus before streaming can start.
- At runtime, image quality autocontrol algorithm in SIPL core can periodically decide to change sensor settings over i2c (exposure, white balance, and so on) based on changing lighting conditions.
Initialization time i2c transactions are performed when application calls the
INvSIPLCamera::Init()
method. Any failure to
authenticate i2c transactions during Init stage is seen by application as a
failure of INvSIPLCamera::Init()
call, and streaming will
not start.
At runtime (after camera streaming starts) SIPL manages optimal camera sensor settings
internally by controlling sensor via i2c bus, transparently to camera user
application. If i2c transactions fail,application is be notified through
SIPL notification queue. Refer to nvsipl::NvSIPLPipelineNotifier::NotificationType by
NOTIF_ERROR_CDI_SET_SENSOR_CTRL_FAILURE
event. I2C
authentication failure is treated like any other type of I2C transaction
error and is reported by the same event.
Application monitors the SIPL notification queue for
NOTIF_ERROR_CDI_SET_SENSOR_CTRL_FAILURE
events and
performs actions required to recover the camera link when failure
occurs.