30 incoming_machine_message_queue,
32 outgoing_machine_message_queue);
64 ctpl::thread_pool thread_pool_;
66 std::unique_ptr<std::thread> machine_manager_thread_;
67 std::atomic_bool running_;
68 bool firmware_installation_running_ =
false;
69 uint32_t firmwareInstallationDeviceId = 0;
73 incoming_machine_message_queue_;
75 outgoing_machine_message_queue_;
77 struct AdditionalHeartbeatInfo {
80 int32_t timeout_in_50ms;
81 int32_t missed_50ms_intervals;
83 std::map<std::string , AdditionalHeartbeatInfo>
84 missed_heartbeats_map_;
86 std::function<void()> on_monitoring_aborted_;
88 std::vector<Machine*> machines_;
112 bool check_machines_done(
bool exclude_monitor_machine =
false);
119 void execute_all_machines(uint64_t pending_signals);
Definition device_procedure_machine.h:14
Definition encoder_calibration_machine.h:9
Definition firmware_machine.h:13
Definition full_auto_tuning_machine.h:10
void setOnMonitoringAborted(std::function< void()> callback)
Register a callback invoked whenever all monitoring is aborted.
Definition machine_manager.cc:67
MachineManager(mm::core::containers::ThreadSafeQueue< IncomingMachineMessage > &incoming_machine_message_queue, mm::core::containers::ThreadSafeQueue< OutgoingMachineMessage > &outgoing_machine_message_queue)
Definition machine_manager.cc:23
~MachineManager()
Definition machine_manager.cc:65
void wait()
Wait until the Machine Manager finishes execution.
Definition machine_manager.cc:592
void start()
Start the Machine Manager.
Definition machine_manager.cc:585
void stop()
Stop the Machine Manager.
Definition machine_manager.cc:590
Protocol
Definition machine_message.h:9
Definition monitor_machine.h:16
Definition motion_control_machine.h:13
Definition signal_generator_machine.h:15
Definition system_machine.h:6
Definition universal_machine.h:6
Definition virtual_device_manager.h:16
Definition watchdog_machine.h:11
Thread-safe FIFO queue with optional capacity limit.
Definition thread_safe_queue.h:23