adsd3500_sensor.h
Go to the documentation of this file.
1 /*
2  * BSD 3-Clause License
3  *
4  * Copyright (c) 2019, Analog Devices, Inc.
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions are met:
9  *
10  * 1. Redistributions of source code must retain the above copyright notice, this
11  * list of conditions and the following disclaimer.
12  *
13  * 2. Redistributions in binary form must reproduce the above copyright notice,
14  * this list of conditions and the following disclaimer in the documentation
15  * and/or other materials provided with the distribution.
16  *
17  * 3. Neither the name of the copyright holder nor the names of its
18  * contributors may be used to endorse or promote products derived from
19  * this software without specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
34 #include "adsd3500_mode_selector.h"
35 #include "buffer_processor.h"
38 #include <memory>
39 #include <unordered_map>
40 
41 struct CcbMode {
42  uint8_t UserDefinedMode;
43  uint8_t CFG_mode;
44  uint16_t heigth;
45  uint16_t width;
46  uint8_t nFreq;
47  uint8_t P0Mode;
48  uint8_t TempMode;
49  uint8_t INIIndex;
50  uint8_t default_mode;
51  uint8_t isPCM;
52  uint8_t noOfPhases;
53  uint8_t noOfCaptures;
54  uint16_t spare4;
55  uint16_t spare5;
56  uint16_t spare6;
57  uint16_t spare7;
58  uint16_t spare8;
59 };
60 
61 struct IniTableEntry {
62  uint8_t INIIndex;
63  uint8_t rsvd;
64  uint16_t abThreshMin;
65  uint16_t confThresh;
66  uint16_t radialThreshMin;
67  uint16_t radialThreshMax;
68  uint16_t jblfApplyFlag;
69  uint16_t jblfWindowSize;
72  uint16_t jblfMaxEdge;
73  uint16_t jblfABThreshold;
74  uint16_t spare0;
75  uint16_t spare1;
76  uint16_t spare2;
77  uint16_t spare3;
78  uint16_t spare4;
79  uint16_t spare5;
80  uint16_t spare6;
81  uint16_t spare7;
82  uint16_t spare8;
83  uint16_t modeNumber;
84 };
85 
88  public std::enable_shared_from_this<Adsd3500Sensor> {
89  public:
90  Adsd3500Sensor(const std::string &driverPath,
91  const std::string &driverSubPath,
92  const std::string &captureDev);
94 
95  public:
96  virtual aditof::Status open() override;
97  virtual aditof::Status start() override;
98  virtual aditof::Status stop() override;
99  virtual aditof::Status
100  getAvailableModes(std::vector<uint8_t> &modes) override;
101  virtual aditof::Status
102  getModeDetails(const uint8_t &mode,
103  aditof::DepthSensorModeDetails &details) override;
104  virtual aditof::Status
106  virtual aditof::Status setMode(const uint8_t &mode) override;
107  virtual aditof::Status getFrame(uint16_t *buffer) override;
108  virtual aditof::Status
109  getAvailableControls(std::vector<std::string> &controls) const override;
110  virtual aditof::Status setControl(const std::string &control,
111  const std::string &value) override;
112  virtual aditof::Status getControl(const std::string &control,
113  std::string &value) const override;
114  virtual aditof::Status
115  getDetails(aditof::SensorDetails &details) const override;
116  virtual aditof::Status getHandle(void **handle) override;
117  virtual aditof::Status getName(std::string &name) const override;
118  virtual aditof::Status
119  setHostConnectionType(std::string &connectionType) override;
120 
121  virtual aditof::Status adsd3500_read_cmd(uint16_t cmd, uint16_t *data,
122  unsigned int usDelay = 0) override;
123  virtual aditof::Status
124  adsd3500_write_cmd(uint16_t cmd, uint16_t data,
125  unsigned int usDelay = 0) override;
126  virtual aditof::Status
127  adsd3500_read_payload_cmd(uint32_t cmd, uint8_t *readback_data,
128  uint16_t payload_len) override;
129  virtual aditof::Status adsd3500_read_payload(uint8_t *payload,
130  uint16_t payload_len) override;
131  virtual aditof::Status
132  adsd3500_write_payload_cmd(uint32_t cmd, uint8_t *payload,
133  uint16_t payload_len) override;
134  virtual aditof::Status
135  adsd3500_write_payload(uint8_t *payload, uint16_t payload_len) override;
136  virtual aditof::Status adsd3500_reset() override;
138  aditof::SensorInterruptCallback &cb) override;
140  aditof::SensorInterruptCallback &cb) override;
141  virtual aditof::Status adsd3500_get_status(int &chipStatus,
142  int &imagerStatus) override;
143  virtual aditof::Status
144  setSensorConfiguration(const std::string &sensorConf) override;
145 
146  public: // implements V4lBufferAccessInterface
147  // Methods that give a finer control than getFrame()
148  // And worksif there is only one v4lbuffer (if many, then I don't know, maybe restructure this interface)
149  virtual aditof::Status waitForBuffer() override;
150  virtual aditof::Status
151  dequeueInternalBuffer(struct v4l2_buffer &buf) override;
152  virtual aditof::Status
153  getInternalBuffer(uint8_t **buffer, uint32_t &buf_data_len,
154  const struct v4l2_buffer &buf) override;
155  virtual aditof::Status
156  enqueueInternalBuffer(struct v4l2_buffer &buf) override;
157  virtual aditof::Status
158  getDeviceFileDescriptor(int &fileDescriptor) override;
159  virtual aditof::Status
160  initTargetDepthCompute(uint8_t *iniFile, uint16_t iniFileLength,
161  uint8_t *calData, uint16_t calDataLength) override;
162 
163  public:
164  aditof::Status adsd3500InterruptHandler(int signalValue);
165  virtual aditof::Status
166  getDepthComputeParams(std::map<std::string, std::string> &params) override;
168  const std::map<std::string, std::string> &params) override;
170  std::string &iniStr) override;
171 
172  private:
173  aditof::Status writeConfigBlock(const uint32_t offset);
174  aditof::Status waitForBufferPrivate(struct VideoDev *dev = nullptr);
175  aditof::Status dequeueInternalBufferPrivate(struct v4l2_buffer &buf,
176  struct VideoDev *dev = nullptr);
178  uint32_t &buf_data_len,
179  const struct v4l2_buffer &buf,
180  struct VideoDev *dev = nullptr);
181  aditof::Status enqueueInternalBufferPrivate(struct v4l2_buffer &buf,
182  struct VideoDev *dev = nullptr);
185  aditof::Status getIniParamsImpl(void *p_config_params, int params_group,
186  const void *p_tofi_cal_config);
187  aditof::Status setIniParamsImpl(void *p_config_params, int params_group,
188  const void *p_tofi_cal_config);
191  const std::string &mode,
192  std::map<std::string, std::string> &params);
194  mergeIniParams(std::vector<iniFileStruct> &iniFileStructList);
196  std::string &inistr);
198  createIniParams(std::vector<iniFileStruct> &iniFileStructList);
199 
200  private:
201  struct ImplData;
208  std::unordered_map<std::string, std::string> m_controls;
209  std::unique_ptr<ImplData> m_implData;
212  unsigned int m_sensorFps;
214  std::unordered_map<void *, aditof::SensorInterruptCallback>
216  std::vector<aditof::DepthSensorModeDetails> m_availableModes;
217  std::vector<IniTableEntry> m_ccbmINIContent;
224  std::vector<iniFileStruct> m_iniFileStructList;
228 };
Adsd3500Sensor::m_availableModes
std::vector< aditof::DepthSensorModeDetails > m_availableModes
Definition: adsd3500_sensor.h:216
Adsd3500Sensor::m_bufferProcessor
BufferProcessor * m_bufferProcessor
Definition: adsd3500_sensor.h:218
Adsd3500Sensor::setDepthComputeParams
virtual aditof::Status setDepthComputeParams(const std::map< std::string, std::string > &params) override
Set ini parameters for Depth Compute library.
Definition: adsd3500_sensor.cpp:1487
Adsd3500Sensor::m_hostConnectionType
aditof::ConnectionType m_hostConnectionType
Definition: adsd3500_sensor.h:204
Adsd3500Sensor::convertIniParams
aditof::Status convertIniParams(iniFileStruct &iniStruct, std::string &inistr)
Definition: adsd3500_sensor.cpp:2126
Adsd3500Sensor::adsd3500_get_status
virtual aditof::Status adsd3500_get_status(int &chipStatus, int &imagerStatus) override
Returns the chip status.
Definition: adsd3500_sensor.cpp:1939
Adsd3500Sensor::getDeviceFileDescriptor
virtual aditof::Status getDeviceFileDescriptor(int &fileDescriptor) override
Definition: adsd3500_sensor.cpp:1613
CcbMode::UserDefinedMode
uint8_t UserDefinedMode
Definition: adsd3500_sensor.h:42
Adsd3500Sensor::adsd3500InterruptHandler
aditof::Status adsd3500InterruptHandler(int signalValue)
Definition: adsd3500_sensor.cpp:1904
name
GLuint const GLchar * name
Definition: glcorearb.h:3055
IniTableEntry::abThreshMin
uint16_t abThreshMin
Definition: adsd3500_sensor.h:64
CcbMode::spare6
uint16_t spare6
Definition: adsd3500_sensor.h:56
ini_file_definitions.h
Adsd3500Sensor::ImplData
Definition: adsd3500_sensor.cpp:99
Adsd3500Sensor::getAvailableControls
virtual aditof::Status getAvailableControls(std::vector< std::string > &controls) const override
Gets the sensors's list of controls.
Definition: adsd3500_sensor.cpp:796
Adsd3500Sensor::getDepthComputeParams
virtual aditof::Status getDepthComputeParams(std::map< std::string, std::string > &params) override
Get ini parameters for Depth Compute library.
Definition: adsd3500_sensor.cpp:1446
aditof::SensorDetails
Provides details about the device.
Definition: sensor_definitions.h:50
Adsd3500Sensor::getDefaultIniParamsForMode
aditof::Status getDefaultIniParamsForMode(const std::string &imager, const std::string &mode, std::map< std::string, std::string > &params)
Definition: adsd3500_sensor.cpp:2058
IniTableEntry::spare6
uint16_t spare6
Definition: adsd3500_sensor.h:80
Adsd3500Sensor::initTargetDepthCompute
virtual aditof::Status initTargetDepthCompute(uint8_t *iniFile, uint16_t iniFileLength, uint8_t *calData, uint16_t calDataLength) override
Get the name of the sensor.
Definition: adsd3500_sensor.cpp:1419
Adsd3500Sensor::m_controls
std::unordered_map< std::string, std::string > m_controls
Definition: adsd3500_sensor.h:208
mode
GLenum mode
Definition: glcorearb.h:2764
Adsd3500Sensor::m_capturesPerFrame
uint8_t m_capturesPerFrame
Definition: adsd3500_sensor.h:210
Adsd3500Sensor::m_sensorName
std::string m_sensorName
Definition: adsd3500_sensor.h:201
IniTableEntry::spare8
uint16_t spare8
Definition: adsd3500_sensor.h:82
Adsd3500Sensor::getInternalBufferPrivate
aditof::Status getInternalBufferPrivate(uint8_t **buffer, uint32_t &buf_data_len, const struct v4l2_buffer &buf, struct VideoDev *dev=nullptr)
Definition: adsd3500_sensor.cpp:1586
Adsd3500Sensor::open
virtual aditof::Status open() override
Open the communication channels with the hardware.
Definition: adsd3500_sensor.cpp:208
IniTableEntry::jblfGaussianSigma
uint16_t jblfGaussianSigma
Definition: adsd3500_sensor.h:70
IniTableEntry::INIIndex
uint8_t INIIndex
Definition: adsd3500_sensor.h:62
Adsd3500Sensor::getModeDetails
virtual aditof::Status getModeDetails(const uint8_t &mode, aditof::DepthSensorModeDetails &details) override
Returns details of specified mode.
Definition: adsd3500_sensor.cpp:477
Adsd3500Sensor::setMode
virtual aditof::Status setMode(const aditof::DepthSensorModeDetails &type) override
Set the sensor frame mode to the given type.
Definition: adsd3500_sensor.cpp:541
VideoDev
Definition: buffer_processor.h:48
IniTableEntry::spare1
uint16_t spare1
Definition: adsd3500_sensor.h:75
string
GLsizei const GLchar *const * string
Definition: glcorearb.h:3083
CcbMode::spare8
uint16_t spare8
Definition: adsd3500_sensor.h:58
Adsd3500Sensor::waitForBufferPrivate
aditof::Status waitForBufferPrivate(struct VideoDev *dev=nullptr)
Definition: adsd3500_sensor.cpp:1524
Adsd3500Sensor::m_captureDev
std::string m_captureDev
Definition: adsd3500_sensor.h:207
IniTableEntry::spare2
uint16_t spare2
Definition: adsd3500_sensor.h:76
Adsd3500Sensor::adsd3500_read_payload_cmd
virtual aditof::Status adsd3500_read_payload_cmd(uint32_t cmd, uint8_t *readback_data, uint16_t payload_len) override
Send a read command to adsd3500. This will perform a burst read making it useful for reading chunks o...
Definition: adsd3500_sensor.cpp:1094
Adsd3500Sensor::getName
virtual aditof::Status getName(std::string &name) const override
Get the name of the sensor.
Definition: adsd3500_sensor.cpp:980
aditof::Adsd3500Status
Adsd3500Status
Status of the ADSD3500 sensor.
Definition: status_definitions.h:61
CcbMode::isPCM
uint8_t isPCM
Definition: adsd3500_sensor.h:51
Adsd3500Sensor::start
virtual aditof::Status start() override
Start the streaming of data from the sensor.
Definition: adsd3500_sensor.cpp:397
Adsd3500Sensor::getInternalBuffer
virtual aditof::Status getInternalBuffer(uint8_t **buffer, uint32_t &buf_data_len, const struct v4l2_buffer &buf) override
Definition: adsd3500_sensor.cpp:1636
Adsd3500Sensor::createIniParams
aditof::Status createIniParams(std::vector< iniFileStruct > &iniFileStructList)
IniTableEntry::radialThreshMax
uint16_t radialThreshMax
Definition: adsd3500_sensor.h:67
CcbMode::CFG_mode
uint8_t CFG_mode
Definition: adsd3500_sensor.h:43
Adsd3500Sensor::m_chipStatus
int m_chipStatus
Definition: adsd3500_sensor.h:220
Adsd3500Sensor::mergeIniParams
aditof::Status mergeIniParams(std::vector< iniFileStruct > &iniFileStructList)
Definition: adsd3500_sensor.cpp:2080
iniFileStruct
Definition: ini_file_definitions.h:39
v4l_buffer_access_interface.h
Adsd3500Sensor::m_driverSubPath
std::string m_driverSubPath
Definition: adsd3500_sensor.h:206
Adsd3500Sensor::Adsd3500Sensor
Adsd3500Sensor(const std::string &driverPath, const std::string &driverSubPath, const std::string &captureDev)
Definition: adsd3500_sensor.cpp:128
Adsd3500Sensor::getDetails
virtual aditof::Status getDetails(aditof::SensorDetails &details) const override
Get a structure that contains information about the instance of the sensor.
Definition: adsd3500_sensor.cpp:969
IniTableEntry::confThresh
uint16_t confThresh
Definition: adsd3500_sensor.h:65
CcbMode::spare7
uint16_t spare7
Definition: adsd3500_sensor.h:57
Adsd3500Sensor::adsd3500_read_payload
virtual aditof::Status adsd3500_read_payload(uint8_t *payload, uint16_t payload_len) override
Reads a chunk of data from adsd3500. This will perform a burst read making it useful for reading chun...
Definition: adsd3500_sensor.cpp:1203
BufferProcessor
Definition: buffer_processor.h:62
Adsd3500Sensor::m_driverPath
std::string m_driverPath
Definition: adsd3500_sensor.h:205
CcbMode::spare5
uint16_t spare5
Definition: adsd3500_sensor.h:55
IniTableEntry::jblfABThreshold
uint16_t jblfABThreshold
Definition: adsd3500_sensor.h:73
Adsd3500Sensor::~Adsd3500Sensor
~Adsd3500Sensor()
Definition: adsd3500_sensor.cpp:165
IniTableEntry::jblfExponentialTerm
uint16_t jblfExponentialTerm
Definition: adsd3500_sensor.h:71
Adsd3500Sensor::enqueueInternalBufferPrivate
aditof::Status enqueueInternalBufferPrivate(struct v4l2_buffer &buf, struct VideoDev *dev=nullptr)
Definition: adsd3500_sensor.cpp:1599
offset
GLintptr offset
Definition: glcorearb.h:2944
aditof::Adsd3500ModeSelector
Definition: adsd3500_mode_selector.h:44
Adsd3500Sensor::enqueueInternalBuffer
virtual aditof::Status enqueueInternalBuffer(struct v4l2_buffer &buf) override
Definition: adsd3500_sensor.cpp:1642
Adsd3500Sensor::setIniParamsImpl
aditof::Status setIniParamsImpl(void *p_config_params, int params_group, const void *p_tofi_cal_config)
Definition: adsd3500_sensor.cpp:2041
CcbMode::width
uint16_t width
Definition: adsd3500_sensor.h:45
CcbMode::heigth
uint16_t heigth
Definition: adsd3500_sensor.h:44
IniTableEntry
Definition: adsd3500_sensor.h:61
Adsd3500Sensor::adsd3500_register_interrupt_callback
virtual aditof::Status adsd3500_register_interrupt_callback(aditof::SensorInterruptCallback &cb) override
Register a function to be called when a ADSD3500 interrupt occurs.
Definition: adsd3500_sensor.cpp:1885
buffer_processor.h
params
GLenum const GLfloat * params
Definition: glcorearb.h:2770
Adsd3500Sensor::m_ccbmEnabled
bool m_ccbmEnabled
Definition: adsd3500_sensor.h:227
Adsd3500Sensor::m_sensorConfiguration
std::string m_sensorConfiguration
Definition: adsd3500_sensor.h:226
Adsd3500Sensor::m_sensorDetails
aditof::SensorDetails m_sensorDetails
Definition: adsd3500_sensor.h:203
buffer
Definition: buffer_processor.h:43
CcbMode::nFreq
uint8_t nFreq
Definition: adsd3500_sensor.h:46
CcbMode::TempMode
uint8_t TempMode
Definition: adsd3500_sensor.h:48
buf
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glcorearb.h:4175
Adsd3500Sensor::dequeueInternalBufferPrivate
aditof::Status dequeueInternalBufferPrivate(struct v4l2_buffer &buf, struct VideoDev *dev=nullptr)
Definition: adsd3500_sensor.cpp:1552
aditof::ConnectionType
ConnectionType
Types of connections.
Definition: connections.h:44
aditof::Status
Status
Status of any operation that the TOF sdk performs.
Definition: status_definitions.h:48
IniTableEntry::spare5
uint16_t spare5
Definition: adsd3500_sensor.h:79
Adsd3500Sensor::m_iniFileStructList
std::vector< iniFileStruct > m_iniFileStructList
Definition: adsd3500_sensor.h:224
Adsd3500Sensor::m_imagerStatus
int m_imagerStatus
Definition: adsd3500_sensor.h:221
Adsd3500Sensor::m_depthComputeOnTarget
bool m_depthComputeOnTarget
Definition: adsd3500_sensor.h:219
aditof::DepthSensorInterface
Provides access to the low level functionality of the camera sensor. This includes sensor configurati...
Definition: depth_sensor_interface.h:57
Adsd3500Sensor::m_modeSelector
aditof::Adsd3500ModeSelector m_modeSelector
Definition: adsd3500_sensor.h:225
CcbMode::spare4
uint16_t spare4
Definition: adsd3500_sensor.h:54
Adsd3500Sensor::setSensorConfiguration
virtual aditof::Status setSensorConfiguration(const std::string &sensorConf) override
Set sensor configutation table.
Definition: adsd3500_sensor.cpp:1951
IniTableEntry::spare3
uint16_t spare3
Definition: adsd3500_sensor.h:77
IniTableEntry::rsvd
uint8_t rsvd
Definition: adsd3500_sensor.h:63
Adsd3500Sensor::adsd3500_write_payload
virtual aditof::Status adsd3500_write_payload(uint8_t *payload, uint16_t payload_len) override
Send a chunk of data (payload) to adsd3500. This will perform a burst write making it useful for writ...
Definition: adsd3500_sensor.cpp:1322
type
GLenum type
Definition: glcorearb.h:2695
CcbMode::noOfCaptures
uint8_t noOfCaptures
Definition: adsd3500_sensor.h:53
Adsd3500Sensor::stop
virtual aditof::Status stop() override
Stop the sensor data stream.
Definition: adsd3500_sensor.cpp:439
Adsd3500Sensor::m_chipResetDone
bool m_chipResetDone
Definition: adsd3500_sensor.h:223
Adsd3500Sensor::convertIdToAdsd3500Status
aditof::Adsd3500Status convertIdToAdsd3500Status(int status)
Definition: adsd3500_sensor.cpp:1962
IniTableEntry::jblfWindowSize
uint16_t jblfWindowSize
Definition: adsd3500_sensor.h:69
Adsd3500Sensor::queryAdsd3500
aditof::Status queryAdsd3500()
Definition: adsd3500_sensor.cpp:1652
Adsd3500Sensor::m_firstRun
bool m_firstRun
Definition: adsd3500_sensor.h:211
Adsd3500Sensor::setControl
virtual aditof::Status setControl(const std::string &control, const std::string &value) override
Sets a specific sensor control.
Definition: adsd3500_sensor.cpp:806
Adsd3500Sensor::getIniParamsImpl
aditof::Status getIniParamsImpl(void *p_config_params, int params_group, const void *p_tofi_cal_config)
Definition: adsd3500_sensor.cpp:2024
Adsd3500Sensor::m_adsd3500Queried
bool m_adsd3500Queried
Definition: adsd3500_sensor.h:213
Adsd3500Sensor::setHostConnectionType
virtual aditof::Status setHostConnectionType(std::string &connectionType) override
Set the host connection type for target sdk.
Definition: adsd3500_sensor.cpp:987
Adsd3500Sensor::getHandle
virtual aditof::Status getHandle(void **handle) override
Gets a handle to be used by other devices such as Storage, Temperature, etc. This handle will allow t...
Definition: adsd3500_sensor.cpp:975
IniTableEntry::modeNumber
uint16_t modeNumber
Definition: adsd3500_sensor.h:83
aditof::V4lBufferAccessInterface
Interface for operations on v4l buffer such as enquing and dequeing.
Definition: v4l_buffer_access_interface.h:46
IniTableEntry::radialThreshMin
uint16_t radialThreshMin
Definition: adsd3500_sensor.h:66
aditof::DepthSensorModeDetails
Describes the type of entire frame that a depth sensor can capture and transmit.
Definition: sensor_definitions.h:120
IniTableEntry::jblfMaxEdge
uint16_t jblfMaxEdge
Definition: adsd3500_sensor.h:72
Adsd3500Sensor::getControl
virtual aditof::Status getControl(const std::string &control, std::string &value) const override
Gets the value of a specific sensor control.
Definition: adsd3500_sensor.cpp:915
CcbMode::noOfPhases
uint8_t noOfPhases
Definition: adsd3500_sensor.h:52
Adsd3500Sensor::writeConfigBlock
aditof::Status writeConfigBlock(const uint32_t offset)
Definition: adsd3500_sensor.cpp:1647
Adsd3500Sensor::waitForBuffer
virtual aditof::Status waitForBuffer() override
Definition: adsd3500_sensor.cpp:1625
IniTableEntry::jblfApplyFlag
uint16_t jblfApplyFlag
Definition: adsd3500_sensor.h:68
Adsd3500Sensor::adsd3500_reset
virtual aditof::Status adsd3500_reset() override
Reset adsd3500 chip.
Definition: adsd3500_sensor.cpp:1357
Adsd3500Sensor::adsd3500_read_cmd
virtual aditof::Status adsd3500_read_cmd(uint16_t cmd, uint16_t *data, unsigned int usDelay=0) override
Send a read command to adsd3500.
Definition: adsd3500_sensor.cpp:997
data
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: glcorearb.h:2879
Adsd3500Sensor::getFrame
virtual aditof::Status getFrame(uint16_t *buffer) override
Request a frame from the sensor.
Definition: adsd3500_sensor.cpp:746
Adsd3500Sensor::m_sensorFps
unsigned int m_sensorFps
Definition: adsd3500_sensor.h:212
Adsd3500Sensor::getIniParamsArrayForMode
aditof::Status getIniParamsArrayForMode(int mode, std::string &iniStr) override
Get ini parameters for Depth Compute library as string.
Definition: adsd3500_sensor.cpp:2137
IniTableEntry::spare7
uint16_t spare7
Definition: adsd3500_sensor.h:81
CcbMode::INIIndex
uint8_t INIIndex
Definition: adsd3500_sensor.h:49
CcbMode
Definition: adsd3500_sensor.h:41
CcbMode::default_mode
uint8_t default_mode
Definition: adsd3500_sensor.h:50
value
GLsizei const GLfloat * value
Definition: glcorearb.h:3093
CcbMode::P0Mode
uint8_t P0Mode
Definition: adsd3500_sensor.h:47
Adsd3500Sensor::adsd3500_unregister_interrupt_callback
virtual aditof::Status adsd3500_unregister_interrupt_callback(aditof::SensorInterruptCallback &cb) override
Unregister a function registered with adsd3500_register_interrupt_callback.
Definition: adsd3500_sensor.cpp:1896
Adsd3500Sensor::m_ccbmINIContent
std::vector< IniTableEntry > m_ccbmINIContent
Definition: adsd3500_sensor.h:217
Adsd3500Sensor::adsd3500_write_cmd
virtual aditof::Status adsd3500_write_cmd(uint16_t cmd, uint16_t data, unsigned int usDelay=0) override
Send a write command to adsd3500.
Definition: adsd3500_sensor.cpp:1054
Adsd3500Sensor::getAvailableModes
virtual aditof::Status getAvailableModes(std::vector< uint8_t > &modes) override
Return all modes that are supported by the sensor.
Definition: adsd3500_sensor.cpp:464
Adsd3500Sensor::m_interruptCallbackMap
std::unordered_map< void *, aditof::SensorInterruptCallback > m_interruptCallbackMap
Definition: adsd3500_sensor.h:215
Adsd3500Sensor
Definition: adsd3500_sensor.h:86
adsd3500_mode_selector.h
Adsd3500Sensor::dequeueInternalBuffer
virtual aditof::Status dequeueInternalBuffer(struct v4l2_buffer &buf) override
Definition: adsd3500_sensor.cpp:1630
Adsd3500Sensor::m_adsd3500Status
aditof::Adsd3500Status m_adsd3500Status
Definition: adsd3500_sensor.h:222
IniTableEntry::spare0
uint16_t spare0
Definition: adsd3500_sensor.h:74
Adsd3500Sensor::m_implData
std::unique_ptr< ImplData > m_implData
Definition: adsd3500_sensor.h:209
Adsd3500Sensor::adsd3500_write_payload_cmd
virtual aditof::Status adsd3500_write_payload_cmd(uint32_t cmd, uint8_t *payload, uint16_t payload_len) override
Send a write command to adsd3500. This will perform a burst write making it useful for writing chunks...
Definition: adsd3500_sensor.cpp:1249
depth_sensor_interface.h
aditof::SensorInterruptCallback
std::function< void(Adsd3500Status)> SensorInterruptCallback
Callback for sensor interrupts.
Definition: depth_sensor_interface.h:50
IniTableEntry::spare4
uint16_t spare4
Definition: adsd3500_sensor.h:78


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:47