29 incoming_machine_message_queue,
31 outgoing_machine_message_queue);
51 ctpl::thread_pool thread_pool_;
53 std::unique_ptr<std::thread> machine_manager_thread_;
54 std::atomic_bool running_;
55 bool firmware_installation_running_ =
false;
56 uint32_t firmwareInstallationDeviceId = 0;
60 incoming_machine_message_queue_;
62 outgoing_machine_message_queue_;
64 struct AdditionalHeartbeatInfo {
67 int32_t timeout_in_50ms;
68 int32_t missed_50ms_intervals;
70 std::map<std::string , AdditionalHeartbeatInfo>
71 missed_heartbeats_map_;
73 std::vector<Machine*> machines_;
97 bool check_machines_done(
bool exclude_monitor_machine =
false);
104 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
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:560
void start()
Start the Machine Manager.
Definition machine_manager.cc:553
void stop()
Stop the Machine Manager.
Definition machine_manager.cc:558
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