The class of custom interfaces in Sensor IMX623.
Definition at line 43 of file IMX623_CustomInterface.hpp.
◆ IMX623_CustomInterface() [1/3]
nvsipl::IMX623_CustomInterface::IMX623_CustomInterface |
( |
| ) |
|
|
protecteddefault |
◆ IMX623_CustomInterface() [2/3]
◆ IMX623_CustomInterface() [3/3]
◆ ~IMX623_CustomInterface()
nvsipl::IMX623_CustomInterface::~IMX623_CustomInterface |
( |
| ) |
|
|
protecteddefault |
◆ CameraModulePowerOff()
virtual SIPLStatus nvsipl::IMX623_CustomInterface::CameraModulePowerOff |
( |
void |
| ) |
|
|
pure virtual |
To power off camera module.
This function is used to power off camera module.
- Return values
-
NVSIPL_STATUS_OK | Power state set successfully. |
NVSIPL_STATUS_NOT_SUPPORTED | Custom Interface function not supported. |
(SIPLStatus) | Any errors from dependencies. |
Usage considerations
- Allowed context for the API call
- Interrupt handler: No
- Signal handler: No
- Thread-safe: No
- Re-entrant: No
- Async/Sync: Sync
- Required privileges: Yes, with the following conditions:
- Grants: nonroot, allow
- Abilities: public_channel
- Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
- API group
- Init: No
- Runtime: Yes
- De-Init: No
◆ ControlDeserLink()
virtual SIPLStatus nvsipl::IMX623_CustomInterface::ControlDeserLink |
( |
bool const |
enable | ) |
|
|
pure virtual |
Control deserializer link.
This function is used to enable or disable the deserializer link to this camera module.
- Precondition
- A valid deserializer object created with CNvMDeserializer_Create().
- A valid camera module object created with CNvMCameraModule_Create().
- Must be called after CNvMDeserializer::Init() and CNvMCameraModule::Init().
- Parameters
-
[in] | enable | enable specifies the action to be performed for the deserializer link. Valid range: [true, false]. |
- Return values
-
NVSIPL_STATUS_OK | Deserializer link controlled successfully. |
NVSIPL_STATUS_NOT_SUPPORTED | Custom Interface function not supported. |
(SIPLStatus) | Any errors from dependencies. |
Usage considerations
- Allowed context for the API call
- Interrupt handler: No
- Signal handler: No
- Thread-safe: No
- Re-entrant: No
- Async/Sync: Sync
- Required privileges: Yes, with the following conditions:
- Grants: nonroot, allow
- Abilities: public_channel
- Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
- API group
- Init: No
- Runtime: Yes
- De-Init: No
◆ getClassInterfaceID()
static const UUID& nvsipl::IMX623_CustomInterface::getClassInterfaceID |
( |
| ) |
|
|
inlinestatic |
Get Sensor IMX623 class custom interface ID.
This function is used by application to get sensor's custom interface ID. Application can use this ID to get the interface of the class.
- Precondition
- None.
- Return values
-
Definition at line 58 of file IMX623_CustomInterface.hpp.
References nvsipl::IMX623_CUSTOM_INTERFACE_ID().
◆ getInstanceInterfaceID()
const UUID& nvsipl::IMX623_CustomInterface::getInstanceInterfaceID |
( |
| ) |
const |
|
inlineoverridevirtualnoexcept |
◆ GetSensorTemperature()
Get Sensor temperature.
This function is used by the application to get sensor temperature
- Parameters
-
[out] | sensorTempInfo | Pointer to structure DevBlkCDITemperature to store sensor temperature data. Valid range : [non-NULL]. |
- Return values
-
NVSIPL_STATUS_OK | Success |
NVSIPL_STATUS_NOT_SUPPORTED | Custom Interface function not supported. |
NVSIPL_STATUS_BAD_ARGUMENT | Argument validation failed |
NVSIPL_STATUS_ERROR | Any errors from dependencies. |
Usage considerations
- Allowed context for the API call
- Interrupt handler: No
- Signal handler: No
- Thread-safe: No
- Re-entrant: No
- Async/Sync: Sync
- Required privileges: Yes, with the following conditions:
- Grants: nonroot, allow
- Abilities: public_channel
- Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
- API group
- Init: No
- Runtime: Yes
- De-Init: No
◆ GetSerializerTemperature()
Get MAX96717F Serializer Temperature data.
MAX96717F Serializer has two temperature sensors. This function returns serializer temperature sensor data.
- Parameters
-
[out] | serTempInfo | Pointer to structure DevBlkCDITemperature to store serializer temperature data. Valid range : [non-NULL]. |
- Return values
-
NVSIPL_STATUS_OK | Serializer temperature information read successfully. |
NVSIPL_STATUS_NOT_SUPPORTED | Custom Interface function not supported. |
NVSIPL_STATUS_BAD_ARGUMENT | Input parameter validation failed. |
(SIPLStatus) | Any errors from dependencies. |
Usage considerations
- Allowed context for the API call
- Interrupt handler: No
- Signal handler: No
- Thread-safe: No
- Re-entrant: No
- Async/Sync: Sync
- Required privileges: Yes, with the following conditions:
- Grants: nonroot, allow
- Abilities: public_channel
- Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
- API group
- Init: No
- Runtime: Yes
- De-Init: No
◆ GetSerializerVideoStatus()
virtual SIPLStatus nvsipl::IMX623_CustomInterface::GetSerializerVideoStatus |
( |
MAX96717FVideoStatus *const |
customErrInfo | ) |
const |
|
pure virtual |
Get serializer's video status.
This function is used to get serializer's video status by reading OVERFLOW bit, TUN_FIFO_OVERFLOW bit and PCLK detected (PCLKDET) bit status which related to the health of the video transmitted from the serializer. This API is virtual function and will be overridden by other implementation.
- Precondition
- The serializer should be in streaming state for video input.
- Parameters
-
[out] | customErrInfo | Pointer to struct MAX96717FVideoStatus which contains status of serializer OVERFLOW bit, TUN_FIFO_OVERFLOW bit and PCLKDET bit. Valid range : [non-NULL]. |
- Return values
-
NVSIPL_STATUS_OK | If the video transmitted from the serializer is healthy. |
NVSIPL_STATUS_BAD_ARGUMENT | Input parameter validation failed. |
(SIPLStatus) | Any errors from dependencies. |
Usage considerations
- Allowed context for the API call
- Interrupt handler: No
- Signal handler: No
- Thread-safe: No
- Re-entrant: No
- Async/Sync: Sync
- Required privileges: Yes, with the following conditions:
- Grants: nonroot, allow
- Abilities: public_channel
- Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
- API group
- Init: No
- Runtime: Yes
- De-Init: No
◆ IMX623I2CCMACIntegrityCheck()
virtual SIPLStatus nvsipl::IMX623_CustomInterface::IMX623I2CCMACIntegrityCheck |
( |
void |
| ) |
const |
|
pure virtual |
Perform I2C CMAC integrity check.
This function is used to verify the I2C communication by comparing calculated CMAC with the expected CMAC from sensor.
- Precondition
- A valid camera module object must be created and powered on.
- Parameters
-
- Return values
-
NVSIPL_STATUS_OK | If successfully able to check IMX623's I2C CMAC integrity. |
NVSIPL_STATUS_ERROR | I2C CMAC integrity check failed or any |
errors | from dependencies. |
Usage considerations
- Allowed context for the API call
- Interrupt handler: No
- Signal handler: No
- Thread-safe: No
- Re-entrant: No
- Async/Sync: Sync
- Required privileges: Yes, with the following conditions:
- Grants: nonroot, allow
- Abilities: public_channel
- Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
- API group
- Init: Yes
- Runtime: No
- De-Init: No
◆ IMX623I2CCRCIntegrityCheck()
virtual SIPLStatus nvsipl::IMX623_CustomInterface::IMX623I2CCRCIntegrityCheck |
( |
void |
| ) |
const |
|
pure virtual |
Perform I2C CRC integrity check.
This function is used to verify the I2C communication by comparing calculated CRC with the expected CRC from sensor.
- Precondition
- A valid camera module object must be created and powered on.
- Parameters
-
- Return values
-
NVSIPL_STATUS_OK | If successfully able to check IMX623's I2C CRC integrity. |
NVSIPL_STATUS_ERROR | I2C CRC integrity check failed or any |
errors | from dependencies. |
Usage considerations
- Allowed context for the API call
- Interrupt handler: No
- Signal handler: No
- Thread-safe: No
- Re-entrant: No
- Async/Sync: Sync
- Required privileges: Yes, with the following conditions:
- Grants: nonroot, allow
- Abilities: public_channel
- Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
- API group
- Init: Yes
- Runtime: No
- De-Init: No
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ ParseCustomEmbeddedData()
virtual SIPLStatus nvsipl::IMX623_CustomInterface::ParseCustomEmbeddedData |
( |
uint8_t const *const |
embeddedBufTop, |
|
|
uint32_t const |
embeddedBufTopSize, |
|
|
IMX623CustomEmbeddedData *const |
customEmbData |
|
) |
| const |
|
pure virtual |
Parse the custom embedded data from the passed raw data.
This API is virtual function and will be overridden by other implementation.
- Precondition
- None.
- Parameters
-
[in] | embeddedBufTop | Buffer pointer to top chunk of embedded data. Valid range : [non-NULL]. |
[in] | embeddedBufTopSize | Size of top chunk of embedded data. Valid range : [1, UINT32_MAX]. |
[out] | customEmbData | Pointer to struct IMX623CustomEmbeddedData. If embedded data is present, data from the parse written to IMX623CustomEmbeddedData. Valid range : [non-NULL]. |
- Return values
-
NVSIPL_STATUS_OK | If successfully able to parse the custom. embedded data from raw data. |
NVSIPL_STATUS_BAD_ARGUMENT | Input parameter validation failed. |
(SIPLStatus) | Any errors from dependencies. |
Usage considerations
- Allowed context for the API call
- Interrupt handler: No
- Signal handler: No
- Thread-safe: No
- Re-entrant: Yes
- Async/Sync: Sync
- Required privileges: Yes, with the following conditions:
- Grants: nonroot, allow
- Abilities: public_channel
- Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
- API group
- Init: No
- Runtime: Yes
- De-Init: No
◆ PSCheckIsetComparator()
virtual SIPLStatus nvsipl::IMX623_CustomInterface::PSCheckIsetComparator |
( |
uint8_t *const |
dataBuff | ) |
const |
|
pure virtual |
Read ISET(Current-Limit Setting) value from Power Switch (PS) Status register.
This function reads the ISET value for the link specified by linkIndex and stores it in the data pointer. ISET value of 0 means no error. When ISET pin is open or shorted, ISET value of 1 is reported. This API is virtual function and will be overridden by other implementation.
- Precondition
- Power Switch must be powered on using GPIO control.
- Parameters
-
[out] | dataBuff | Buffer pointer to output (ISET) value from Power Switch (PS) status register. Valid range : [non-NULL]. |
- Return values
-
NVSIPL_STATUS_OK | If successfully able to read ISET value. |
NVSIPL_STATUS_BAD_ARGUMENT | Input parameter validation failed. |
(SIPLStatus) | Any errors from dependencies. |
Usage considerations
- Allowed context for the API call
- Interrupt handler: No
- Signal handler: No
- Thread-safe: No
- Re-entrant: No
- Async/Sync: Sync
- Required privileges: Yes, with the following conditions:
- Grants: nonroot, allow
- Abilities: public_channel
- Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
- API group
- Init: No
- Runtime: Yes
- De-Init: No
◆ PSReadVoltageAndCurrentValues()
virtual SIPLStatus nvsipl::IMX623_CustomInterface::PSReadVoltageAndCurrentValues |
( |
uint8_t const |
dataBuff_size, |
|
|
uint16_t *const |
dataBuff |
|
) |
| const |
|
pure virtual |
Reads the voltage and current values for a Power Switch link/channel.
This function reads input/output voltages and output channel current for a given Power Switch link/channel. This API is virtual function and will be overridden by other implementation.
- Precondition
- Power Switch must be powered on using GPIO control.
- Parameters
-
[in] | dataBuff_size | Value is fixed to 5. Calling function needs to allocate space for the 5 values specified below in dataBuff. Valid range : [5] |
[out] | dataBuff | pointer to the array Voltage/Current values for specified linkIndex. Index 0: Output Voltage. Index 1: Vin. Index 2: Vdd. Index 3: VISET. Index 4: Output Channel Current. Valid range : [non-NULL]. |
- Return values
-
NVSIPL_STATUS_OK | If successfully able to read Input/Output voltages and Current values. |
NVSIPL_STATUS_BAD_ARGUMENT | Input parameter validation failed. |
(SIPLStatus) | Any errors from dependencies. |
Usage considerations
- Allowed context for the API call
- Interrupt handler: No
- Signal handler: No
- Thread-safe: No
- Re-entrant: No
- Async/Sync: Sync
- Required privileges: Yes, with the following conditions:
- Grants: nonroot, allow
- Abilities: public_channel
- Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
- API group
- Init: No
- Runtime: Yes
- De-Init: No
◆ TPS650332ExecuteABIST()
virtual SIPLStatus nvsipl::IMX623_CustomInterface::TPS650332ExecuteABIST |
( |
bool *const |
hasError | ) |
|
|
pure virtual |
Execute TPS650332 PMIC Analog Built In Self Test (ABIST) Runtime.
This API is virtual function and will be overridden by other implementation.
- Precondition
- Serializer and TPS650332 must be powered on.
- Parameters
-
[out] | hasError | Pointer to bool value. The bool value will be Set true if any error is detected by the ABIST. Valid range : [non-NULL]. |
- Return values
-
NVSIPL_STATUS_OK | If successfully able to execute TPS650332 PMIC ABIST Runtime. |
NVSIPL_STATUS_TIMED_OUT | If ABIST is not completed. |
(SIPLStatus) | Any errors from dependencies. |
Usage considerations
- Allowed context for the API call
- Interrupt handler: No
- Signal handler: No
- Thread-safe: No
- Re-entrant: No
- Async/Sync: Sync
- Required privileges: Yes, with the following conditions:
- Grants: nonroot, allow
- Abilities: public_channel
- Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
- API group
- Init: No
- Runtime: Yes
- De-Init: No
◆ TPS650332GetErrorInfo()
Get error info for TPS650332 PMIC.
This function is used to get information about error bits in the relevant ACK registers, which are set in case of interrupt faults. This API is virtual function and will be overridden by other implementation.
- Precondition
- Serializer and TPS650332 must be powered on.
- Parameters
-
- Return values
-
NVSIPL_STATUS_OK | If successfully able to get error info for TPS650332 PMIC. |
(SIPLStatus) | Any errors from dependencies. |
Usage considerations
- Allowed context for the API call
- Interrupt handler: No
- Signal handler: No
- Thread-safe: No
- Re-entrant: No
- Async/Sync: Sync
- Required privileges: Yes, with the following conditions:
- Grants: nonroot, allow
- Abilities: public_channel
- Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
- API group
- Init: No
- Runtime: Yes
- De-Init: No
◆ TPS650332GetnINTErrorStatus()
virtual SIPLStatus nvsipl::IMX623_CustomInterface::TPS650332GetnINTErrorStatus |
( |
bool *const |
hasError | ) |
|
|
pure virtual |
Get fault status of nINT pin of TPS650332 PMIC.
This function is used to get error status of nINT pin by reading register of TPS650332 via I2C programmer. This API is virtual function and will be overridden by other implementation..
- Precondition
- Serializer and TPS650332 must be powered on.
- Parameters
-
[out] | hasError | Point to bool value. The bool value will be set true if any error is detected by the fault monitoring mechanism for nINT pin. The bool value will be set false if nINT pin has no error. Valid range : [non-NULL]. |
- Return values
-
NVSIPL_STATUS_OK | If successfully able to get fault status of nINT pin of TPS650332 PMIC. |
(SIPLStatus) | Any errors from dependencies. |
Usage considerations
- Allowed context for the API call
- Interrupt handler: No
- Signal handler: No
- Thread-safe: No
- Re-entrant: No
- Async/Sync: Sync
- Required privileges: Yes, with the following conditions:
- Grants: nonroot, allow
- Abilities: public_channel
- Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
- API group
- Init: No
- Runtime: Yes
- De-Init: No
◆ VerifySerGPIOReadBackStatus()
virtual SIPLStatus nvsipl::IMX623_CustomInterface::VerifySerGPIOReadBackStatus |
( |
void |
| ) |
const |
|
pure virtual |
Verify Serializer GPIO Readback Status.
This function is used to perform run-time GPIO readback verification test on applicable GPIO pins. This API is virtual function and will be overridden by other implementation.
- Precondition
- A valid serializer object must be created and powered on.
- Return values
-
NVSIPL_STATUS_OK | If Serializer GPIO Readback Status works normally. |
NVSIPL_STATUS_BAD_ARGUMENT | Input parameter validation failed. |
(SIPLStatus) | Any errors from dependencies. |
Usage considerations
- Allowed context for the API call
- Interrupt handler: No
- Signal handler: No
- Thread-safe: No
- Re-entrant: No
- Async/Sync: Sync
- Required privileges: Yes, with the following conditions:
- Grants: nonroot, allow
- Abilities: public_channel
- Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
- API group
- Init: No
- Runtime: Yes
- De-Init: No
◆ WriteEEPROMData()
virtual SIPLStatus nvsipl::IMX623_CustomInterface::WriteEEPROMData |
( |
uint16_t const |
address, |
|
|
uint32_t const |
length, |
|
|
uint8_t *const |
buffer |
|
) |
| |
|
pure virtual |
Write to the EEPROM module.
- Parameters
-
[in] | address | Location to write to EEPROM. Valid range : [256, 511]. |
[in] | length | Length of buffer to write into EEPROM. Valid range : [1, 256]. |
[in] | buffer | Pointer to the array of values to write to EEPROM. Valid range : [non-NULL]. |
- Return values
-
NVSIPL_STATUS_OK | If successfully able to write data to EEPROM. |
NVSIPL_STATUS_BAD_ARGUMENT | Input parameter validation failed. |
NVSIPL_STATUS_NOT_SUPPORTED | EEPROM handle invalid. |
(SIPLStatus) | Any errors from dependencies. |
Usage considerations
- Allowed context for the API call
- Interrupt handler: No
- Signal handler: No
- Thread-safe: No
- Re-entrant: No
- Async/Sync: Sync
- Required privileges: Yes, with the following conditions:
- Grants: nonroot, allow
- Abilities: public_channel
- Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
- API group
- Init: Yes
- Runtime: No
- De-Init: No
◆ WriteTempHistToEEPROM()
virtual SIPLStatus nvsipl::IMX623_CustomInterface::WriteTempHistToEEPROM |
( |
uint32_t const |
length, |
|
|
uint8_t const *const |
buffer |
|
) |
| |
|
pure virtual |
Write Temperature Histogram to the EEPROM module.
- Parameters
-
[in] | length | Length of buffer to write temperature histogram into EEPROM. Valid range : [60]. |
[in] | buffer | Pointer to the array of values to write temperature histogram to EEPROM. Valid range : [non-NULL]. |
- Return values
-
NVSIPL_STATUS_OK | If successfully able to write temperature histogram data to EEPROM. |
NVSIPL_STATUS_BAD_ARGUMENT | Input parameter validation failed. |
NVSIPL_STATUS_NOT_SUPPORTED | Custom Interface function not supported. |
(SIPLStatus) | Any errors from dependencies. |
Usage considerations
- Allowed context for the API call
- Interrupt handler: No
- Signal handler: No
- Thread-safe: No
- Re-entrant: No
- Async/Sync: Sync
- Required privileges: Yes, with the following conditions:
- Grants: nonroot, allow
- Abilities: public_channel
- Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
- API group
- Init: No
- Runtime: No
- De-Init: Yes
The documentation for this class was generated from the following file: