Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
sick_scan_xd::SickScanServices Class Reference

#include <sick_scan_services.h>

Public Member Functions

bool sendAuthorization ()
 
bool sendSopasAndCheckAnswer (const std::string &sopasCmd, std::vector< unsigned char > &sopasReplyBin, std::string &sopasReplyString)
 
bool sendSopasCmdCheckResponse (const std::string &sopas_request, const std::string &expected_response)
 
bool serviceCbColaMsg (sick_scan_srv::ColaMsgSrv::Request &service_request, sick_scan_srv::ColaMsgSrv::Response &service_response)
 
bool serviceCbColaMsgROS2 (std::shared_ptr< sick_scan_srv::ColaMsgSrv::Request > service_request, std::shared_ptr< sick_scan_srv::ColaMsgSrv::Response > service_response)
 
bool serviceCbECRChangeArr (sick_scan_srv::ECRChangeArrSrv::Request &service_request, sick_scan_srv::ECRChangeArrSrv::Response &service_response)
 
bool serviceCbECRChangeArrROS2 (std::shared_ptr< sick_scan_srv::ECRChangeArrSrv::Request > service_request, std::shared_ptr< sick_scan_srv::ECRChangeArrSrv::Response > service_response)
 
bool serviceCbGetContaminationResult (sick_scan_srv::GetContaminationResultSrv::Request &service_request, sick_scan_srv::GetContaminationResultSrv::Response &service_response)
 
bool serviceCbGetContaminationResultROS2 (std::shared_ptr< sick_scan_srv::GetContaminationResultSrv::Request > service_request, std::shared_ptr< sick_scan_srv::GetContaminationResultSrv::Response > service_response)
 
bool serviceCbLIDoutputstate (sick_scan_srv::LIDoutputstateSrv::Request &service_request, sick_scan_srv::LIDoutputstateSrv::Response &service_response)
 
bool serviceCbLIDoutputstateROS2 (std::shared_ptr< sick_scan_srv::LIDoutputstateSrv::Request > service_request, std::shared_ptr< sick_scan_srv::LIDoutputstateSrv::Response > service_response)
 
bool serviceCbSCdevicestate (sick_scan_srv::SCdevicestateSrv::Request &service_request, sick_scan_srv::SCdevicestateSrv::Response &service_response)
 
bool serviceCbSCdevicestateROS2 (std::shared_ptr< sick_scan_srv::SCdevicestateSrv::Request > service_request, std::shared_ptr< sick_scan_srv::SCdevicestateSrv::Response > service_response)
 
bool serviceCbSCreboot (sick_scan_srv::SCrebootSrv::Request &service_request, sick_scan_srv::SCrebootSrv::Response &service_response)
 
bool serviceCbSCrebootROS2 (std::shared_ptr< sick_scan_srv::SCrebootSrv::Request > service_request, std::shared_ptr< sick_scan_srv::SCrebootSrv::Response > service_response)
 
bool serviceCbSCsoftreset (sick_scan_srv::SCsoftresetSrv::Request &service_request, sick_scan_srv::SCsoftresetSrv::Response &service_response)
 
bool serviceCbSCsoftresetROS2 (std::shared_ptr< sick_scan_srv::SCsoftresetSrv::Request > service_request, std::shared_ptr< sick_scan_srv::SCsoftresetSrv::Response > service_response)
 
bool serviceCbSickScanExit (sick_scan_srv::SickScanExitSrv::Request &service_request, sick_scan_srv::SickScanExitSrv::Response &service_response)
 
bool serviceCbSickScanExitROS2 (std::shared_ptr< sick_scan_srv::SickScanExitSrv::Request > service_request, std::shared_ptr< sick_scan_srv::SickScanExitSrv::Response > service_response)
 
 SickScanServices (rosNodePtr nh=0, sick_scan_xd::SickScanCommonTcp *common_tcp=0, ScannerBasicParam *lidar_param=0)
 
virtual ~SickScanServices ()
 

Static Public Member Functions

static std::string convertAngleDegToHexString (float angle_deg, bool hexStrIsBigEndian)
 
static std::string convertFloatToHexString (float value, bool hexStrIsBigEndian)
 
