The following diagram shows the overall architecture of the PSENscan software.
The overall architecture should give a good idea of how the driver is supposed to work. For more details we recommend taking a look at the source code itself:
psen_scan_v2::ROSScannerNodeT
.psen_scan_v2_standalone::ScannerV2
.psen_scan_v2_standalone::protocol_layer::ScannerStateMachine
.psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::deserialize()
or psen_scan_v2_standalone::data_conversion_layer::scanner_reply::serialize()
.psen_scan_v2_standalone::communication_layer::UdpClientImpl
.To help understand the workflow the following sequence diagram shows the interaction between the software components in a typical use case scenario (User calls start, receives a laserscan and calls stop).