#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::SickScanCommonTcp * | m_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... | |
Definition at line 76 of file sick_scan_services.h.
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.
|
virtual |
Definition at line 196 of file sick_scan_services.cpp.
|
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.
|
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.
|
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.
|
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.
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.
|
protected |
Sends the SOPAS command "sMN Run", which applies previous send settings
Definition at line 393 of file sick_scan_services.cpp.
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.
[in] | sopasCmd | sopas command to send, f.e. "sEN ECRChangeArr 1" |
[out] | sopasReplyBin | response from lidar incl. start/stop byte |
[out] | sopasReplyString | sopasReplyBin converted to string |
Definition at line 207 of file sick_scan_services.cpp.
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.
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).
[in] | service_request | ros service request to lidar |
[out] | service_response | service response from lidar |
Definition at line 248 of file sick_scan_services.cpp.
|
inline |
Definition at line 101 of file sick_scan_services.h.
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.
[in] | service_request | ros service request to lidar |
[out] | service_response | service response from lidar |
Definition at line 274 of file sick_scan_services.cpp.
|
inline |
Definition at line 111 of file sick_scan_services.h.
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.
[in] | service_request | ros service request to lidar |
[out] | service_response | service response from lidar |
Callbacks for service messages.
[in] | service_request | ros service request to lidar |
[out] | service_response | service response from lidar |
Definition at line 300 of file sick_scan_services.cpp.
|
inline |
Definition at line 121 of file sick_scan_services.h.
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.
[in] | service_request | ros service request to lidar |
[out] | service_response | service response from lidar |
Definition at line 349 of file sick_scan_services.cpp.
|
inline |
Definition at line 131 of file sick_scan_services.h.
bool sick_scan_xd::SickScanServices::serviceCbSCdevicestate | ( | sick_scan_srv::SCdevicestateSrv::Request & | service_request, |
sick_scan_srv::SCdevicestateSrv::Response & | service_response | ||
) |
Callbacks for service messages.
[in] | service_request | ros service request to lidar |
[out] | service_response | service response from lidar |
Definition at line 1007 of file sick_scan_services.cpp.
|
inline |
Definition at line 141 of file sick_scan_services.h.
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.
|
inline |
Definition at line 144 of file sick_scan_services.h.
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.
|
inline |
Definition at line 147 of file sick_scan_services.h.
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.
|
inline |
Definition at line 150 of file sick_scan_services.h.
|
protected |
Definition at line 249 of file sick_scan_services.h.
|
protected |
cola ascii or cola binary messages
Definition at line 247 of file sick_scan_services.h.
|
protected |
common tcp handler
Definition at line 248 of file sick_scan_services.h.
|
protected |
service "ColaMsg", &sick_scan::SickScanServices::serviceCbColaMsg
Definition at line 250 of file sick_scan_services.h.
|
protected |
service "ECRChangeArr", &sick_scan::SickScanServices::serviceCbECRChangeArr
Definition at line 251 of file sick_scan_services.h.
|
protected |
service "GetContaminationResult", &sick_scan::SickScanServices::serviceCbGetContaminationResult
Definition at line 252 of file sick_scan_services.h.
|
protected |
service "LIDoutputstate", &sick_scan::SickScanServices::serviceCbLIDoutputstate
Definition at line 253 of file sick_scan_services.h.
|
protected |
service "SCdevicestate", &sick_scan::SickScanServices::serviceCbSCdevicestate
Definition at line 254 of file sick_scan_services.h.
|
protected |
service "SCreboot", &sick_scan::SickScanServices::serviceCbSCreboot
Definition at line 255 of file sick_scan_services.h.
|
protected |
service "SCsoftreset", &sick_scan::SickScanServices::serviceCbSCsoftreset
Definition at line 256 of file sick_scan_services.h.
|
protected |
service "SickScanExitSrv", &sick_scan::SickScanServices::serviceCbSickScanExit
Definition at line 257 of file sick_scan_services.h.