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 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_ {} |
ScanBuffer | scan_buffer_ { DEFAULT_NUM_MSG_PER_ROUND } |
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 145 of file scanner_state_machine.h.
Definition at line 204 of file scanner_state_machine.h.
Definition at line 205 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 238 of file scanner_state_machine_def.h.
|
inlineprivate |
Definition at line 228 of file scanner_state_machine_def.h.
|
inlineprivate |
Definition at line 318 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 430 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 287 of file scanner_state_machine_def.h.
|
inline |
Definition at line 171 of file scanner_state_machine_def.h.
|
inline |
Definition at line 300 of file scanner_state_machine_def.h.
|
inline |
Definition at line 154 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 248 of file scanner_state_machine_def.h.
|
inlineprivate |
Definition at line 381 of file scanner_state_machine_def.h.
|
inline |
Definition at line 339 of file scanner_state_machine_def.h.
|
inline |
Definition at line 360 of file scanner_state_machine_def.h.
|
inlineprivate |
Definition at line 391 of file scanner_state_machine_def.h.
|
inline |
Definition at line 353 of file scanner_state_machine_def.h.
|
inline |
Definition at line 374 of file scanner_state_machine_def.h.
|
inlineprivate |
Definition at line 396 of file scanner_state_machine_def.h.
|
inlineprivate |
Definition at line 401 of file scanner_state_machine_def.h.
|
inlineprivate |
Definition at line 386 of file scanner_state_machine_def.h.
|
inline |
Definition at line 346 of file scanner_state_machine_def.h.
|
inline |
Definition at line 367 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 439 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 448 of file scanner_state_machine_def.h.
|
inline |
Definition at line 211 of file scanner_state_machine_def.h.
|
inline |
Definition at line 223 of file scanner_state_machine_def.h.
|
inline |
Definition at line 193 of file scanner_state_machine_def.h.
|
inline |
Definition at line 198 of file scanner_state_machine_def.h.
|
inline |
Definition at line 203 of file scanner_state_machine_def.h.
|
inline |
Definition at line 216 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 269 of file scanner_state_machine_def.h.
|
inline |
Definition at line 140 of file scanner_state_machine_def.h.
|
inline |
Definition at line 164 of file scanner_state_machine_def.h.
psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::STATE | ( | Idle | ) |
psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::STATE | ( | WaitForStartReply | ) |
psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::STATE | ( | WaitForMonitoringFrame | ) |
psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::STATE | ( | WaitForStopReply | ) |
psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::STATE | ( | Stopped | ) |
psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::STATE | ( | Error | ) |
|
private |
Definition at line 279 of file scanner_state_machine.h.
|
private |
Definition at line 288 of file scanner_state_machine.h.
|
private |
Definition at line 289 of file scanner_state_machine.h.
|
private |
Definition at line 296 of file scanner_state_machine.h.
|
private |
Definition at line 300 of file scanner_state_machine.h.
|
private |
Definition at line 283 of file scanner_state_machine.h.
|
private |
Definition at line 284 of file scanner_state_machine.h.
|
private |
Definition at line 292 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 281 of file scanner_state_machine.h.
|
private |
Definition at line 299 of file scanner_state_machine.h.
|
private |
Definition at line 295 of file scanner_state_machine.h.
|
private |
Definition at line 303 of file scanner_state_machine.h.
|
private |
Definition at line 285 of file scanner_state_machine.h.