SICKAG / sick_scan_xd

Based on the sick_scan drivers for ROS1, sick_scan_xd merges sick_scan, sick_scan2 and sick_scan_base repositories. The driver supports both Linux (native, ROS1, ROS2) and Windows (native and ROS2).
Apache License 2.0
90 stars 83 forks source link

"Pass through" callback #305

Closed manini closed 2 months ago

manini commented 3 months ago

In the SOPAS software we can detect when an object passes through a certain area and we can count how many times objects pass through that area. I need something similar in my software that uses sick_scan_xd_shared_lib.dll API. Is this event recognizable with your API? Is there a callback I can fire when the event happens? Thank you very much for your help. Kind regards,

rostest commented 3 months ago

Thanks for your feedback. Field monitoring events can be received by registering a callback using API-functions SickScanApiRegisterLFErecMsg and SickScanApiRegisterLIDoutputstateMsg.

// Register / deregister a callback for SickScanLFErecMsg messages
SICK_SCAN_API_DECLSPEC_EXPORT int32_t SickScanApiRegisterLFErecMsg(SickScanApiHandle apiHandle, SickScanLFErecMsgCallback callback);
SICK_SCAN_API_DECLSPEC_EXPORT int32_t SickScanApiDeregisterLFErecMsg(SickScanApiHandle apiHandle, SickScanLFErecMsgCallback callback);

// Register / deregister a callback for SickScanLIDoutputstateMsg messages
SICK_SCAN_API_DECLSPEC_EXPORT int32_t SickScanApiRegisterLIDoutputstateMsg(SickScanApiHandle apiHandle, SickScanLIDoutputstateMsgCallback callback);
SICK_SCAN_API_DECLSPEC_EXPORT int32_t SickScanApiDeregisterLIDoutputstateMsg(SickScanApiHandle apiHandle, SickScanLIDoutputstateMsgCallback callback);