NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
AR0820_CUST1_CustomInterface.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2020-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
13 #ifndef AR0820_CUST1_CUSTOMINTERFACE_HPP
14 #define AR0820_CUST1_CUSTOMINTERFACE_HPP
15 #include <cstdint>
16 #include <cmath>
18 #include "NvSIPLCommon.hpp"
20 
21 namespace nvsipl
22 {
23 
24 constexpr UUID AR0820_CUST1_CUSTOM_INTERFACE_ID{0x4FC721B6U, 0x3481U, 0x11EBU, 0xADC1U,
25  0x02U, 0x42U, 0xACU, 0x12U, 0x00U, 0x02U};
30 {
31 public:
32 
50  virtual SIPLStatus DetectFifoOverflow(uint16_t &overflowStatus) const = 0;
51 
69  virtual SIPLStatus GetSerializerTemperature(float_t &tmon) const = 0;
70 
91  virtual SIPLStatus DetectVideoPCLK(uint16_t &pclkStatus) const = 0;
92 
106  virtual SIPLStatus AssertMax9295Errb(void) const = 0;
107 
108 /* coverity[autosar_cpp14_a16_0_1_violation] : intentional TID-2039 */
109 #if !NV_IS_SAFETY
110 
111  virtual SIPLStatus setDeserData(uint32_t const deviceIndex, uint32_t const registerNum, uint32_t const dataLength, uint8_t *const dataBuff) const = 0;
112  virtual SIPLStatus getDeserData(uint32_t const deviceIndex, uint32_t const registerNum, uint32_t const dataLength, uint8_t *const dataBuff) const = 0;
113  virtual SIPLStatus readRegisterMax9295 (uint16_t const registerAddr, uint16_t const dataLength, uint8_t *const dataBuff) const = 0;
114  virtual SIPLStatus writeRegisterMax9295(uint16_t const registerAddr, uint16_t const dataLength, uint8_t *const dataBuff) const = 0;
115 /* coverity[autosar_cpp14_a16_0_1_violation] : intentional TID-2039 */
116 #endif
117 
135  virtual SIPLStatus GetPowerUpSMErr(uint16_t * const errorstatus) const = 0;
136 
157  virtual SIPLStatus GetPDIData(AR0820PDIList * const pdiraw,
158  uint16_t * const pdicount) const = 0;
159 
181  uint8_t const * const embeddedBufTop,
182  uint32_t const embeddedBufTopSize,
183  uint8_t const * const embeddedBufBottom,
184  uint32_t const embeddedBufBottomSize,
185  AR0820CustomEmbeddedData * const embeddedData) const = 0;
186 
205  TPS650332CustomStartupAck * const ack) const = 0;
206 
226  uint8_t const hMirror,
227  uint8_t const vFlip,
228  uint32_t * const cfa) const = 0;
229 
239  virtual SIPLStatus AssertImagerSysCheck(void) const = 0;
240 
257  float_t * const temp) const = 0;
258 
259 /* coverity[autosar_cpp14_a16_0_1_violation] : intentional TID-2039 */
260 #if !NV_IS_SAFETY
261 
262  virtual SIPLStatus readRegisterAR820 (uint16_t const registerAddr, uint16_t dataBuff[]) const = 0;
263  virtual SIPLStatus writeRegisterAR820(uint16_t const registerAddr, uint16_t const dataBuff[]) const = 0;
264 /* coverity[autosar_cpp14_a16_0_1_violation] : intentional TID-2039 */
265 #endif
266 };
267 
268 }
269 #endif //AR0820_CUST1_CUSTOMINTERFACE_HPP
nvsipl::AR0820_CUST1_CustomInterface::setDeserData
virtual SIPLStatus setDeserData(uint32_t const deviceIndex, uint32_t const registerNum, uint32_t const dataLength, uint8_t *const dataBuff) const =0
nvsipl::AR0820_CUST1_CustomInterface::ParseCustomEmbeddedData
virtual SIPLStatus ParseCustomEmbeddedData(uint8_t const *const embeddedBufTop, uint32_t const embeddedBufTopSize, uint8_t const *const embeddedBufBottom, uint32_t const embeddedBufBottomSize, AR0820CustomEmbeddedData *const embeddedData) const =0
Parse the Custom Embedded Data from the passed raw embedded data.
nvsipl::AR0820_CUST1_CustomInterface::AssertImagerSysCheck
virtual SIPLStatus AssertImagerSysCheck(void) const =0
Assert Imager SYS_CHECK.
nvsipl::AR0820_CUST1_CustomInterface::getDeserData
virtual SIPLStatus getDeserData(uint32_t const deviceIndex, uint32_t const registerNum, uint32_t const dataLength, uint8_t *const dataBuff) const =0
nvsipl::AR0820_CUST1_CustomInterface::readRegisterAR820
virtual SIPLStatus readRegisterAR820(uint16_t const registerAddr, uint16_t dataBuff[]) const =0
nvsipl::AR0820_CUST1_CustomInterface::writeRegisterAR820
virtual SIPLStatus writeRegisterAR820(uint16_t const registerAddr, uint16_t const dataBuff[]) const =0
NvSIPLCommon.hpp
NVIDIA SIPL: Common Data Structures - SIPL
nvsipl::AR0820_CUST1_CustomInterface::writeRegisterMax9295
virtual SIPLStatus writeRegisterMax9295(uint16_t const registerAddr, uint16_t const dataLength, uint8_t *const dataBuff) const =0
nvsipl::AR0820_CUST1_CustomInterface::GetPDIData
virtual SIPLStatus GetPDIData(AR0820PDIList *const pdiraw, uint16_t *const pdicount) const =0
Get sensor defective pixel list.
INvSIPLDeviceInterfaceProvider.hpp
NVIDIA SIPL: Device Interface Provider Interface
nvsipl::AR0820_CUST1_CustomInterface::GetSerializerTemperature
virtual SIPLStatus GetSerializerTemperature(float_t &tmon) const =0
Get MAX9295A Serializer Temperature data.
nvsipl::UUID
A universally unique identifier.
Definition: INvSIPLDeviceInterfaceProvider.hpp:28
TPS650332CustomStartupAck
Describes the custom TPS650332 PMIC startup ACK information needed by the application.
Definition: AR0820_CUST1_CustomData.h:123
AR0820_CUST1_CustomData.h
nvsipl::SIPLStatus
SIPLStatus
Defines the status codes returned by functions in SIPL modules.
Definition: NvSIPLCommon.hpp:153
nvsipl::AR0820_CUST1_CustomInterface::GetSensorTemperature
virtual SIPLStatus GetSensorTemperature(float_t *const temp) const =0
Get Sensor temperature.
nvsipl::AR0820_CUST1_CustomInterface
The class of custom interfaces in Sensor AR0820.
Definition: AR0820_CUST1_CustomInterface.hpp:29
nvsipl::Interface
Top-level interface class implementable for a particular device.
Definition: INvSIPLDeviceInterfaceProvider.hpp:141
AR0820PDIList
the data array of AR0820's PDI data
Definition: AR0820_CUST1_CustomData.h:39
nvsipl::AR0820_CUST1_CustomInterface::GetPMICStartupACK
virtual SIPLStatus GetPMICStartupACK(TPS650332CustomStartupAck *const ack) const =0
Get TPS650332 Startup ACK status.
AR0820CustomEmbeddedData
the parsed AR0820 embedded data (customized information)
Definition: AR0820_CUST1_CustomData.h:45
nvsipl::AR0820_CUST1_CustomInterface::DetectFifoOverflow
virtual SIPLStatus DetectFifoOverflow(uint16_t &overflowStatus) const =0
Detect MAX9295A serializer video pipe FIFO overflow.
nvsipl::AR0820_CUST1_CustomInterface::AssertMax9295Errb
virtual SIPLStatus AssertMax9295Errb(void) const =0
Assert MAX9295A ERRB.
nvsipl::AR0820_CUST1_CustomInterface::DetectVideoPCLK
virtual SIPLStatus DetectVideoPCLK(uint16_t &pclkStatus) const =0
Detect MAX9295A Serializer PCLK.
nvsipl::AR0820_CUST1_CUSTOM_INTERFACE_ID
constexpr UUID AR0820_CUST1_CUSTOM_INTERFACE_ID
Definition: AR0820_CUST1_CustomInterface.hpp:24
nvsipl::AR0820_CUST1_CustomInterface::SetImageOrientation
virtual SIPLStatus SetImageOrientation(uint8_t const hMirror, uint8_t const vFlip, uint32_t *const cfa) const =0
Set Imager Orientation.
nvsipl
Contains the classes and variables for implementation of SIPL.
Definition: NvSIPLCamera.hpp:44
nvsipl::AR0820_CUST1_CustomInterface::GetPowerUpSMErr
virtual SIPLStatus GetPowerUpSMErr(uint16_t *const errorstatus) const =0
Get sensor startup error status.
nvsipl::AR0820_CUST1_CustomInterface::readRegisterMax9295
virtual SIPLStatus readRegisterMax9295(uint16_t const registerAddr, uint16_t const dataLength, uint8_t *const dataBuff) const =0