Time-of-Flight-SDK
Public Member Functions | List of all members
aditof::DepthSensorInterface Class Referenceabstract

Provides access to the low level functionality of the camera sensor. This includes sensor configuration as well as analog front end(AFE) configuration. More...

#include <depth_sensor_interface.h>

Public Member Functions

virtual ~DepthSensorInterface ()=default
 Destructor.
 
virtual aditof::Status open ()=0
 Open the communication channels with the hardware. More...
 
virtual aditof::Status start ()=0
 Start the streaming of data from the sensor. More...
 
virtual aditof::Status stop ()=0
 Stop the sensor data stream. More...
 
virtual aditof::Status getAvailableFrameTypes (std::vector< aditof::DepthSensorFrameType > &types)=0
 Return all frame types that are supported by the sensor. More...
 
virtual aditof::Status setFrameType (const aditof::DepthSensorFrameType &type)=0
 Set the sensor frame type to the given type. More...
 
virtual aditof::Status program (const uint8_t *firmware, size_t size)=0
 Program the sensor with the given firmware. More...
 
virtual aditof::Status getFrame (uint16_t *buffer)=0
 Request a frame from the sensor. More...
 
virtual aditof::Status readRegisters (const uint16_t *address, uint16_t *data, size_t length, bool burst=true)=0
 Read multiple registers from AFE. More...
 
virtual aditof::Status writeRegisters (const uint16_t *address, const uint16_t *data, size_t length, bool burst=true)=0
 Write to multiple AFE registers. More...
 
virtual aditof::Status adsd3500_read_cmd (uint16_t cmd, uint16_t *data, unsigned int usDelay=0)=0
 Send a read command to adsd3500. More...
 
virtual aditof::Status adsd3500_write_cmd (uint16_t cmd, uint16_t data)=0
 Send a write command to adsd3500. More...
 
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 of data. More...
 
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 chunks of data. More...
 
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 of data. More...
 
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 writing chunks of data. More...
 
virtual aditof::Status adsd3500_reset ()=0
 Reset adsd3500 chip. More...
 
virtual aditof::Status adsd3500_register_interrupt_callback (SensorInterruptCallback &cb)=0
 Register a function to be called when a ADSD3500 interrupt occurs. More...
 
virtual aditof::Status adsd3500_unregister_interrupt_callback (SensorInterruptCallback &cb)=0
 Unregister a function registered with adsd3500_register_interrupt_callback. More...
 
virtual aditof::Status adsd3500_get_status (int &chipStatus, int &imagerStatus)=0
 Returns the chip status. More...
 
virtual Status getAvailableControls (std::vector< std::string > &controls) const =0
 Gets the sensors's list of controls. More...
 
virtual Status setControl (const std::string &control, const std::string &value)=0
 Sets a specific sensor control. More...
 
virtual Status getControl (const std::string &control, std::string &value) const =0
 Gets the value of a specific sensor control. More...
 
virtual aditof::Status getDetails (aditof::SensorDetails &details) const =0
 Get a structure that contains information about the instance of the sensor. More...
 
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 the other devices to communicate remotely with the embedded target. More...
 
virtual aditof::Status getName (std::string &name) const =0
 Get the name of the sensor. More...
 
virtual aditof::Status setHostConnectionType (std::string &connectionType)=0
 Set the host connection type for target sdk. More...
 
virtual aditof::Status initTargetDepthCompute (uint8_t *iniFile, uint16_t iniFileLength, uint8_t *calData, uint16_t calDataLength)=0
 Get the name of the sensor. More...
 
virtual aditof::Status getIniParams (std::map< std::string, float > &params)=0
 Get ini parameters for Depth Compute library. More...
 
virtual aditof::Status setIniParams (const std::map< std::string, float > &params)=0
 Set ini parameters for Depth Compute library. More...
 

Detailed Description

Provides access to the low level functionality of the camera sensor. This includes sensor configuration as well as analog front end(AFE) configuration.

Definition at line 57 of file depth_sensor_interface.h.

Member Function Documentation

◆ adsd3500_get_status()

virtual aditof::Status aditof::DepthSensorInterface::adsd3500_get_status ( int &  chipStatus,
int &  imagerStatus 
)
pure virtual

Returns the chip status.

Parameters
[out]chipStatus- chip status (error) value
[out]imagerStatus- imager status (error) value
Returns
Status

◆ adsd3500_read_cmd()

