Motion Master
Loading...
Searching...
No Matches
full_auto_tuning_machine.h
Go to the documentation of this file.
1#pragma once
2
3#include "full_auto_tuning.h"
4#include "machine.h"
6
7class Cia402Drive;
8
10 public:
12 ctpl::thread_pool &thread_pool, Notifier &notifier,
13 moodycamel::ReaderWriterQueue<OutgoingMachineMessage>
14 &outgoing_machine_message_queue);
15
16 void execute(uint64_t pending_signals) override;
17 void abort_client_requests(const std::string &connection_id) override;
18 bool done() override;
19
20 private:
21 class Axis {
22 public:
23 Axis(VirtualDeviceManager &vdm,
24 IncomingMachineMessage &incoming_machine_message);
25
26 std::unique_ptr<Cia402Drive> cia402_drive_;
27
28 IncomingMachineMessage incoming_machine_message_;
29 std::optional<IncomingMachineMessage> stop_incoming_machine_message_;
30
31 std::unique_ptr<FullAutoTuning> full_auto_tuning_;
32
33 std::future<std::variant<std::tuple<double, double, std::string>,
35 future_;
36 };
37
38 std::map<uint32_t, Axis> axis_map_;
39
40 void send_status(
41 const IncomingMachineMessage &incoming_machine_message,
42 motionmaster::MotionMasterMessage::MotionMasterMessage::Status *status);
43};
Definition: cia402_drive.h:48
Definition: full_auto_tuning_machine.h:9
void execute(uint64_t pending_signals) override
Execute the machine.
Definition: full_auto_tuning_machine.cc:17
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:439
bool done() override
Check if all of the machine started processes are done (including the Command Workers)
Definition: full_auto_tuning_machine.cc:525
Definition: incoming_machine_message.h:5
Definition: machine.h:20
Definition: motion_master_error.h:6
Definition: notifier.h:10
Definition: virtual_device_manager.h:16