NVIDIA DRIVE OS Linux SDK API Reference

6.0.3 Release
Camera Control Protocol

Detailed Description

Describes an API that uses the NVIDIA® Camera Control Protocol (NVCCP) to send messages from NVIDIA® Tegra® to AURIX MCU and receive acknowledgement back. For more information, search for "CCP" in NVIDIA DRIVE 5.0 Development Guide.

Enumerations

enum  nvccp_return_t {
  NVCCP_STATUS_OK = 0U,
  NVCCP_STATUS_DENIED,
  NVCCP_STATUS_NOT_REGISTERED,
  NVCCP_STATUS_ALREADY_ON,
  NVCCP_STATUS_ALREADY_OFF,
  NVCCP_STATUS_SLAVE_RUNNING,
  NVCCP_STATUS_I2C_OWNERSHIP_DENIED,
  NVCCP_REQ_FILE_OP_FAIL = 1000U,
  NVCCP_REQ_TIMEOUT,
  NVCCP_REQ_INVALID,
  NVCCP_REQ_DENIED,
  NVCCP_REQ_FAILED,
  NVCCP_REQ_CONNECT_ERR
}
 Defines values returned to the user library on a nvccp function call depicting the status. More...
 
enum  nvccp_cam_group_id {
  NVCCP_GROUP_A = 0x00U,
  NVCCP_GROUP_B = 0x01U,
  NVCCP_GROUP_C = 0x02U,
  NVCCP_GROUP_D = 0x03U
}
 Defines the camera group ID. More...
 
enum  nvccp_cam_id {
  NVCCP_CAM_A0 = 0x01U,
  NVCCP_CAM_A1 = 0x02U,
  NVCCP_CAM_A2 = 0x04U,
  NVCCP_CAM_A3 = 0x08U,
  NVCCP_CAM_B0 = 0x10U,
  NVCCP_CAM_B1 = 0x20U,
  NVCCP_CAM_B2 = 0x40U,
  NVCCP_CAM_B3 = 0x80U,
  NVCCP_CAM_C0 = 0x0100U,
  NVCCP_CAM_C1 = 0x0200U,
  NVCCP_CAM_C2 = 0x0400U,
  NVCCP_CAM_C3 = 0x0800U,
  NVCCP_CAM_D0 = 0x1000U,
  NVCCP_CAM_D1 = 0x2000U,
  NVCCP_CAM_D2 = 0x4000U,
  NVCCP_CAM_D3 = 0x8000U
}
 Defines the camera ID. More...
 
enum  nvccp_tegra_id {
  NVCCP_TEGRA_A = 0x41U,
  NVCCP_TEGRA_B = 0x42U
}
 Defines the tegra ID. More...
 
enum  nvccp_cam_mode {
  NVCCP_CAM_MASTER = 0x01U,
  NVCCP_CAM_SLAVE
}
 Defines the mode in which to request ownership (nvccp_request_ownership()) or release ownership (nvccp_release_ownership()). More...
 

Functions

nvccp_return_t nvccp_request_ownership (nvccp_cam_group_id cam_group, nvccp_cam_mode cam_master)
 Requests ownership for selected camera group. More...
 
nvccp_return_t nvccp_release_ownership (nvccp_cam_group_id cam_group, nvccp_cam_mode cam_master)
 Releases ownership for selected camera group. More...
 
nvccp_return_t nvccp_set_cam_pwr_on (nvccp_cam_group_id cam_group)
 Turns on power for all cameras in the aggregator. More...
 
nvccp_return_t nvccp_set_cam_pwr_off (nvccp_cam_group_id cam_group)
 Turns off power for all cameras in the aggregator. More...
 
nvccp_return_t nvccp_set_cam_unit_pwr_on (nvccp_cam_id cam_id)
 Turns on power for camera unit. More...
 
nvccp_return_t nvccp_set_cam_unit_pwr_off (nvccp_cam_id cam_id)
 Turns off power for camera unit. More...
 
nvccp_return_t nvccp_set_aggreg_pwr_on (nvccp_cam_group_id cam_group)
 Turns on power for camera aggregator. More...
 
nvccp_return_t nvccp_set_aggreg_pwr_off (nvccp_cam_group_id cam_group)
 Turns off power for camera aggregator. More...
 
nvccp_return_t nvccp_set_frsync_owner (nvccp_tegra_id tegra_id)
 Sets frame sync (frsync) owner. More...
 
nvccp_return_t nvccp_set_frsync_enable (nvccp_cam_group_id cam_group)
 Sets frsync enable. More...
 
nvccp_return_t nvccp_set_frsync_disable (nvccp_cam_group_id cam_group)
 Sets frsync disable. More...
 
nvccp_return_t nvccp_get_cam_unit_pwr_status (uint16_t *cam_id)
 Gets camera unit power status. More...
 
nvccp_return_t nvccp_get_aggreg_pwr_status (uint8_t *cam_group)
 Gets aggregator power status. More...
 
nvccp_return_t nvccp_get_frsync_enable_status (uint8_t *cam_group)
 Gets frsync enable status. More...
 

Enumeration Type Documentation

◆ nvccp_cam_group_id

Defines the camera group ID.

Enumerator
NVCCP_GROUP_A 
NVCCP_GROUP_B 
NVCCP_GROUP_C 
NVCCP_GROUP_D 

Definition at line 56 of file ccp.h.

◆ nvccp_cam_id

Defines the camera ID.

Enumerator
NVCCP_CAM_A0 
NVCCP_CAM_A1 
NVCCP_CAM_A2 
NVCCP_CAM_A3 
NVCCP_CAM_B0 
NVCCP_CAM_B1 
NVCCP_CAM_B2 
NVCCP_CAM_B3 
NVCCP_CAM_C0 
NVCCP_CAM_C1 
NVCCP_CAM_C2 
NVCCP_CAM_C3 
NVCCP_CAM_D0 
NVCCP_CAM_D1 
NVCCP_CAM_D2 
NVCCP_CAM_D3 

