offline_depth_sensor.h
Go to the documentation of this file.
1 #ifndef OFFLINE_DEPTH_SENSOR_H
2 #define OFFLINE_DEPTH_SENSOR_H
3 
5 #ifdef TARGET
6 #include "tofi/tofi_compute.h"
7 #include "tofi/tofi_config.h"
8 #include "tofi/tofi_util.h"
9 #endif
10 
11 #include <map>
12 #include <memory>
13 
15  public:
18 
19  public: // implements DepthSensorInterface
20  virtual aditof::Status open() override;
21  virtual aditof::Status start() override;
22  virtual aditof::Status stop() override;
23  virtual aditof::Status
24  getAvailableModes(std::vector<uint8_t> &modes) override;
25  virtual aditof::Status
26  getModeDetails(const uint8_t &mode,
27  aditof::DepthSensorModeDetails &details) override;
28  virtual aditof::Status
30  virtual aditof::Status setMode(const uint8_t &mode) override;
31  virtual aditof::Status getFrame(uint16_t *buffer) override;
32  virtual aditof::Status
33  getAvailableControls(std::vector<std::string> &controls) const override;
34  virtual aditof::Status setControl(const std::string &control,
35  const std::string &value) override;
36  virtual aditof::Status getControl(const std::string &control,
37  std::string &value) const override;
38  virtual aditof::Status
39  getDetails(aditof::SensorDetails &details) const override;
40  virtual aditof::Status getHandle(void **handle) override;
41  virtual aditof::Status getName(std::string &name) const override;
42  virtual aditof::Status
43  setHostConnectionType(std::string &connectionType) override;
44 
45  virtual aditof::Status adsd3500_read_cmd(uint16_t cmd, uint16_t *data,
46  unsigned int usDelay = 0) override;
47  virtual aditof::Status adsd3500_write_cmd(uint16_t cmd, uint16_t data,
48  unsigned int usDelay) override;
49  virtual aditof::Status
50  adsd3500_read_payload_cmd(uint32_t cmd, uint8_t *readback_data,
51  uint16_t payload_len) override;
52  virtual aditof::Status adsd3500_read_payload(uint8_t *payload,
53  uint16_t payload_len) override;
54  virtual aditof::Status
55  adsd3500_write_payload_cmd(uint32_t cmd, uint8_t *payload,
56  uint16_t payload_len) override;
57  virtual aditof::Status
58  adsd3500_write_payload(uint8_t *payload, uint16_t payload_len) override;
60  aditof::SensorInterruptCallback &cb) override;
62  aditof::SensorInterruptCallback &cb) override;
63  virtual aditof::Status adsd3500_reset() override;
64  virtual aditof::Status adsd3500_get_status(int &chipStatus,
65  int &imagerStatus) override;
66  virtual aditof::Status
67  initTargetDepthCompute(uint8_t *iniFile, uint16_t iniFileLength,
68  uint8_t *calData, uint16_t calDataLength) override;
69  virtual aditof::Status
70  getDepthComputeParams(std::map<std::string, std::string> &params) override;
72  const std::map<std::string, std::string> &params) override;
73 
74  virtual aditof::Status
75  setSensorConfiguration(const std::string &sensorConf) override;
77  std::string &iniStr) override;
78 
79  private:
82  std::vector<aditof::DepthSensorModeDetails> m_depthSensorModeDetails;
84  uint8_t m_selectedMode;
85  std::map<std::string, std::pair<std::uint16_t *, std::size_t>> m_frameTypes;
86  const std::vector<aditof::DepthSensorModeDetails> availableModes = {
87  {0,
88  {"raw", "depth", "ab", "conf", "xyz", "metadata"},
89  2,
90  0,
91  0,
92  0,
93  1024,
94  1024,
95  128,
96  0,
98  {1,
99  {"raw", "depth", "ab", "conf", "xyz", "metadata"},
100  3,
101  0,
102  0,
103  0,
104  1024,
105  1024,
106  128,
107  0,
109  {4,
110  {"ab", "metadata"},
111  0,
112  0,
113  0,
114  0,
115  1024,
116  1024,
117  128,
118  1,
120  {2,
121  {"raw", "depth", "ab", "conf", "xyz", "metadata"},
122  2,
123  0,
124  0,
125  0,
126  512,
127  512,
128  128,
129  0,
131  {3,
132  {"raw", "depth", "ab", "conf", "xyz", "metadata"},
133  3,
134  0,
135  0,
136  0,
137  512,
138  512,
139  128,
140  0,
142  {6,
143  {"raw", "depth", "ab", "conf", "xyz", "metadata"},
144  2,
145  0,
146  0,
147  0,
148  512,
149  512,
150  128,
151  0,
153  {5,
154  {"raw", "depth", "ab", "conf", "xyz", "metadata"},
155  3,
156  0,
157  0,
158  0,
159  512,
160  512,
161  128,
162  0,
164 #ifdef TARGET
165  TofiConfig *m_tofiConfig;
166  TofiComputeContext *m_tofiComputeContext;
167  TofiXYZDealiasData m_xyzDealiasData[11];
168  uint16_t m_outputFrameWidth;
169  uint16_t m_outputFrameHeight;
170 #endif
171 };
172 
173 #endif // OFFLINE_DEPTH_SENSOR_H
OfflineDepthSensor::getControl
virtual aditof::Status getControl(const std::string &control, std::string &value) const override
Gets the value of a specific sensor control.
Definition: offline_depth_sensor.cpp:195
name
GLuint const GLchar * name
Definition: glcorearb.h:3055
OfflineDepthSensor::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: offline_depth_sensor.cpp:394
OfflineDepthSensor::m_depthSensorModeDetails
std::vector< aditof::DepthSensorModeDetails > m_depthSensorModeDetails
Definition: offline_depth_sensor.h:82
aditof::SensorDetails
Provides details about the device.
Definition: sensor_definitions.h:50
mode
GLenum mode
Definition: glcorearb.h:2764
OfflineDepthSensor::m_path
std::string m_path
Definition: offline_depth_sensor.h:83
OfflineDepthSensor::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: offline_depth_sensor.cpp:364
OfflineDepthSensor::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: offline_depth_sensor.cpp:351
OfflineDepthSensor::m_sensorDetails
aditof::SensorDetails m_sensorDetails
Definition: offline_depth_sensor.h:81
OfflineDepthSensor::getDetails
virtual aditof::Status getDetails(aditof::SensorDetails &details) const override
Get a structure that contains information about the instance of the sensor.
Definition: offline_depth_sensor.cpp:204
string
GLsizei const GLchar *const * string
Definition: glcorearb.h:3083
OfflineDepthSensor::availableModes
const std::vector< aditof::DepthSensorModeDetails > availableModes
Definition: offline_depth_sensor.h:86
OfflineDepthSensor::open
virtual aditof::Status open() override
Open the communication channels with the hardware.
Definition: offline_depth_sensor.cpp:82
OfflineDepthSensor::getFrame
virtual aditof::Status getFrame(uint16_t *buffer) override
Request a frame from the sensor.
Definition: offline_depth_sensor.cpp:47
OfflineDepthSensor::setDepthComputeParams
virtual aditof::Status setDepthComputeParams(const std::map< std::string, std::string > &params) override
Set ini parameters for Depth Compute library.
Definition: offline_depth_sensor.cpp:435
TofiConfig
Definition: tofi_config.h:40
OfflineDepthSensor::getName
virtual aditof::Status getName(std::string &name) const override
Get the name of the sensor.
Definition: offline_depth_sensor.cpp:213
OfflineDepthSensor::setSensorConfiguration
virtual aditof::Status setSensorConfiguration(const std::string &sensorConf) override
Set sensor configutation table.
Definition: offline_depth_sensor.cpp:441
OfflineDepthSensor::OfflineDepthSensor
OfflineDepthSensor(std::string path)
Definition: offline_depth_sensor.cpp:18
OfflineDepthSensor::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: offline_depth_sensor.cpp:381
OfflineDepthSensor::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: offline_depth_sensor.cpp:209
OfflineDepthSensor::getDepthComputeParams
virtual aditof::Status getDepthComputeParams(std::map< std::string, std::string > &params) override
Get ini parameters for Depth Compute library.
Definition: offline_depth_sensor.cpp:430
OfflineDepthSensor::adsd3500_reset
virtual aditof::Status adsd3500_reset() override
Reset adsd3500 chip.
Definition: offline_depth_sensor.cpp:369
OfflineDepthSensor::setHostConnectionType
virtual aditof::Status setHostConnectionType(std::string &connectionType) override
Set the host connection type for target sdk.
Definition: offline_depth_sensor.cpp:225
path
GLsizei const GLchar ** path
Definition: glcorearb.h:3658
OfflineDepthSensor::start
virtual aditof::Status start() override
Start the streaming of data from the sensor.
Definition: offline_depth_sensor.cpp:137
OfflineDepthSensor::m_connectionType
std::string m_connectionType
Definition: offline_depth_sensor.h:80
OfflineDepthSensor::adsd3500_write_cmd
virtual aditof::Status adsd3500_write_cmd(uint16_t cmd, uint16_t data, unsigned int usDelay) override
Send a write command to adsd3500.
Definition: offline_depth_sensor.cpp:229
OfflineDepthSensor::adsd3500_get_status
virtual aditof::Status adsd3500_get_status(int &chipStatus, int &imagerStatus) override
Returns the chip status.
Definition: offline_depth_sensor.cpp:389
params
GLenum const GLfloat * params
Definition: glcorearb.h:2770
OfflineDepthSensor::stop
virtual aditof::Status stop() override
Stop the sensor data stream.
Definition: offline_depth_sensor.cpp:139
buffer
Definition: buffer_processor.h:43
OfflineDepthSensor::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: offline_depth_sensor.cpp:358
TofiComputeContext
Function to get the version for TOF Depth Compute Engine Library.
Definition: tofi_compute.h:43
OfflineDepthSensor::setControl
virtual aditof::Status setControl(const std::string &control, const std::string &value) override
Sets a specific sensor control.
Definition: offline_depth_sensor.cpp:190
aditof::Status
Status
Status of any operation that the TOF sdk performs.
Definition: status_definitions.h:48
aditof::DepthSensorInterface
Provides access to the low level functionality of the camera sensor. This includes sensor configurati...
Definition: depth_sensor_interface.h:57
OfflineDepthSensor::getAvailableControls
virtual aditof::Status getAvailableControls(std::vector< std::string > &controls) const override
Gets the sensors's list of controls.
Definition: offline_depth_sensor.cpp:185
tofi_config.h
OfflineDepthSensor::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: offline_depth_sensor.cpp:373
OfflineDepthSensor::getAvailableModes
virtual aditof::Status getAvailableModes(std::vector< uint8_t > &modes) override
Return all modes that are supported by the sensor.
Definition: offline_depth_sensor.cpp:142
OfflineDepthSensor
Definition: offline_depth_sensor.h:14
OfflineDepthSensor::~OfflineDepthSensor
~OfflineDepthSensor()
Definition: offline_depth_sensor.cpp:29
aditof::DriverConfiguration
Describes the configuration of the used driver.
Definition: sensor_definitions.h:67
aditof::DepthSensorModeDetails
Describes the type of entire frame that a depth sensor can capture and transmit.
Definition: sensor_definitions.h:120
OfflineDepthSensor::m_selectedMode
uint8_t m_selectedMode
Definition: offline_depth_sensor.h:84
tofi_util.h
tofi_compute.h
OfflineDepthSensor::m_frameTypes
std::map< std::string, std::pair< std::uint16_t *, std::size_t > > m_frameTypes
Definition: offline_depth_sensor.h:85
data
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: glcorearb.h:2879
TofiXYZDealiasData
Definition: tofi_camera_intrinsics.h:34
OfflineDepthSensor::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: offline_depth_sensor.cpp:235
value
GLsizei const GLfloat * value
Definition: glcorearb.h:3093
OfflineDepthSensor::getModeDetails
virtual aditof::Status getModeDetails(const uint8_t &mode, aditof::DepthSensorModeDetails &details) override
Returns details of specified mode.
Definition: offline_depth_sensor.cpp:151
OfflineDepthSensor::getIniParamsArrayForMode
aditof::Status getIniParamsArrayForMode(int mode, std::string &iniStr) override
Get ini parameters for Depth Compute library as string.
Definition: offline_depth_sensor.cpp:447
OfflineDepthSensor::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: offline_depth_sensor.cpp:218
depth_sensor_interface.h
aditof::SensorInterruptCallback
std::function< void(Adsd3500Status)> SensorInterruptCallback
Callback for sensor interrupts.
Definition: depth_sensor_interface.h:50
OfflineDepthSensor::setMode
virtual aditof::Status setMode(const aditof::DepthSensorModeDetails &mode) override
Set the sensor frame mode to the given type.
Definition: offline_depth_sensor.cpp:175


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