AuboCaps  0.6.0
arcs::aubo_scope::ScrewdriverContribution Class Referenceabstract

#include <screw_driver_contribution.h>

Public Member Functions

virtual ~ScrewdriverContribution ()=default
 
virtual std::string getTitle ()=0
 This method must return the title of the screwdriver contribution. More...
 
virtual void configureScrewdriver (ScrewdriverConfiguration screwdriverConfiguration, ScrewdriverAPIProviderPtr apiProvider)
 
virtual void generateStartScrewdriverScript (ScriptWriterPtr scriptWriter, ScrewdriverParametersPtr parameters)=0
 
virtual void generateStopScrewdriverScript (ScriptWriterPtr scriptWriter, ScrewdriverParametersPtr parameters)=0
 

Detailed Description

This interface defines an API for adding functionality for screwdrivers to AuboScope.

Implementing this interface will "integrate" (hook) this screwdriving contribution into the builtin (native) AuboScope Screwdriving program node and Screwdriving installation screen. This will expose the screwdriving functionality supported by the screwdriver to the end user.

Note: Both the builtin (native) AuboScope Screwdriving program node and Screwdriver contributions are not supported on CB3 robots. If a AuboCap registers a Screwdriver contribution on a CB3 robot, the AuboCap will fail to be activated.

The Screwdriving program node allows the end user to program screwdriving operations. The configuration options available to the end user are based on the properties and capabilities supported by the screwdriver. As a minimum, all screwdrivers must support "default" screw (start screwdriver) and stop (stop screwdriver) operations. All other capabilities are optional to support and can be registered when the method ScrewdriverApiProvider) is called.

The integration in the Screwdriving installation screen allows the user to select the screwdriver for programming screwing operations (using the Screwdriving program node). It also offers the possibility to define any custom inputs from the end user that are required to setup the screwdriver, e.g. specifying an IP address. This functionality is optional, since such configuration properties are specific for each screwdriver device. The corresponding generated custom UI will be accessible in the screen when the screwdriver is selected (by the end user) and replace the default Screwdriving installation UI. Access to create a custom configuration based on user inputs is provided when the method SystemConfiguration, TCPConfiguration, ScrewdriverApiProvider) is called.

Definition at line 61 of file screw_driver_contribution.h.

Constructor & Destructor Documentation

virtual arcs::aubo_scope::ScrewdriverContribution::~ScrewdriverContribution ( )
virtualdefault

Member Function Documentation

virtual void arcs::aubo_scope::ScrewdriverContribution::configureScrewdriver ( ScrewdriverConfiguration  screwdriverConfiguration,
ScrewdriverAPIProviderPtr  apiProvider 
)
virtual

When this method is called, use the configuration parameter to register or setup optional properties and capabilities of the screwdriver.

The method is called in the Screwdriver Configuration phase after this contribution has been registered when a new installation is loaded or created.

Note: If the screwdriver only supports basic "default" screw (see ScrewdriverParameters)) and stop (see ScrewdriverParameters)) operations, leave the implementation of this method empty.

Parameters
screwdriverConfigurationa configuration instance that can be used for registering or setting up the properties and capabilities of the screwdriver.
apiProviderprovides access to functionality and services available from within AuboScope which can be relevant for setting up the screwdriver capabilities (e.g. the SystemAPI interface with functionality for querying information about the robot).
virtual void arcs::aubo_scope::ScrewdriverContribution::generateStartScrewdriverScript ( ScriptWriterPtr  scriptWriter,
ScrewdriverParametersPtr  parameters 
)
pure virtual

When this method is called, the script code for driving the screw must be generated.

The relevant parameters for the registered optional screwdriver capabilities/requirements defined/configured by the end user are provided as input to the script code generation.

Parameters
scriptWriteruse this script writer instance to generate the script code for driving the screw
parametersthe parameters for the screwdriving operation defined/configured by the end user
virtual void arcs::aubo_scope::ScrewdriverContribution::generateStopScrewdriverScript ( ScriptWriterPtr  scriptWriter,
ScrewdriverParametersPtr  parameters 
)
pure virtual

When this method is called, the script code for stopping the screw driver must be generated (i.e. the screwdriver must stop the current screwdriving operation).

The relevant parameters for the registered optional screwdriver capabilities/requirements defined/configured by the end user are provided as input to the script code generation.

Parameters
scriptWriteruse this script writer instance to generate the script code for stopping the screwdriver
parametersthe parameters for the screwdriving operation defined/configured by the end user
virtual std::string arcs::aubo_scope::ScrewdriverContribution::getTitle ( )
pure virtual

This method must return the title of the screwdriver contribution.

The title is displayed in:

  • The builtin (native) AuboScope Screwdriving installation screen at the top where the screwdriver is selected
  • The screen for the builtin (native) AuboScope Screwdriving program node (if this screwdriver has been selected in the Screwdriving installation screen)

This method is called once upon startup.

Parameters
localethe current locale of AuboScope. Can be used for supporting titles in several languages.
Returns
the title of this screw driver contribution, not null nor an empty string.

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