static float convertHexStringToAngleDeg (const std::string &hex_str, bool hexStrIsBigEndian)
 
static float convertHexStringToFloat (const std::string &hex_str, bool hexStrIsBigEndian)
 

Protected Member Functions

bool sendRun ()
 

Protected Attributes

std::string m_client_authorization_pw
 
bool m_cola_binary
 cola ascii or cola binary messages More...
 
sick_scan_xd::SickScanCommonTcpm_common_tcp
 common tcp handler More...
 
rosServiceServer< sick_scan_srv::ColaMsgSrv > m_srv_server_ColaMsg
 service "ColaMsg", &sick_scan::SickScanServices::serviceCbColaMsg More...
 
rosServiceServer< sick_scan_srv::ECRChangeArrSrv > m_srv_server_ECRChangeArr
 service "ECRChangeArr", &sick_scan::SickScanServices::serviceCbECRChangeArr More...
 
rosServiceServer< sick_scan_srv::GetContaminationResultSrv > m_srv_server_GetContaminationResult
 service "GetContaminationResult", &sick_scan::SickScanServices::serviceCbGetContaminationResult More...
 
rosServiceServer< sick_scan_srv::LIDoutputstateSrv > m_srv_server_LIDoutputstate
 service "LIDoutputstate", &sick_scan::SickScanServices::serviceCbLIDoutputstate More...
 
rosServiceServer< sick_scan_srv::SCdevicestateSrv > m_srv_server_SCdevicestate
 service "SCdevicestate", &sick_scan::SickScanServices::serviceCbSCdevicestate More...
 
rosServiceServer< sick_scan_srv::SCrebootSrv > m_srv_server_SCreboot
 service "SCreboot", &sick_scan::SickScanServices::serviceCbSCreboot More...
 
rosServiceServer< sick_scan_srv::SCsoftresetSrv > m_srv_server_SCsoftreset
 service "SCsoftreset", &sick_scan::SickScanServices::serviceCbSCsoftreset More...
 
rosServiceServer< sick_scan_srv::SickScanExitSrv > m_srv_server_SickScanExit
 service "SickScanExitSrv", &sick_scan::SickScanServices::serviceCbSickScanExit More...
 

Detailed Description

Definition at line 76 of file sick_scan_services.h.

Constructor & Destructor Documentation

◆ SickScanServices()

sick_scan_xd::SickScanServices::SickScanServices ( rosNodePtr  nh = 0,
sick_scan_xd::SickScanCommonTcp common_tcp = 0,
ScannerBasicParam lidar_param = 0 
)

Definition at line 70 of file sick_scan_services.cpp.

◆ ~SickScanServices()

sick_scan_xd::SickScanServices::~SickScanServices ( )
virtual

Definition at line 196 of file sick_scan_services.cpp.

Member Function Documentation

◆ convertAngleDegToHexString()

std::string sick_scan_xd::SickScanServices::convertAngleDegToHexString ( float  angle_deg,
bool  hexStrIsBigEndian 
)
static

Converts an angle in [deg] to hex string coded in 1/10000 deg (hex_str: 4 byte hex value as string, little or big endian).

Definition at line 720 of file sick_scan_services.cpp.

◆ convertFloatToHexString()

std::string sick_scan_xd::SickScanServices::convertFloatToHexString ( float  value,
bool  hexStrIsBigEndian 
)
static

Converts a float value to hex string (hex_str: 4 byte hex value as string, little or big endian). Check f.e. by https://www.h-schmidt.net/FloatConverter/IEEE754.html Examples: convertFloatToHexString(-3.14, true) returns "C0490FDB" convertFloatToHexString(+1.57, true) returns "3FC90FF8"

Definition at line 668 of file sick_scan_services.cpp.

◆ convertHexStringToAngleDeg()

float sick_scan_xd::SickScanServices::convertHexStringToAngleDeg ( const std::string &  hex_str,
bool  hexStrIsBigEndian 
)
static

Converts a hex string coded in 1/10000 deg (hex_str: 4 byte hex value as string, little or big endian) to an angle in [deg] (float).

Definition at line 690 of file sick_scan_services.cpp.

◆ convertHexStringToFloat()

float sick_scan_xd::SickScanServices::convertHexStringToFloat ( const std::string &  hex_str,
bool  hexStrIsBigEndian 
)
static

