hfl_driver  0.0.20
ROS driver for Continental's HFL110 3D Flash Lidar
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
hfl::BaseHFL110DCU Class Referenceabstract

Base class for the HFL110DCU cameras. More...

#include <base_hfl110dcu.h>

Inheritance diagram for hfl::BaseHFL110DCU:
Inheritance graph
[legend]
Collaboration diagram for hfl::BaseHFL110DCU:
Collaboration graph
[legend]

Public Member Functions

bool setFrameRate (double rate) override
 
double getFrameRate (bool reg_format=false) const
 
bool setGlobalRangeOffset (double offset)
 
bool setChannelRangeOffset (uint8_t ch, double offset)
 
virtual bool setIntensityRangeOffset (uint8_t band, double offset)
 
- Public Member Functions inherited from hfl::HflInterface
std::string getModel () const
 
std::string getVersion () const
 
virtual bool parseFrame (int start_byte, const std::vector< uint8_t > &packet)=0
 
virtual bool processFrameData (const std::vector< uint8_t > &data)=0
 
std::shared_ptr< Frameframe ()
 

Protected Types

enum  HFL110DCU_memory_types { mem_ri = 0 , types_size }
 HFL110DCU camera memory_types. More...
 

Protected Member Functions

bool getConfiguration (std::string model, std::string version)
 
virtual bool parseObjects (int start_byte, const std::vector< uint8_t > &packet)=0
 
virtual bool processObjectData (const std::vector< uint8_t > &data)=0
 

Protected Attributes

double range_magic_number_
 Range Magic Number. More...
 
Attribs_map mode_parameters
 Current mode parameters. More...
 
std::function< void(const std::vector< uint8_t > &)> udp_send_function_
 UDP sender function. More...
 
- Protected Attributes inherited from hfl::HflInterface
std::string model_
 Current camera model. More...
 
std::string version_
 Current camera model. More...
 
std::string ip_address_
 Camera's IP address. More...
 
uint16_t frame_data_port_
 Camera's UDP frame data port. More...
 
bool publish_tf_
 Current publish tf state. More...
 
std::string parent_frame_
 current static tf values More...
 
double x_
 
double y_
 
double z_
 
double roll_
 
double pitch_
 
double yaw_
 
double time_offset_
 time offset More...
 
double global_offset_
 global range offset More...
 
double ch1_offset_
 channel range offset More...
 
double ch2_offset_
 
double ch3_offset_
 
double ch4_offset_
 
double int500_offset_
 intensity range offset More...
 
double int1000_offset_
 
double int1500_offset_
 
double int2000_offset_
 
double int2500_offset_
 
double int3000_offset_
 
double int3500_offset_
 
double int4096_offset_
 
std::shared_ptr< hfl::Frameframe_
 Camera's frame configurations. More...
 

Detailed Description

Base class for the HFL110DCU cameras.

Member Enumeration Documentation

◆ HFL110DCU_memory_types

HFL110DCU camera memory_types.

Enumerator
mem_ri 
types_size 

Member Function Documentation

◆ getConfiguration()

bool hfl::BaseHFL110DCU::getConfiguration ( std::string  model,
std::string  version 
)
protected

Gets the available memory modes, its params and register offset addresses.

Parameters
modelThe model of the current lidar
versionThe HFL110DCU SW version
Returns
Available memory modes

◆ getFrameRate()

double hfl::BaseHFL110DCU::getFrameRate ( bool  reg_format = false) const
inlinevirtual

Returns the current frame rate.

Returns
current frame rate

Implements hfl::HflInterface.

◆ parseObjects()

virtual bool hfl::BaseHFL110DCU::parseObjects ( int  start_byte,
const std::vector< uint8_t > &  packet 
)
protectedpure virtual

Parse packet into objects

Parameters
[in]start_bytestarting byte, packet packet data to parse
Returns
bool true if successfully parsed object data

Implements hfl::HflInterface.

Implemented in hfl::HFL110DCU.

◆ processObjectData()

virtual bool hfl::BaseHFL110DCU::processObjectData ( const std::vector< uint8_t > &  data)
protectedpure virtual

Process the object data from udp packets

Parameters
[in]dataobject data
Returns
bool

Implements hfl::HflInterface.

Implemented in hfl::HFL110DCU.

◆ setChannelRangeOffset()

bool hfl::BaseHFL110DCU::setChannelRangeOffset ( uint8_t  ch,
double  offset 
)
virtual

Sets channel range offset

Parameters
[in]chchannel number
[in]offsetchannel range offset to set
Returns
bool true if given channel range offset is set

Implements hfl::HflInterface.

◆ setFrameRate()

bool hfl::BaseHFL110DCU::setFrameRate ( double  rate)
inlineoverridevirtual

Sets the specified frame rate.

Parameters
[in]rateFrame rate to be set
Returns
bool true if given frame rate set

Implements hfl::HflInterface.

◆ setGlobalRangeOffset()

bool hfl::BaseHFL110DCU::setGlobalRangeOffset ( double  offset)
virtual

Sets global range offset

Parameters
[in]offsetglobal range offset to set
Returns
bool true if given global range offset is set

Implements hfl::HflInterface.

◆ setIntensityRangeOffset()

bool hfl::BaseHFL110DCU::setIntensityRangeOffset ( uint8_t  band,
double  offset 
)
virtual

Sets intensity range offset

Parameters
[in]bandintensity range number
[in]offsetchannel range offset to set
Returns
bool true if given intensity band range offset is set

Implements hfl::HflInterface.

Member Data Documentation

◆ mode_parameters

Attribs_map hfl::BaseHFL110DCU::mode_parameters
protected

Current mode parameters.

◆ range_magic_number_

double hfl::BaseHFL110DCU::range_magic_number_
protected

Range Magic Number.

◆ udp_send_function_

std::function<void(const std::vector<uint8_t>&)> hfl::BaseHFL110DCU::udp_send_function_
protected

UDP sender function.


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