virtual aditof::Status aditof::DepthSensorInterface::adsd3500_read_cmd ( uint16_t  cmd,
uint16_t *  data,
unsigned int  usDelay = 0 
)
pure virtual

Send a read command to adsd3500.

Parameters
cmd- the command to be sent
[out]data- the variable where the read data will be stored
usDelay- the number of microseconds to wait between the host command and the actual read
Returns
Status

◆ adsd3500_read_payload()

virtual aditof::Status aditof::DepthSensorInterface::adsd3500_read_payload ( uint8_t *  payload,
uint16_t  payload_len 
)
pure virtual

Reads a chunk of data from adsd3500. This will perform a burst read making it useful for reading chunks of data.

Parameters
payload- the location from where to take the data chunk and read it
payload_len- the number of bytes to read
Returns
Status

◆ adsd3500_read_payload_cmd()

virtual aditof::Status aditof::DepthSensorInterface::adsd3500_read_payload_cmd ( uint32_t  cmd,
uint8_t *  readback_data,
uint16_t  payload_len 
)
pure virtual

Send a read command to adsd3500. This will perform a burst read making it useful for reading chunks of data.

Parameters
cmd- the command to be sent
[out]readback_data- the location where the read data chunk will be stored
payload_len- the number of bytes to read
Returns
Status

◆ adsd3500_register_interrupt_callback()

virtual aditof::Status aditof::DepthSensorInterface::adsd3500_register_interrupt_callback ( SensorInterruptCallback cb)
pure virtual

Register a function to be called when a ADSD3500 interrupt occurs.

Parameters
cb- the function to be called whenever the interrupt occurs
Returns
Status

◆ adsd3500_reset()

virtual aditof::Status aditof::DepthSensorInterface::adsd3500_reset ( )
pure virtual

Reset adsd3500 chip.

Returns
Status

◆ adsd3500_unregister_interrupt_callback()

virtual aditof::Status aditof::DepthSensorInterface::adsd3500_unregister_interrupt_callback ( SensorInterruptCallback cb)
pure virtual

Unregister a function registered with adsd3500_register_interrupt_callback.

Parameters
cb- the function to be unregistred
Returns
Status

◆ adsd3500_write_cmd()

virtual aditof::Status aditof::DepthSensorInterface::adsd3500_write_cmd ( uint16_t  cmd,
uint16_t  data 
)
pure virtual

Send a write command to adsd3500.

Parameters
cmd- the command to be sent
data- the data to be written
Returns
Status

◆ adsd3500_write_payload()

virtual aditof::Status aditof::DepthSensorInterface::adsd3500_write_payload ( uint8_t *  payload,
uint16_t  payload_len 
)
pure virtual

Send a chunk of data (payload) to adsd3500. This will perform a burst write making it useful for writing chunks of data.

Parameters
payload- the location from where to take the data chunk and write it
payload_len- the number of bytes to write
Returns
Status

◆ adsd3500_write_payload_cmd()

virtual aditof::Status aditof::DepthSensorInterface::adsd3500_write_payload_cmd ( uint32_t  cmd,
uint8_t *  payload,
uint16_t  payload_len 
)
pure virtual

Send a write command to adsd3500. This will perform a burst write making it useful for writing chunks of data.

Parameters
cmd- the command to be sent
payload- the location from where to take the data chunk and write it
payload_len- the number of bytes to write
Returns
Status

◆ getAvailableControls()

virtual Status aditof::DepthSensorInterface::getAvailableControls ( std::vector< std::string > &  controls) const
pure virtual

Gets the sensors's list of controls.

Parameters
[out]controls
Returns
Status

◆ getAvailableFrameTypes()

virtual aditof::Status aditof::DepthSensorInterface::getAvailableFrameTypes ( std::vector< aditof::DepthSensorFrameType > &  types)
pure virtual

Return all frame types that are supported by the sensor.

Parameters
[out]types
Returns
Status

◆ getControl()

virtual Status aditof::DepthSensorInterface::getControl ( const std::string &  control,
std::string &  value 
) const
pure virtual

Gets the value of a specific sensor control.

Parameters
[in]control- Control name
[out]value- Control value
Returns
Status

◆ getDetails()

virtual aditof::Status aditof::DepthSensorInterface::getDetails ( aditof::SensorDetails details) const
pure virtual

Get a structure that contains information about the instance of the sensor.

Parameters
[out]details- the variable where the sensor details should be stored
Returns
Status

◆ getFrame()