Converts a hex string (hex_str: 4 byte hex value as string, little or big endian) to float. Check f.e. by https://www.h-schmidt.net/FloatConverter/IEEE754.html Examples: convertHexStringToFloat("C0490FF9", true) returns -3.14 convertHexStringToFloat("3FC90FF9", true) returns +1.57

Definition at line 638 of file sick_scan_services.cpp.

◆ sendAuthorization()

bool sick_scan_xd::SickScanServices::sendAuthorization ( )

Sends the SOPAS authorization command "sMN SetAccessMode 3 F4724744".

Definition at line 372 of file sick_scan_services.cpp.

◆ sendRun()

bool sick_scan_xd::SickScanServices::sendRun ( )
protected

Sends the SOPAS command "sMN Run", which applies previous send settings

Definition at line 393 of file sick_scan_services.cpp.

◆ sendSopasAndCheckAnswer()

bool sick_scan_xd::SickScanServices::sendSopasAndCheckAnswer ( const std::string &  sopasCmd,
std::vector< unsigned char > &  sopasReplyBin,
std::string &  sopasReplyString 
)

Sends a sopas command and returns the lidar reply.

Parameters
[in]sopasCmdsopas command to send, f.e. "sEN ECRChangeArr 1"
[out]sopasReplyBinresponse from lidar incl. start/stop byte
[out]sopasReplyStringsopasReplyBin converted to string
Returns
true on success, false in case of errors.

Definition at line 207 of file sick_scan_services.cpp.

◆ sendSopasCmdCheckResponse()

bool sick_scan_xd::SickScanServices::sendSopasCmdCheckResponse ( const std::string &  sopas_request,
const std::string &  expected_response 
)

Sends a multiScan or picoScan SOPAS command

Sends a multiScan136 command

Definition at line 414 of file sick_scan_services.cpp.

◆ serviceCbColaMsg()

bool sick_scan_xd::SickScanServices::serviceCbColaMsg ( sick_scan_srv::ColaMsgSrv::Request &  service_request,
sick_scan_srv::ColaMsgSrv::Response &  service_response 
)

Callback for service ColaMsg (ColaMsg, send a cola message to lidar).

Parameters
[in]service_requestros service request to lidar
[out]service_responseservice response from lidar
Returns
true on success, false in case of errors.

Definition at line 248 of file sick_scan_services.cpp.

◆ serviceCbColaMsgROS2()

bool sick_scan_xd::SickScanServices::serviceCbColaMsgROS2 ( std::shared_ptr< sick_scan_srv::ColaMsgSrv::Request >  service_request,
std::shared_ptr< sick_scan_srv::ColaMsgSrv::Response >  service_response 
)
inline

Definition at line 101 of file sick_scan_services.h.

◆ serviceCbECRChangeArr()

bool sick_scan_xd::SickScanServices::serviceCbECRChangeArr ( sick_scan_srv::ECRChangeArrSrv::Request &  service_request,
sick_scan_srv::ECRChangeArrSrv::Response &  service_response 
)

Callback for service messages (ECRChangeArr, Request status change of monitoring fields on event). Sends a cola telegram "sEN ECRChangeArr {0|1}" and receives the response from the lidar device.

Parameters
[in]service_requestros service request to lidar
[out]service_responseservice response from lidar
Returns
true on success, false in case of errors.

Definition at line 274 of file sick_scan_services.cpp.

◆ serviceCbECRChangeArrROS2()

bool sick_scan_xd::SickScanServices::serviceCbECRChangeArrROS2 ( std::shared_ptr< sick_scan_srv::ECRChangeArrSrv::Request >  service_request,
std::shared_ptr< sick_scan_srv::ECRChangeArrSrv::Response >  service_response 
)
inline

Definition at line 111 of file sick_scan_services.h.

◆ serviceCbGetContaminationResult()

bool sick_scan_xd::SickScanServices::serviceCbGetContaminationResult ( sick_scan_srv::GetContaminationResultSrv::Request &  service_request,
sick_scan_srv::GetContaminationResultSrv::Response &  service_response 
)

Callback for service messages (GetContaminationResult, Read contamination indication result). Sends a cola telegram "sRN ContaminationResult" and receives the response from the lidar device.

