32 #ifndef DEPTH_SENSOR_INTERFACE_H 33 #define DEPTH_SENSOR_INTERFACE_H 35 #include <aditof/frame_definitions.h> 36 #include <aditof/sensor_definitions.h> 37 #include <aditof/status_definitions.h> 88 std::vector<aditof::DepthSensorFrameType> &types) = 0;
127 uint16_t *data,
size_t length,
128 bool burst =
true) = 0;
141 const uint16_t *data,
size_t length,
142 bool burst =
true) = 0;
153 unsigned int usDelay = 0) = 0;
172 uint8_t *readback_data,
173 uint16_t payload_len) = 0;
183 uint16_t payload_len) = 0;
195 uint16_t payload_len) = 0;
205 uint16_t payload_len) = 0;
236 int &imagerStatus) = 0;
253 const std::string &value) = 0;
262 std::string &value)
const = 0;
306 uint16_t iniFileLength,
308 uint16_t calDataLength) = 0;
324 setIniParams(
const std::map<std::string, float> ¶ms) = 0;
329 #endif // DEPTH_SENSOR_INTERFACE_H virtual aditof::Status adsd3500_reset()=0
Reset adsd3500 chip.
virtual aditof::Status writeRegisters(const uint16_t *address, const uint16_t *data, size_t length, bool burst=true)=0
Write to multiple AFE registers.
virtual aditof::Status adsd3500_read_cmd(uint16_t cmd, uint16_t *data, unsigned int usDelay=0)=0
Send a read command to adsd3500.
virtual ~DepthSensorInterface()=default
Destructor.
virtual aditof::Status stop()=0
Stop the sensor data stream.
virtual aditof::Status adsd3500_read_payload(uint8_t *payload, uint16_t payload_len)=0
Reads a chunk of data from adsd3500. This will perform a burst read making it useful for reading chun...
virtual aditof::Status getName(std::string &name) const =0
Get the name of the sensor.
virtual aditof::Status adsd3500_write_payload_cmd(uint32_t cmd, uint8_t *payload, uint16_t payload_len)=0
Send a write command to adsd3500. This will perform a burst write making it useful for writing chunks...
Adsd3500Status
Status of the ADSD3500 sensor.
virtual aditof::Status adsd3500_write_cmd(uint16_t cmd, uint16_t data)=0
Send a write command to adsd3500.
virtual aditof::Status start()=0
Start the streaming of data from the sensor.
virtual aditof::Status getHandle(void **handle)=0
Gets a handle to be used by other devices such as Storage, Temperature, etc. This handle will allow t...
virtual aditof::Status initTargetDepthCompute(uint8_t *iniFile, uint16_t iniFileLength, uint8_t *calData, uint16_t calDataLength)=0
Get the name of the sensor.
Provides details about the device.
virtual aditof::Status getIniParams(std::map< std::string, float > ¶ms)=0
Get ini parameters for Depth Compute library.
virtual aditof::Status adsd3500_unregister_interrupt_callback(SensorInterruptCallback &cb)=0
Unregister a function registered with adsd3500_register_interrupt_callback.
Provides access to the low level functionality of the camera sensor. This includes sensor configurati...
virtual aditof::Status adsd3500_get_status(int &chipStatus, int &imagerStatus)=0
Returns the chip status.
virtual aditof::Status setHostConnectionType(std::string &connectionType)=0
Set the host connection type for target sdk.
virtual aditof::Status getFrame(uint16_t *buffer)=0
Request a frame from the sensor.
virtual aditof::Status getDetails(aditof::SensorDetails &details) const =0
Get a structure that contains information about the instance of the sensor.
virtual aditof::Status setFrameType(const aditof::DepthSensorFrameType &type)=0
Set the sensor frame type to the given type.
Describes the type of entire frame that a depth sensor can capture and transmit.
virtual Status setControl(const std::string &control, const std::string &value)=0
Sets a specific sensor control.
virtual aditof::Status setIniParams(const std::map< std::string, float > ¶ms)=0
Set ini parameters for Depth Compute library.
virtual aditof::Status adsd3500_read_payload_cmd(uint32_t cmd, uint8_t *readback_data, uint16_t payload_len)=0
Send a read command to adsd3500. This will perform a burst read making it useful for reading chunks o...
virtual aditof::Status program(const uint8_t *firmware, size_t size)=0
Program the sensor with the given firmware.
Status
Status of any operation that the TOF sdk performs.
virtual aditof::Status adsd3500_write_payload(uint8_t *payload, uint16_t payload_len)=0
Send a chunk of data (payload) to adsd3500. This will perform a burst write making it useful for writ...
virtual Status getAvailableControls(std::vector< std::string > &controls) const =0
Gets the sensors's list of controls.
virtual aditof::Status readRegisters(const uint16_t *address, uint16_t *data, size_t length, bool burst=true)=0
Read multiple registers from AFE.
std::function< void(Adsd3500Status)> SensorInterruptCallback
Callback for sensor interrupts.
virtual aditof::Status adsd3500_register_interrupt_callback(SensorInterruptCallback &cb)=0
Register a function to be called when a ADSD3500 interrupt occurs.
virtual Status getControl(const std::string &control, std::string &value) const =0
Gets the value of a specific sensor control.
virtual aditof::Status open()=0
Open the communication channels with the hardware.
virtual aditof::Status getAvailableFrameTypes(std::vector< aditof::DepthSensorFrameType > &types)=0
Return all frame types that are supported by the sensor.