20 outgoing_machine_message_queue);
22 void execute(uint64_t pending_signals)
override;
32 enum class Stage { kInit, kStart, kWait, kDeinit, kDone };
35 std::unique_ptr<Cia402Drive> cia402_drive_;
39 std::unique_ptr<DeviceProcedure> device_procedure_;
40 std::optional<std::future<MotionMasterError>> future_;
41 Stage stage_ = Stage::kInit;
44 std::map<uint32_t, Axis> axis_map_;
48 motionmaster::MotionMasterMessage::MotionMasterMessage::Status* status);
50 void send_initial_confirmation_status(
51 uint32_t device_address,
54 void send_error_status(uint32_t device_address,
58 void send_success_status(uint32_t device_address,
DeviceProcedureMachine(VirtualDeviceManager &vdm, ctpl::thread_pool &thread_pool, Notifier ¬ifier, mm::core::containers::ThreadSafeQueue< OutgoingMachineMessage > &outgoing_machine_message_queue)
Definition device_procedure_machine.cc:10
Machine(VirtualDeviceManager &vdm, ctpl::thread_pool &thread_pool, Notifier ¬ifier, mm::core::containers::ThreadSafeQueue< OutgoingMachineMessage > &outgoing_machine_message_queue)
Definition machine.cc:7