Motion Master
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
FirmwareMachine Class Reference

#include <firmware_machine.h>

Inheritance diagram for FirmwareMachine:
Inheritance graph
[legend]
Collaboration diagram for FirmwareMachine:
Collaboration graph
[legend]

Public Member Functions

 FirmwareMachine (VirtualDeviceManager &vdm, ctpl::thread_pool &thread_pool, Notifier &notifier, 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...
 
- Public Member Functions inherited from Machine
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

- Protected Member Functions inherited from Machine
 Machine (VirtualDeviceManager &vdm, ctpl::thread_pool &thread_pool, Notifier &notifier, 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...
 
- 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,
moodycamel::ReaderWriterQueue< 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: