Source code for compas_rrc.custom


from compas_fab.backends.ros.messages import ROSmsg

from compas_rrc.common import ExecutionLevel
from compas_rrc.common import FeedbackLevel

__all__ = ['CustomInstruction']


[docs]class CustomInstruction(ROSmsg): """Custom instruction is a call that invokes a custom RAPID instruction. The name has to match a ``RAPID`` procedure. Examples -------- .. code-block:: python # Custom instruction string_values = ['Custom Text'] float_values = [42] done = abb.send_and_wait(rrc.CustomInstruction('r_RRC_CustomInstruction', string_values, float_values)) RAPID Instruction: ``All usable`` .. include:: ../abb-reference.rst """
[docs] def __init__(self, name, string_values=[], float_values=[], feedback_level=FeedbackLevel.NONE, execution_level=ExecutionLevel.ROBOT): """Create a new instance of the instruction. Parameters ---------- name : :obj:`str` Name of the procedure to invoke on the robot code. Maximum of 80 characters. string_values : :obj:`list` of :obj:`str` List of up to 8 strings values, each of them with a maximum of 80 characters. float_values : :obj:`list` of :obj:`float` List of up to 36 float values. feedback_level : :obj:`int` Defines the feedback level requested from the robot. Defaults to :attr:`FeedbackLevel.NONE`. execution_level : :obj:`int` Defines the execution level of the instruction. Defaults to :attr:`ExecutionLevel.ROBOT`. """ self.instruction = name self.feedback_level = feedback_level self.exec_level = execution_level self.string_values = string_values self.float_values = float_values