Motion Master
|
#include <firmware_machine.h>
Public Member Functions | |
FirmwareMachine (VirtualDeviceManager &vdm, ctpl::thread_pool &thread_pool, Notifier ¬ifier, moodycamel::ReaderWriterQueue< OutgoingMachineMessage > &outgoing_machine_message_queue) | |
void | execute (uint64_t pending_signals) override |
Execute the machine. More... | |
void | abort_client_requests (const std::string &connection_id) override |
Abort all of the requests a certain client has issues. More... | |
bool | done () override |
Check if all of the machine started processes are done (including the Command Workers) More... | |
![]() | |
void | add_message (IncomingMachineMessage &incoming_machine_message) |
Add a new incoming machine message to the queue. More... | |
virtual void | execute (uint64_t pending_signals)=0 |
Execute the machine. More... | |
virtual void | abort_client_requests (const std::string &connection_id)=0 |
Abort all of the requests a certain client has issues. More... | |
bool | command_workers_done () |
Check if all started Command Workers are done. More... | |
virtual bool | done ()=0 |
Check if all of the machine started processes are done (including the Command Workers) More... | |
Additional Inherited Members | |
![]() | |
Machine (VirtualDeviceManager &vdm, ctpl::thread_pool &thread_pool, Notifier ¬ifier, moodycamel::ReaderWriterQueue< OutgoingMachineMessage > &outgoing_machine_message_queue) | |
virtual | ~Machine () |
void | start_command_worker (IncomingMachineMessage &incoming_machine_message) |
void | process_command_workers (std::function< void(CommandWorker *)> process=nullptr) |
Process all of the available Command Workers. More... | |
void | send_response (MachineMessage::Protocol protocol, std::string connection_id, motionmaster::MotionMasterMessage &message) |
Send the response (Status protobuf message) to the proper client. More... | |
![]() | |
VirtualDeviceManager & | vdm_ |
ctpl::thread_pool & | thread_pool_ |
std::queue< IncomingMachineMessage > | incoming_message_queue_ |
Notifier & | notifier_ |
FirmwareMachine::FirmwareMachine | ( | VirtualDeviceManager & | vdm, |
ctpl::thread_pool & | thread_pool, | ||
Notifier & | notifier, | ||
moodycamel::ReaderWriterQueue< OutgoingMachineMessage > & | outgoing_machine_message_queue | ||
) |
|
overridevirtual |
Abort all of the requests a certain client has issues.
connection_id | client connection ID |
Implements Machine.
|
overridevirtual |
Check if all of the machine started processes are done (including the Command Workers)
Implements Machine.
|
overridevirtual |
Execute the machine.
pending_signals | number of time intervals that passed since the last call to this function |
Implements Machine.