Motion Master
Loading...
Searching...
No Matches
full_auto_tuning_machine.h
Go to the documentation of this file.
1#pragma once
2
4#include "full_auto_tuning.h"
5#include "machine.h"
7
8class Cia402Drive;
9
11 public:
13 VirtualDeviceManager& vdm, ctpl::thread_pool& thread_pool,
14 Notifier& notifier,
16 outgoing_machine_message_queue);
17
18 void execute(uint64_t pending_signals) override;
19 void abort_client_requests(const std::string& connection_id) override;
20 bool done() override;
21
22 private:
23 class Axis {
24 public:
25 Axis(VirtualDeviceManager& vdm,
26 IncomingMachineMessage& incoming_machine_message);
27
28 std::unique_ptr<Cia402Drive> cia402_drive_;
29
30 IncomingMachineMessage incoming_machine_message_;
31 std::optional<IncomingMachineMessage> stop_incoming_machine_message_;
32
33 std::unique_ptr<FullAutoTuning> full_auto_tuning_;
34
35 std::future<std::variant<std::tuple<double, double, std::string>,
37 future_;
38 };
39
40 std::map<uint32_t, Axis> axis_map_;
41
42 void send_status(
43 const IncomingMachineMessage& incoming_machine_message,
44 motionmaster::MotionMasterMessage::MotionMasterMessage::Status* status);
45};
Definition cia402_drive.h:48
void execute(uint64_t pending_signals) override
Execute the machine.
Definition full_auto_tuning_machine.cc:18
void abort_client_requests(const std::string &connection_id) override
Abort all of the requests a certain client has issues.
Definition full_auto_tuning_machine.cc:440
FullAutoTuningMachine(VirtualDeviceManager &vdm, ctpl::thread_pool &thread_pool, Notifier &notifier, mm::core::containers::ThreadSafeQueue< OutgoingMachineMessage > &outgoing_machine_message_queue)
Definition full_auto_tuning_machine.cc:11
bool done() override
Check if all of the machine started processes are done (including the Command Workers)
Definition full_auto_tuning_machine.cc:526
Definition incoming_machine_message.h:5
Machine(VirtualDeviceManager &vdm, ctpl::thread_pool &thread_pool, Notifier &notifier, mm::core::containers::ThreadSafeQueue< OutgoingMachineMessage > &outgoing_machine_message_queue)
Definition machine.cc:7
Definition motion_master_error.h:6
Definition notifier.h:9
Definition virtual_device_manager.h:16
Thread-safe FIFO queue with optional capacity limit.
Definition thread_safe_queue.h:23