Definition at line 66 of file ccp.h.

◆ nvccp_cam_mode

Defines the mode in which to request ownership (nvccp_request_ownership()) or release ownership (nvccp_release_ownership()).

Enumerator
NVCCP_CAM_MASTER 
NVCCP_CAM_SLAVE 

Definition at line 101 of file ccp.h.

◆ nvccp_return_t

Defines values returned to the user library on a nvccp function call depicting the status.

Enumerator
NVCCP_STATUS_OK 
NVCCP_STATUS_DENIED 
NVCCP_STATUS_NOT_REGISTERED 
NVCCP_STATUS_ALREADY_ON 
NVCCP_STATUS_ALREADY_OFF 
NVCCP_STATUS_SLAVE_RUNNING 
NVCCP_STATUS_I2C_OWNERSHIP_DENIED 
NVCCP_REQ_FILE_OP_FAIL 
NVCCP_REQ_TIMEOUT 
NVCCP_REQ_INVALID 
NVCCP_REQ_DENIED 
NVCCP_REQ_FAILED 
NVCCP_REQ_CONNECT_ERR 

Definition at line 35 of file ccp.h.

◆ nvccp_tegra_id

Defines the tegra ID.

Enumerator
NVCCP_TEGRA_A 
NVCCP_TEGRA_B 

Definition at line 92 of file ccp.h.

Function Documentation

◆ nvccp_get_aggreg_pwr_status()

nvccp_return_t nvccp_get_aggreg_pwr_status ( uint8_t *  cam_group)

Gets aggregator power status.

Parameters
cam_groupThis will be filled with the aggregator power status
Return values
nvccp_return_t

◆ nvccp_get_cam_unit_pwr_status()

nvccp_return_t nvccp_get_cam_unit_pwr_status ( uint16_t *  cam_id)

Gets camera unit power status.

Parameters
cam_idThis will be filled with the camera power status
Return values
nvccp_return_t

◆ nvccp_get_frsync_enable_status()

nvccp_return_t nvccp_get_frsync_enable_status ( uint8_t *  cam_group)

Gets frsync enable status.

Parameters
cam_groupThis will be filled with frsync enable status
Return values
nvccp_return_t

◆ nvccp_release_ownership()

nvccp_return_t nvccp_release_ownership ( nvccp_cam_group_id  cam_group,
nvccp_cam_mode  cam_master 
)

Releases ownership for selected camera group.

Parameters
cam_groupAggregator ID (not a bitmask)
cam_masterrequested mode of operation from nvccp_cam_mode
Return values
nvccp_return_t

◆ nvccp_request_ownership()

nvccp_return_t nvccp_request_ownership ( nvccp_cam_group_id  cam_group,
nvccp_cam_mode  cam_master 
)

Requests ownership for selected camera group.

Parameters
cam_groupAggregator ID (not a bitmask)
cam_masterrequested mode of operation from nvccp_cam_mode
Return values
nvccp_return_t

◆ nvccp_set_aggreg_pwr_off()

nvccp_return_t nvccp_set_aggreg_pwr_off ( nvccp_cam_group_id  cam_group)

Turns off power for camera aggregator.

Parameters
cam_groupAggregator ID (not a bitmask)
Return values
nvccp_return_t

◆ nvccp_set_aggreg_pwr_on()

nvccp_return_t nvccp_set_aggreg_pwr_on ( nvccp_cam_group_id  cam_group)

Turns on power for camera aggregator.

Parameters
cam_groupAggregator ID (not a bitmask)
Return values
nvccp_return_t

◆ nvccp_set_cam_pwr_off()

nvccp_return_t nvccp_set_cam_pwr_off ( nvccp_cam_group_id  cam_group)

Turns off power for all cameras in the aggregator.

Parameters
cam_groupAggregator ID (not a bitmask)
Return values
nvccp_return_t

◆ nvccp_set_cam_pwr_on()

nvccp_return_t nvccp_set_cam_pwr_on ( nvccp_cam_group_id  cam_group)

Turns on power for all cameras in the aggregator.

Parameters
cam_groupAggregator ID (not a bitmask)
Return values
nvccp_return_t

◆ nvccp_set_cam_unit_pwr_off()

nvccp_return_t nvccp_set_cam_unit_pwr_off ( nvccp_cam_id  cam_id)

Turns off power for camera unit.

Parameters
cam_idcamera ID (not a bitmask)
Return values
nvccp_return_t

◆ nvccp_set_cam_unit_pwr_on()

nvccp_return_t nvccp_set_cam_unit_pwr_on ( nvccp_cam_id  cam_id)

Turns on power for camera unit.

Parameters
cam_idcamera ID (not a bitmask)
Return values
nvccp_return_t

◆ nvccp_set_frsync_disable()

nvccp_return_t nvccp_set_frsync_disable ( nvccp_cam_group_id  cam_group)

Sets frsync disable.

Parameters
cam_groupAggregator ID (not a bitmask)
Return values
nvccp_return_t

◆ nvccp_set_frsync_enable()

nvccp_return_t nvccp_set_frsync_enable ( nvccp_cam_group_id  cam_group)

Sets frsync enable.

Parameters
cam_groupAggregator ID (not a bitmask)
Return values
nvccp_return_t

◆ nvccp_set_frsync_owner()

nvccp_return_t nvccp_set_frsync_owner ( nvccp_tegra_id  tegra_id)

Sets frame sync (frsync) owner.

Parameters
tegra_idTegra ID
Return values
nvccp_return_t