virtual aditof::Status aditof::DepthSensorInterface::getFrame ( uint16_t *  buffer)
pure virtual

Request a frame from the sensor.

Parameters
buffer- a valid location where the new frame should be stored. The size of the frame is known (cached) internally and gets updated each time setFrameType() is called.
Returns
Status

◆ getHandle()

virtual aditof::Status aditof::DepthSensorInterface::getHandle ( void **  handle)
pure virtual

Gets a handle to be used by other devices such as Storage, Temperature, etc. This handle will allow the other devices to communicate remotely with the embedded target.

Parameters
[out]handle- the handle which is owned by this instance
Returns
Status

◆ getIniParams()

virtual aditof::Status aditof::DepthSensorInterface::getIniParams ( std::map< std::string, float > &  params)
pure virtual

Get ini parameters for Depth Compute library.

Parameters
[in]params- a dictionary of parameters
Returns
Status

◆ getName()

virtual aditof::Status aditof::DepthSensorInterface::getName ( std::string &  name) const
pure virtual

Get the name of the sensor.

Parameters
[out]name- the string in which the name is stored
Returns
Status

◆ initTargetDepthCompute()

virtual aditof::Status aditof::DepthSensorInterface::initTargetDepthCompute ( uint8_t *  iniFile,
uint16_t  iniFileLength,
uint8_t *  calData,
uint16_t  calDataLength 
)
pure virtual

Get the name of the sensor.

Parameters
[in]iniFile- iniFile content parsed as uint8_t*
[in]iniFileLength- iniFile content length
[in]calData- calibration data parsed as uint8_t*
[in]calDataLength- calibration data content length
Returns
Status

◆ open()

virtual aditof::Status aditof::DepthSensorInterface::open ( )
pure virtual

Open the communication channels with the hardware.

Returns
Status

◆ program()

virtual aditof::Status aditof::DepthSensorInterface::program ( const uint8_t *  firmware,
size_t  size 
)
pure virtual

Program the sensor with the given firmware.

Parameters
firmware- chunk of data representin the firmware
size- the size of the firmware data in bytes
Returns
Status

◆ readRegisters()

virtual aditof::Status aditof::DepthSensorInterface::readRegisters ( const uint16_t *  address,
uint16_t *  data,
size_t  length,
bool  burst = true 
)
pure virtual

Read multiple registers from AFE.

Parameters
address- memory location pointing to addresses of registers to be read
data- a valid location to store the content read from AFE registers
length- the number of registers to read
burst- if enabled the function will read data starting from the provided address; if disabled it will read data from the provided address list .
Returns
Status

◆ setControl()

virtual Status aditof::DepthSensorInterface::setControl ( const std::string &  control,
const std::string &  value 
)
pure virtual

Sets a specific sensor control.

Parameters
[in]control- Control name
[in]value- Control value
Returns
Status

◆ setFrameType()

virtual aditof::Status aditof::DepthSensorInterface::setFrameType ( const aditof::DepthSensorFrameType type)
pure virtual

Set the sensor frame type to the given type.

Parameters
type- frame details structure containing the frame type
Returns
Status

◆ setHostConnectionType()

virtual aditof::Status aditof::DepthSensorInterface::setHostConnectionType ( std::string &  connectionType)
pure virtual

Set the host connection type for target sdk.

Parameters
[in]connectionType- the string that sets the host type on the target
Returns
Status

◆ setIniParams()

virtual aditof::Status aditof::DepthSensorInterface::setIniParams ( const std::map< std::string, float > &  params)
pure virtual

Set ini parameters for Depth Compute library.

Parameters
[in]params- a dictionary of parameters
Returns
Status

◆ start()

virtual aditof::Status aditof::DepthSensorInterface::start ( )
pure virtual

Start the streaming of data from the sensor.

Returns
Status

◆ stop()

virtual aditof::Status aditof::DepthSensorInterface::stop ( )
pure virtual

Stop the sensor data stream.

Returns
Status

◆ writeRegisters()

virtual aditof::Status aditof::DepthSensorInterface::writeRegisters ( const uint16_t *  address,
const uint16_t *  data,
size_t  length,
bool  burst = true 
)
pure virtual

Write to multiple AFE registers.

Parameters
address- memory location pointing to addresses of registers to be written
data- the location of the content to be written to AFE registers
length- the number of registers to write
burst- if enabled the function will write data starting from the provided address; if disabled it will write data at the provided address list .
Returns
Status

The documentation for this class was generated from the following file: