NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
OV2311NonFuSaCustomInterface.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2021-2025 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 _OV2311_NONFUSA_CUSTOMINTERFACE_HPP_
14 #define _OV2311_NONFUSA_CUSTOMINTERFACE_HPP_
15 
17 #include "NvSIPLCommon.hpp"
18 
19 namespace nvsipl
20 {
21 // This is version 1 UUID obtained using https://www.uuidgenerator.net/
22 // This will be used to uniquely identify this interface
23 // The client can use this ID to validate the correct interface before use
24 const UUID OV2311_NONFUSA_CUSTOM_INTERFACE_ID(0xca09c89aU, 0x255bU, 0x11ecU, 0x9621U,
25  0x02U, 0x42U, 0xacU, 0x13U, 0x00U, 0x02);
26 
28 {
29 public:
30  static const UUID& getClassInterfaceID() {
32  }
33 
34  // Used for a confirmatory test by the app to ensure typecasted pointer
35  // indeed points to the right object
36  const UUID& getInstanceInterfaceID() const noexcept override {
38  }
39 
40  // Sample "set value" API
41  // This type of custom API can be used to set a register value, etc.
42  // The exact behavior can depend on the supported functionality of the sensor.
43  virtual SIPLStatus SetCustomValue(uint32_t const valueToSet) = 0;
44 
45  // Sample "get value" API
46  // This type of custom API can be used to read a register value,
47  // parse custom embedded data, etc.
48  // The exact behavior can depend on the supported functionality of the sensor.
49  virtual SIPLStatus GetCustomValue(uint32_t * const valueToGet) = 0;
50 
62  virtual SIPLStatus CheckModuleStatus() = 0;
63 
64 protected:
66 };
67 
68 } // end of namespace nvsipl
69 #endif // _OV2311_NONFUSA_CUSTOMINTERFACE_HPP_
nvsipl::OV2311NonFuSaCustomInterface::GetCustomValue
virtual SIPLStatus GetCustomValue(uint32_t *const valueToGet)=0
NvSIPLCommon.hpp
NVIDIA SIPL: Common Data Structures - SIPL
INvSIPLDeviceInterfaceProvider.hpp
NVIDIA SIPL: Device Interface Provider Interface
nvsipl::UUID
A universally unique identifier.
Definition: INvSIPLDeviceInterfaceProvider.hpp:28
nvsipl::SIPLStatus
SIPLStatus
Defines the status codes returned by functions in SIPL modules.
Definition: NvSIPLCommon.hpp:153
nvsipl::Interface
Top-level interface class implementable for a particular device.
Definition: INvSIPLDeviceInterfaceProvider.hpp:141
nvsipl::OV2311NonFuSaCustomInterface::getInstanceInterfaceID
const UUID & getInstanceInterfaceID() const noexcept override
Definition: OV2311NonFuSaCustomInterface.hpp:36
nvsipl::OV2311NonFuSaCustomInterface::getClassInterfaceID
static const UUID & getClassInterfaceID()
Definition: OV2311NonFuSaCustomInterface.hpp:30
nvsipl
Contains the classes and variables for implementation of SIPL.
Definition: NvSIPLCamera.hpp:44
nvsipl::OV2311_NONFUSA_CUSTOM_INTERFACE_ID
const UUID OV2311_NONFUSA_CUSTOM_INTERFACE_ID(0xca09c89aU, 0x255bU, 0x11ecU, 0x9621U, 0x02U, 0x42U, 0xacU, 0x13U, 0x00U, 0x02)
nvsipl::OV2311NonFuSaCustomInterface
Definition: OV2311NonFuSaCustomInterface.hpp:27
nvsipl::OV2311NonFuSaCustomInterface::CheckModuleStatus
virtual SIPLStatus CheckModuleStatus()=0
Check the module availability.
nvsipl::OV2311NonFuSaCustomInterface::~OV2311NonFuSaCustomInterface
~OV2311NonFuSaCustomInterface()=default
nvsipl::OV2311NonFuSaCustomInterface::SetCustomValue
virtual SIPLStatus SetCustomValue(uint32_t const valueToSet)=0