3#include <readerwriterqueue/readerwriterqueue.h>
29 MachineManager(moodycamel::ReaderWriterQueue<IncomingMachineMessage>
30 &incoming_machine_message_queue,
31 moodycamel::ReaderWriterQueue<OutgoingMachineMessage>
32 &outgoing_machine_message_queue);
52 ctpl::thread_pool thread_pool_;
54 std::unique_ptr<std::thread> machine_manager_thread_;
55 std::atomic_bool running_;
56 bool firmware_installation_running_ =
false;
57 uint32_t firmwareInstallationDeviceId = 0;
60 moodycamel::ReaderWriterQueue<IncomingMachineMessage>
61 &incoming_machine_message_queue_;
62 moodycamel::ReaderWriterQueue<OutgoingMachineMessage>
63 &outgoing_machine_message_queue_;
65 struct AdditionalHeartbeatInfo {
68 int32_t timeout_in_50ms;
69 int32_t missed_50ms_intervals;
71 std::map<std::string , AdditionalHeartbeatInfo>
72 missed_heartbeats_map_;
74 std::vector<Machine *> machines_;
98 bool check_machines_done(
bool exclude_monitor_machine =
false);
105 void execute_all_machines(uint64_t pending_signals);
Definition: device_procedure_machine.h:14
Definition: encoder_calibration_machine.h:8
Definition: firmware_machine.h:12
Definition: full_auto_tuning_machine.h:9
Definition: machine_manager.h:27
~MachineManager()
Definition: machine_manager.cc:65
void wait()
Wait until the Machine Manager finishes execution.
Definition: machine_manager.cc:573
void start()
Start the Machine Manager.
Definition: machine_manager.cc:566
void stop()
Stop the Machine Manager.
Definition: machine_manager.cc:571
Protocol
Definition: machine_message.h:9
Definition: monitor_machine.h:13
Definition: motion_control_machine.h:12
Definition: notifier.h:10
Definition: signal_generator_machine.h:16
Definition: system_machine.h:5
Definition: universal_machine.h:7
Definition: virtual_device_manager.h:16
Definition: watchdog_machine.h:11