Motion Master
Loading...
Searching...
No Matches
FirmwareMachine Class Reference

#include <firmware_machine.h>

Inheritance diagram for FirmwareMachine:
Collaboration diagram for FirmwareMachine:

Public Member Functions

 FirmwareMachine (VirtualDeviceManager &vdm, ctpl::thread_pool &thread_pool, Notifier &notifier, mm::core::containers::ThreadSafeQueue< OutgoingMachineMessage > &outgoing_machine_message_queue)
void execute (uint64_t pending_signals) override
 Execute the machine.
void abort_client_requests (const std::string &connection_id) override
 Abort all of the requests a certain client has issues.
bool done () override
 Check if all of the machine started processes are done (including the Command Workers)
Public Member Functions inherited from Machine
void add_message (IncomingMachineMessage &incoming_machine_message)
 Add a new incoming machine message to the queue.
bool command_workers_done ()
 Check if all started Command Workers are done.

Additional Inherited Members

Protected Member Functions inherited from Machine
 Machine (VirtualDeviceManager &vdm, ctpl::thread_pool &thread_pool, Notifier &notifier, mm::core::containers::ThreadSafeQueue< 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.
void send_response (MachineMessage::Protocol protocol, std::string connection_id, motionmaster::MotionMasterMessage &message)
 Send the response (Status protobuf message) to the proper client.
Protected Attributes inherited from Machine
VirtualDeviceManagervdm_
ctpl::thread_pool & thread_pool_
std::queue< IncomingMachineMessageincoming_message_queue_
Notifiernotifier_

Constructor & Destructor Documentation

◆ FirmwareMachine()

FirmwareMachine::FirmwareMachine ( VirtualDeviceManager & vdm,
ctpl::thread_pool & thread_pool,
Notifier & notifier,
mm::core::containers::ThreadSafeQueue< OutgoingMachineMessage > & outgoing_machine_message_queue )

Member Function Documentation

◆ abort_client_requests()

void FirmwareMachine::abort_client_requests ( const std::string & connection_id)
overridevirtual

Abort all of the requests a certain client has issues.

Parameters
connection_idclient connection ID

Implements Machine.

◆ done()

bool FirmwareMachine::done ( )
overridevirtual

Check if all of the machine started processes are done (including the Command Workers)

Returns
true if all of the processes are done, false otherwise

Implements Machine.

◆ execute()

void FirmwareMachine::execute ( uint64_t pending_signals)
overridevirtual

Execute the machine.

Parameters
pending_signalsnumber of time intervals that passed since the last call to this function

Implements Machine.


The documentation for this class was generated from the following files: