Class BasicPeripheralCommAdapter

java.lang.Object
org.opentcs.drivers.peripherals.BasicPeripheralCommAdapter
All Implemented Interfaces:
Lifecycle, PeripheralCommAdapter

public abstract class BasicPeripheralCommAdapter
extends java.lang.Object
implements PeripheralCommAdapter
A base class for peripheral communication adapters mainly providing command queue processing.
  • Constructor Details

    • BasicPeripheralCommAdapter

      public BasicPeripheralCommAdapter​(PeripheralProcessModel processModel, EventHandler eventHandler)
      Creates a new instance.
      Parameters:
      processModel - A model of the peripheral device's and its communication adapter's attributes.
      eventHandler - The handler used to send events to.
  • Method Details

    • initialize

      public void initialize()
      (Re-)Initializes this component before it is being used.

      Overriding methods are expected to call this implementation, too.

      Specified by:
      initialize in interface Lifecycle
    • isInitialized

      public boolean isInitialized()
      Description copied from interface: Lifecycle
      Checks whether this component is initialized.
      Specified by:
      isInitialized in interface Lifecycle
      Returns:
      true if, and only if, this component is initialized.
    • terminate

      public void terminate()
      Terminates the instance and frees resources.

      Overriding methods are expected to call this implementation, too.

      Specified by:
      terminate in interface Lifecycle
    • enable

      public void enable()
      Enables this comm adapter, i.e. turns it on.

      Overriding methods are expected to call this implementation, too.

      Specified by:
      enable in interface PeripheralCommAdapter
    • isEnabled

      public boolean isEnabled()
      Description copied from interface: PeripheralCommAdapter
      Checks whether this communication adapter is enabled.
      Specified by:
      isEnabled in interface PeripheralCommAdapter
      Returns:
      true if, and only if, this communication adapter is enabled.
    • disable

      public void disable()
      Disables this comm adapter, i.e. turns it off.

      Overriding methods are expected to call this implementation, too.

      Specified by:
      disable in interface PeripheralCommAdapter
    • getProcessModel

      public PeripheralProcessModel getProcessModel()
      Description copied from interface: PeripheralCommAdapter
      Returns a model of the peripheral device's and its communication adapter's attributes.
      Specified by:
      getProcessModel in interface PeripheralCommAdapter
      Returns:
      A model of the peripheral device's and its communication adapter's attributes.
    • abortJob

      @ScheduledApiChange(when="6.0", details="Implementation will be removed") public void abortJob()
      Description copied from interface: PeripheralCommAdapter
      Aborts the current job, if any.

      Whether a job can actually be aborted depends on the actual peripheral/job semantics. The callback for the current job may still be called to indicate the job has failed, but it is not strictly expected to. The kernel will ignore calls to the callback after calling this method.

      Specified by:
      abortJob in interface PeripheralCommAdapter
    • setProcessModel

      protected void setProcessModel​(PeripheralProcessModel processModel)
    • getEventHandler

      protected EventHandler getEventHandler()
    • sendProcessModelChangedEvent

      protected void sendProcessModelChangedEvent​(PeripheralProcessModel.Attribute attributeChanged)
    • connectPeripheral

      protected abstract void connectPeripheral()
      Initiates a communication channel to the peripheral device. This method should not block, i.e. it should not wait for the actual connection to be established, as the peripheral device could be temporarily absent or not responding at all. If that's the case, the communication adapter should continue trying to establish a connection until successful or until disconnectPeripheral() is called.
    • disconnectPeripheral

      protected abstract void disconnectPeripheral()
      Closes the communication channel to the peripheral device.