NVIDIA DRIVE OS Linux SDK API Reference

6.0.6 Release
NvSIPLCommon.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2018-2022, NVIDIA CORPORATION. All rights reserved.
3  *
4  * NVIDIA CORPORATION and its licensors retain all intellectual property
5  * and proprietary rights in and to this software, related documentation
6  * and any modifications thereto. Any use, reproduction, disclosure or
7  * distribution of this software and related documentation without an express
8  * license agreement from NVIDIA CORPORATION is strictly prohibited.
9  */
10 
11 #ifndef NVSIPLCOMMON_HPP
12 #define NVSIPLCOMMON_HPP
13 
14 #include <memory>
15 #include <math.h>
16 
27 namespace nvsipl
28 {
50 typedef struct {
52  uint16_t x0;
54  uint16_t y0;
56  uint16_t x1;
58  uint16_t y1;
59 } NvSiplRect;
60 
64 typedef uint64_t NvSiplGlobalTime;
65 
69 typedef struct {
71  int32_t x;
73  int32_t y;
74 } NvSiplPoint;
75 
80 typedef struct {
82  float_t x;
84  float_t y;
86 
89 #define SIPL_TRUE (0 == 0)
90 
92 #define SIPL_FALSE (0 == 1)
93 
98 typedef uint32_t NvSiplBool;
99 
102 typedef enum {
113 
116 {
117  // New status code must be added after NVSIPL_STATUS_OK and before NVSIPL_STATUS_ERROR.
118 
121 
122  // Error codes.
143 };
144 
147 {
172 };
173 
177 typedef struct {
182  std::unique_ptr<uint8_t []> upErrorBuffer;
183 
187  size_t bufferSize;
188 
192  size_t sizeWritten;
194 
197 {
212 };
213 
216 } // namespace nvsipl
217 
218 #endif // NVSIPLCOMMON_HPP
nvsipl::NvSiplPointFloat::y
float_t y
Holds the vertical location of the point.
Definition: NvSIPLCommon.hpp:84
nvsipl::NVSIPL_STATUS_NOT_INITIALIZED
@ NVSIPL_STATUS_NOT_INITIALIZED
Indicates a module was not initialized.
Definition: NvSIPLCommon.hpp:138
nvsipl::NvSiplRect::x1
uint16_t x1
Right X co-ordinate.
Definition: NvSIPLCommon.hpp:56
nvsipl::NvSiplBool
uint32_t NvSiplBool
A boolean value, holding SIPL_TRUE or SIPL_FALSE.
Definition: NvSIPLCommon.hpp:98
nvsipl::NvSiplGlobalTime
uint64_t NvSiplGlobalTime
Media global time, measured in microseconds.
Definition: NvSIPLCommon.hpp:64
nvsipl::NVSIPL_STATUS_ERROR
@ NVSIPL_STATUS_ERROR
Indicates an unspecified error that is used when no other error code applies.
Definition: NvSIPLCommon.hpp:142
nvsipl::NvSiplRect::y1
uint16_t y1
Bottom Y co-ordinate.
Definition: NvSIPLCommon.hpp:58
nvsipl::SIPLGpioEvent
SIPLGpioEvent
CDAC GPIO event codes.
Definition: NvSIPLCommon.hpp:146
nvsipl::SIPLModuleErrorReadFlag
SIPLModuleErrorReadFlag
Flag indicating which module errors to read.
Definition: NvSIPLCommon.hpp:196
nvsipl::SIPLErrorDetails::sizeWritten
size_t sizeWritten
Holds size of error written to the buffer, filled by driver.
Definition: NvSIPLCommon.hpp:192
nvsipl::NVSIPL_GPIO_EVENT_ERROR_BACKEND
@ NVSIPL_GPIO_EVENT_ERROR_BACKEND
An error occurred in backend code, potentially resulting in permanent loss of functionality.
Definition: NvSIPLCommon.hpp:166
nvsipl::SIPLErrorDetails
Error details for a particular device.
Definition: NvSIPLCommon.hpp:177
nvsipl::NVSIPL_STATUS_INVALID_STATE
@ NVSIPL_STATUS_INVALID_STATE
Indicates a module is in an invalid state.
Definition: NvSIPLCommon.hpp:134
nvsipl::NVSIPL_MODULE_ERROR_READ_ALL
@ NVSIPL_MODULE_ERROR_READ_ALL
Read both sensor and serializer error information when getting error details.
Definition: NvSIPLCommon.hpp:211
nvsipl::NvSiplTimeBase
NvSiplTimeBase
Defines clock base for NvSiplTime.
Definition: NvSIPLCommon.hpp:102
nvsipl::NVSIPL_STATUS_OUT_OF_MEMORY
@ NVSIPL_STATUS_OUT_OF_MEMORY
Indicates an out of memory or other system resource error was encountered.
Definition: NvSIPLCommon.hpp:128
nvsipl::NVSIPL_STATUS_BAD_ARGUMENT
@ NVSIPL_STATUS_BAD_ARGUMENT
Indicates one or more invalid arguments was encountered.
Definition: NvSIPLCommon.hpp:124
nvsipl::NvSiplRect::x0
uint16_t x0
Left X co-ordinate.
Definition: NvSIPLCommon.hpp:52
nvsipl::NVSIPL_GPIO_EVENT_ERROR_WAIT_CANCELLED
@ NVSIPL_GPIO_EVENT_ERROR_WAIT_CANCELLED
Waiting for an interrupt was unexpectedly cancelled, potentially resulting in permanent loss of funct...
Definition: NvSIPLCommon.hpp:156
nvsipl::NvSiplPoint::x
int32_t x
Holds the horizontal location of the point.
Definition: NvSIPLCommon.hpp:71
nvsipl::NvSiplPoint
Defines the location of a point on a two-dimensional object.
Definition: NvSIPLCommon.hpp:69
nvsipl::NVSIPL_MODULE_ERROR_READ_SERIALIZER
@ NVSIPL_MODULE_ERROR_READ_SERIALIZER
Read only serializer error information when getting error details.
Definition: NvSIPLCommon.hpp:207
nvsipl::NVSIPL_STATUS_OK
@ NVSIPL_STATUS_OK
Indicates the operation completed successfully without errors.
Definition: NvSIPLCommon.hpp:120
nvsipl::SIPLStatus
SIPLStatus
Defines the status codes returned by functions in SIPL modules.
Definition: NvSIPLCommon.hpp:115
nvsipl::NVSIPL_GPIO_EVENT_NOTHING
@ NVSIPL_GPIO_EVENT_NOTHING
There is no pending event.
Definition: NvSIPLCommon.hpp:149
nvsipl::NVSIPL_GPIO_EVENT_ERROR_CDAC
@ NVSIPL_GPIO_EVENT_ERROR_CDAC
An error occurred in CDAC code, potentially resulting in permanent loss of functionality.
Definition: NvSIPLCommon.hpp:161
nvsipl::NVSIPL_GPIO_EVENT_INTR
@ NVSIPL_GPIO_EVENT_INTR
An interrupt has occured.
Definition: NvSIPLCommon.hpp:151
nvsipl::NvSiplRect
Holds a rectangular region of a surface.
Definition: NvSIPLCommon.hpp:50
nvsipl::SIPLErrorDetails::bufferSize
size_t bufferSize
Holds the maximum size of error data which can be contained in the buffer.
Definition: NvSIPLCommon.hpp:187
nvsipl::SIPLErrorDetails::upErrorBuffer
std::unique_ptr< uint8_t[]> upErrorBuffer
Buffer which will be filled by driver with error information.
Definition: NvSIPLCommon.hpp:182
nvsipl::NVSIPL_MODULE_ERROR_READ_SENSOR
@ NVSIPL_MODULE_ERROR_READ_SENSOR
Read only sensor error information when getting module error details.
Definition: NvSIPLCommon.hpp:202
nvsipl::NvSiplRect::y0
uint16_t y0
Top Y co-ordinate.
Definition: NvSIPLCommon.hpp:54
nvsipl::NVSIPL_TIME_BASE_CLOCK_MONOTONIC
@ NVSIPL_TIME_BASE_CLOCK_MONOTONIC
Specifies that kernel monotonic clock is used for base time calculation.
Definition: NvSIPLCommon.hpp:108
nvsipl::NvSiplPointFloat
Defines the float-precision location of a point on a two-dimensional object.
Definition: NvSIPLCommon.hpp:80
nvsipl::NVSIPL_STATUS_NOT_SUPPORTED
@ NVSIPL_STATUS_NOT_SUPPORTED
Indicates an unsupported operation or argument was encountered.
Definition: NvSIPLCommon.hpp:126
nvsipl::NVSIPL_STATUS_EOF
@ NVSIPL_STATUS_EOF
Indicates that end of file has been reached.
Definition: NvSIPLCommon.hpp:136
nvsipl::NvSiplPointFloat::x
float_t x
Holds the horizontal location of the point.
Definition: NvSIPLCommon.hpp:82
nvsipl::NvSiplPoint::y
int32_t y
Holds the vertical location of the point.
Definition: NvSIPLCommon.hpp:73
nvsipl::NVSIPL_TIME_BASE_CLOCK_PTP
@ NVSIPL_TIME_BASE_CLOCK_PTP
Specifies that PTP clock is used for base time calculation.
Definition: NvSIPLCommon.hpp:105
nvsipl
Contains the classes and variables for implementation of SIPL.
Definition: INvSiplControlAuto.hpp:33
nvsipl::NVSIPL_TIME_BASE_CLOCK_USER_DEFINED
@ NVSIPL_TIME_BASE_CLOCK_USER_DEFINED
Specifies that a user defined clock is used for base time calculation.
Definition: NvSIPLCommon.hpp:111
nvsipl::NVSIPL_STATUS_RESOURCE_ERROR
@ NVSIPL_STATUS_RESOURCE_ERROR
Indicates a resource error was encountered.
Definition: NvSIPLCommon.hpp:130
nvsipl::NVSIPL_GPIO_EVENT_ERROR_UNKNOWN
@ NVSIPL_GPIO_EVENT_ERROR_UNKNOWN
A generic error occurred, potentially resulting in permanent loss of functionality.
Definition: NvSIPLCommon.hpp:171
nvsipl::NVSIPL_STATUS_FAULT_STATE
@ NVSIPL_STATUS_FAULT_STATE
Indicates module is in non-recoverable fault state.
Definition: NvSIPLCommon.hpp:140
nvsipl::NVSIPL_STATUS_TIMED_OUT
@ NVSIPL_STATUS_TIMED_OUT
Indicates an operation timed out.
Definition: NvSIPLCommon.hpp:132