Definition of the scanner protocol. It is initialized using the StateMachineArgs class. More...
#include <scanner_state_machine.h>
Classes | |
class | InternalScannerReplyError |
Exception thrown when something goes wrong with the scanner reply. More... | |
struct | transition_table |
Table describing the state machine which is specified in the scanner protocol. More... | |
Public Types | |
typedef Idle | initial_state |
typedef ScannerProtocolDef | m |
Private Types | |
using | ScannerId = psen_scan_v2_standalone::configuration::ScannerId |
Private Attributes | |
ScannerConfiguration | config_ |
communication_layer::UdpClientImpl | control_client_ |
communication_layer::UdpClientImpl | data_client_ |
const InformUserAboutLaserScanCallback | inform_user_about_laser_scan_callback_ |
const std::function< void()> | monitoring_frame_timeout_callback_ |
std::unique_ptr< util::Watchdog > | monitoring_frame_watchdog_ {} |
std::unordered_map< ScannerId, ScanBuffer > | scan_buffers_ {} |
const ScannerStartedCallback | scanner_started_callback_ |
const ScannerStoppedCallback | scanner_stopped_callback_ |
const StartErrorCallback | start_error_callback_ |
std::unique_ptr< util::Watchdog > | start_reply_watchdog_ {} |
const std::function< void()> | start_timeout_callback_ |
const StopErrorCallback | stop_error_callback_ |
WatchdogFactory | watchdog_factory_ {} |
boost::optional< data_conversion_layer::monitoring_frame::Message > | zoneset_reference_msg_ |
Definition of the scanner protocol. It is initialized using the StateMachineArgs class.
This class interacts with UdpClientImpl in order to perform its actions. These include sending a start request, a stop request and handling incoming messages such as a start reply, a stop reply and a monitoring frame.
Precisely, the StateMachineArgs::control_client_ is used for the starting-/stopping procedure and the StateMachineArgs::data_client_ for receiving monitoring frames.
It also checks for internal errors of incoming messages and handles timeouts of the above mentioned actions by creating watchdogs via IWatchdogFactory.
Definition at line 147 of file scanner_state_machine.h.
Definition at line 206 of file scanner_state_machine.h.
Definition at line 207 of file scanner_state_machine.h.
|
private |
Definition at line 287 of file scanner_state_machine.h.
|
inline |
Definition at line 23 of file scanner_state_machine_def.h.
|
inlineprivate |
data_conversion_layer::monitoring_frame::AdditionalFieldMissing | if scan_counter or active_zoneset is not set. |
Definition at line 246 of file scanner_state_machine_def.h.
|
inlineprivate |
Definition at line 236 of file scanner_state_machine_def.h.
|
inlineprivate |
Definition at line 326 of file scanner_state_machine_def.h.
void psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::exception_caught | ( | Event const & | event, |
FSM & | fsm, | ||
std::exception & | exception | ||
) |
Definition at line 438 of file scanner_state_machine_def.h.
|
inlineprivate |
data_conversion_layer::monitoring_frame::AdditionalFieldMissing | if measurements is not set in one of the msgs. |
Definition at line 295 of file scanner_state_machine_def.h.
|
inline |
Definition at line 179 of file scanner_state_machine_def.h.
|
inline |
Definition at line 308 of file scanner_state_machine_def.h.
|
inline |
Definition at line 162 of file scanner_state_machine_def.h.
|
inlineprivate |
data_conversion_layer::monitoring_frame::AdditionalFieldMissing | if scan_counter, active_zoneset or measurements is not set. |
Definition at line 256 of file scanner_state_machine_def.h.
|
inlineprivate |
Definition at line 389 of file scanner_state_machine_def.h.
|
inline |
Definition at line 347 of file scanner_state_machine_def.h.
|
inline |
Definition at line 368 of file scanner_state_machine_def.h.
|
inlineprivate |
Definition at line 399 of file scanner_state_machine_def.h.
|
inline |
Definition at line 361 of file scanner_state_machine_def.h.
|
inline |
Definition at line 382 of file scanner_state_machine_def.h.
|
inlineprivate |
Definition at line 404 of file scanner_state_machine_def.h.
|
inlineprivate |
Definition at line 409 of file scanner_state_machine_def.h.
|
inlineprivate |
Definition at line 394 of file scanner_state_machine_def.h.
|
inline |
Definition at line 354 of file scanner_state_machine_def.h.
|
inline |
Definition at line 375 of file scanner_state_machine_def.h.
void psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::no_transition | ( | const scanner_events::RawMonitoringFrameReceived & | , |
FSM & | , | ||
int | state | ||
) |
Definition at line 456 of file scanner_state_machine_def.h.
void psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::no_transition | ( | Event const & | event, |
FSM & | , | ||
int | state | ||
) |
Definition at line 447 of file scanner_state_machine_def.h.
|
inline |
Definition at line 219 of file scanner_state_machine_def.h.
|
inline |
Definition at line 231 of file scanner_state_machine_def.h.
|
inline |
Definition at line 201 of file scanner_state_machine_def.h.
|
inline |
Definition at line 206 of file scanner_state_machine_def.h.
|
inline |
Definition at line 211 of file scanner_state_machine_def.h.
|
inline |
Definition at line 224 of file scanner_state_machine_def.h.
|
inlineprivate |
data_conversion_layer::monitoring_frame::AdditionalFieldMissing | if scan_counter, active_zoneset or measurements is not set in one of the msgs. |
Definition at line 277 of file scanner_state_machine_def.h.
|
inline |
Definition at line 148 of file scanner_state_machine_def.h.
|
inline |
Definition at line 172 of file scanner_state_machine_def.h.
psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::STATE | ( | Error | ) |
psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::STATE | ( | Idle | ) |
psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::STATE | ( | Stopped | ) |
psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::STATE | ( | WaitForMonitoringFrame | ) |
psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::STATE | ( | WaitForStartReply | ) |
psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::STATE | ( | WaitForStopReply | ) |
|
private |
Definition at line 281 of file scanner_state_machine.h.
|
private |
Definition at line 293 of file scanner_state_machine.h.
|
private |
Definition at line 294 of file scanner_state_machine.h.
|
private |
Definition at line 301 of file scanner_state_machine.h.
|
private |
Definition at line 305 of file scanner_state_machine.h.
|
private |
Definition at line 285 of file scanner_state_machine.h.
|
private |
Definition at line 288 of file scanner_state_machine.h.
|
private |
Definition at line 297 of file scanner_state_machine.h.
|
private |
Definition at line 298 of file scanner_state_machine.h.
|
private |
Definition at line 299 of file scanner_state_machine.h.
|
private |
Definition at line 283 of file scanner_state_machine.h.
|
private |
Definition at line 304 of file scanner_state_machine.h.
|
private |
Definition at line 300 of file scanner_state_machine.h.
|
private |
Definition at line 308 of file scanner_state_machine.h.
|
private |
Definition at line 290 of file scanner_state_machine.h.