ControlAPI::ControlSystem Class Reference

Primary class for managing upper-level control over a multi-axis system with different devices. Supports addition of Devices, Controllers, and Control/Commands. More...

#include <HC_API.h>

Inheritance diagram for ControlAPI::ControlSystem:

Public Member Functions

virtual std::string className () override
 
 ControlSystem (ControlSystem &system)
 
void addDeviceController (DeviceController *controller)
 Add a device controller to the control system.
 
virtual void initializeDevices ()
 initFriendlyNameBuffer (start initial communication and do checks) on all added controllers/devices
 
virtual void initializeController (DeviceController *controller)
 initFriendlyNameBuffer an added device controller.
 
virtual void unInitialize ()
 De initialize the control system. disconnecting all controllers and devices. user created controllers and devices should remain allocated while this function is called - then can be freed/released afterwards. More...
 
void muteConsole ()
 Mute info messages on console.
 
void unMuteConsole ()
 UnMute info message on console.
 
CommandStatus * delay (std::string deviceAlias, float time_s)
 Add a time delay command to a device.
 
CommandStatus * delay (DeviceInfo *devInfo, float time_s)
 Add a time delay command to a device.
 
CommandStatus * addDeviceCommand (DeviceInfo *device, DeviceCommandPackage *package)
 Add a command to a device.
 
CommandStatus * addDeviceCommandAlias (std::string deviceAlias, DeviceCommandPackage *package)
 Add a command to a device using device alias string.
 
CommandStatus * addDeviceCommandDevId (int deviceId, DeviceCommandPackage *package)
 Add a command to a device using device id.
 
DeviceInfo * getDeviceFromAlias (std::string deviceAlias)
 Get a device from its alias string.
 
DeviceController * getControllerFromAlias (std::string controllerAlias)
 Get a controller from its alias string.
 
void runFullCommandListSeq (std::vector< CommandStatus * > commandList)
 Run Commands in order, one after another, fully More...
 
void runFullCommandListParallel (std::vector< CommandStatus * > commandList)
 Run Commands in parallel More...
 
void runASyncCommandList (std::vector< CommandStatus * > commandList)
 Start the list of commands running async, returns immediately. More...
 
void waitFinishedCommandList (std::vector< CommandStatus * > commandList)
 Wait for the list of commands to complete More...
 
void setCommandCallback (std::shared_ptr< CommandCallbacks > callbackObj)
 Attach a CommandCallbacks object to the ControlSystem.
 
- Public Member Functions inherited from ControlAPI::LoggerFunctionality
std::shared_ptr< spdlog::logger > getLogger ()
 
std::string loggerName ()
 

Static Public Member Functions

static std::string staticClassName ()
 
- Static Public Member Functions inherited from ControlAPI::LoggerFunctionality
static std::string staticClassName ()
 

Friends

class LoggerFunctionality
 
class ControlSystem_Internals
 

Additional Inherited Members

- Protected Attributes inherited from ControlAPI::LoggerFunctionality
std::shared_ptr< spdlog::logger > logger
 
ControlSystem * controlSystem = nullptr
 

Detailed Description

Primary class for managing upper-level control over a multi-axis system with different devices. Supports addition of Devices, Controllers, and Control/Commands.

Member Function Documentation

◆ runASyncCommandList()

void ControlAPI::ControlSystem::runASyncCommandList (std::vector< CommandStatus * > commandList)

Start the list of commands running async, returns immediately.

Parameters
commandList

◆ runFullCommandListParallel()

void ControlAPI::ControlSystem::runFullCommandListParallel (std::vector< CommandStatus * > commandList)

Run Commands in parallel

Parameters
commandList

◆ runFullCommandListSeq()

void ControlAPI::ControlSystem::runFullCommandListSeq (std::vector< CommandStatus * > commandList)

Run Commands in order, one after another, fully

Parameters
commandList

◆ unInitialize()

virtual void ControlAPI::ControlSystem::unInitialize ()
virtual

De initialize the control system. disconnecting all controllers and devices. user created controllers and devices should remain allocated while this function is called - then can be freed/released afterwards.

◆ waitFinishedCommandList()

void ControlAPI::ControlSystem::waitFinishedCommandList (std::vector< CommandStatus * > commandList)

Wait for the list of commands to complete

Parameters
commandList

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