Parameters
[in]service_requestros service request to lidar
[out]service_responseservice response from lidar
Returns
true on success, false in case of errors.

Callbacks for service messages.

Parameters
[in]service_requestros service request to lidar
[out]service_responseservice response from lidar
Returns
true on success, false in case of errors.

Definition at line 300 of file sick_scan_services.cpp.

◆ serviceCbGetContaminationResultROS2()

bool sick_scan_xd::SickScanServices::serviceCbGetContaminationResultROS2 ( std::shared_ptr< sick_scan_srv::GetContaminationResultSrv::Request >  service_request,
std::shared_ptr< sick_scan_srv::GetContaminationResultSrv::Response >  service_response 
)
inline

Definition at line 121 of file sick_scan_services.h.

◆ serviceCbLIDoutputstate()

bool sick_scan_xd::SickScanServices::serviceCbLIDoutputstate ( sick_scan_srv::LIDoutputstateSrv::Request &  service_request,
sick_scan_srv::LIDoutputstateSrv::Response &  service_response 
)

Callback for service messages (LIDoutputstate, Request status change of monitoring fields on event). Sends a cola telegram "sEN LIDoutputstate {0|1}" and receives the response from the lidar device.

Parameters
[in]service_requestros service request to lidar
[out]service_responseservice response from lidar
Returns
true on success, false in case of errors.

Definition at line 349 of file sick_scan_services.cpp.

◆ serviceCbLIDoutputstateROS2()

bool sick_scan_xd::SickScanServices::serviceCbLIDoutputstateROS2 ( std::shared_ptr< sick_scan_srv::LIDoutputstateSrv::Request >  service_request,
std::shared_ptr< sick_scan_srv::LIDoutputstateSrv::Response >  service_response 
)
inline

Definition at line 131 of file sick_scan_services.h.

◆ serviceCbSCdevicestate()

bool sick_scan_xd::SickScanServices::serviceCbSCdevicestate ( sick_scan_srv::SCdevicestateSrv::Request &  service_request,
sick_scan_srv::SCdevicestateSrv::Response &  service_response 
)

Callbacks for service messages.

Parameters
[in]service_requestros service request to lidar
[out]service_responseservice response from lidar
Returns
true on success, false in case of errors.

Definition at line 1007 of file sick_scan_services.cpp.

◆ serviceCbSCdevicestateROS2()

bool sick_scan_xd::SickScanServices::serviceCbSCdevicestateROS2 ( std::shared_ptr< sick_scan_srv::SCdevicestateSrv::Request >  service_request,
std::shared_ptr< sick_scan_srv::SCdevicestateSrv::Response >  service_response 
)
inline

Definition at line 141 of file sick_scan_services.h.

◆ serviceCbSCreboot()

bool sick_scan_xd::SickScanServices::serviceCbSCreboot ( sick_scan_srv::SCrebootSrv::Request &  service_request,
sick_scan_srv::SCrebootSrv::Response &  service_response 
)

Definition at line 1037 of file sick_scan_services.cpp.

◆ serviceCbSCrebootROS2()

bool sick_scan_xd::SickScanServices::serviceCbSCrebootROS2 ( std::shared_ptr< sick_scan_srv::SCrebootSrv::Request >  service_request,
std::shared_ptr< sick_scan_srv::SCrebootSrv::Response >  service_response 
)
inline

Definition at line 144 of file sick_scan_services.h.

◆ serviceCbSCsoftreset()

bool sick_scan_xd::SickScanServices::serviceCbSCsoftreset ( sick_scan_srv::SCsoftresetSrv::Request &  service_request,
sick_scan_srv::SCsoftresetSrv::Response &  service_response 
)

Definition at line 1069 of file sick_scan_services.cpp.

◆ serviceCbSCsoftresetROS2()

bool sick_scan_xd::SickScanServices::serviceCbSCsoftresetROS2 ( std::shared_ptr< sick_scan_srv::SCsoftresetSrv::Request >  service_request,
std::shared_ptr< sick_scan_srv::SCsoftresetSrv::Response >  service_response 
)
inline

Definition at line 147 of file sick_scan_services.h.

◆ serviceCbSickScanExit()

bool sick_scan_xd::SickScanServices::serviceCbSickScanExit ( sick_scan_srv::SickScanExitSrv::Request &  service_request,
sick_scan_srv::SickScanExitSrv::Response &  service_response 
)

Definition at line 1101 of file sick_scan_services.cpp.

◆ serviceCbSickScanExitROS2()

bool sick_scan_xd::SickScanServices::serviceCbSickScanExitROS2 ( std::shared_ptr< sick_scan_srv::SickScanExitSrv::Request >  service_request,
std::shared_ptr< sick_scan_srv::SickScanExitSrv::Response >  service_response 
)
inline

Definition at line 150 of file sick_scan_services.h.

Member Data Documentation

◆ m_client_authorization_pw

std::string sick_scan_xd::SickScanServices::m_client_authorization_pw
protected

Definition at line 249 of file sick_scan_services.h.

◆ m_cola_binary

bool sick_scan_xd::SickScanServices::m_cola_binary
protected

cola ascii or cola binary messages

Definition at line 247 of file sick_scan_services.h.

◆ m_common_tcp

sick_scan_xd::SickScanCommonTcp* sick_scan_xd::SickScanServices::m_common_tcp
protected

common tcp handler

Definition at line 248 of file sick_scan_services.h.

◆ m_srv_server_ColaMsg

rosServiceServer<sick_scan_srv::ColaMsgSrv> sick_scan_xd::SickScanServices::m_srv_server_ColaMsg
protected

service "ColaMsg", &sick_scan::SickScanServices::serviceCbColaMsg

Definition at line 250 of file sick_scan_services.h.

◆ m_srv_server_ECRChangeArr

rosServiceServer<sick_scan_srv::ECRChangeArrSrv> sick_scan_xd::SickScanServices::m_srv_server_ECRChangeArr
protected

service "ECRChangeArr", &sick_scan::SickScanServices::serviceCbECRChangeArr

Definition at line 251 of file sick_scan_services.h.

◆ m_srv_server_GetContaminationResult

rosServiceServer<sick_scan_srv::GetContaminationResultSrv> sick_scan_xd::SickScanServices::m_srv_server_GetContaminationResult
protected

service "GetContaminationResult", &sick_scan::SickScanServices::serviceCbGetContaminationResult

Definition at line 252 of file sick_scan_services.h.

◆ m_srv_server_LIDoutputstate

rosServiceServer<sick_scan_srv::LIDoutputstateSrv> sick_scan_xd::SickScanServices::m_srv_server_LIDoutputstate
protected

service "LIDoutputstate", &sick_scan::SickScanServices::serviceCbLIDoutputstate

Definition at line 253 of file sick_scan_services.h.

◆ m_srv_server_SCdevicestate

rosServiceServer<sick_scan_srv::SCdevicestateSrv> sick_scan_xd::SickScanServices::m_srv_server_SCdevicestate
protected

service "SCdevicestate", &sick_scan::SickScanServices::serviceCbSCdevicestate

Definition at line 254 of file sick_scan_services.h.

◆ m_srv_server_SCreboot

rosServiceServer<sick_scan_srv::SCrebootSrv> sick_scan_xd::SickScanServices::m_srv_server_SCreboot
protected

service "SCreboot", &sick_scan::SickScanServices::serviceCbSCreboot

Definition at line 255 of file sick_scan_services.h.

◆ m_srv_server_SCsoftreset

rosServiceServer<sick_scan_srv::SCsoftresetSrv> sick_scan_xd::SickScanServices::m_srv_server_SCsoftreset
protected

service "SCsoftreset", &sick_scan::SickScanServices::serviceCbSCsoftreset

Definition at line 256 of file sick_scan_services.h.

◆ m_srv_server_SickScanExit

rosServiceServer<sick_scan_srv::SickScanExitSrv> sick_scan_xd::SickScanServices::m_srv_server_SickScanExit
protected

service "SickScanExitSrv", &sick_scan::SickScanServices::serviceCbSickScanExit

Definition at line 257 of file sick_scan_services.h.


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


sick_scan_xd
Author(s): Michael Lehning , Jochen Sprickerhof , Martin Günther
autogenerated on Fri Oct 25 2024 02:47:21