Package trclib.sensor

Class TrcTriggerDigitalInput

java.lang.Object
trclib.sensor.TrcTriggerDigitalInput
All Implemented Interfaces:
TrcTrigger

public class TrcTriggerDigitalInput extends Object implements TrcTrigger
This class implements a trigger for a digital input device. A digital input trigger consists of a digital input device. It monitors the device state and notifies the callback handler if the state changes.
  • Field Details

  • Constructor Details

    • TrcTriggerDigitalInput

      public TrcTriggerDigitalInput(String instanceName, TrcDigitalInput sensor)
      Constructor: Create an instance of the object.
      Parameters:
      instanceName - specifies the instance name.
      sensor - specifies the digital input device.
  • Method Details

    • toString

      public String toString()
      This method returns the instance name and its state.
      Overrides:
      toString in class Object
      Returns:
      instance name and state.
    • setEnabled

      private void setEnabled(boolean enabled, TrcEvent event)
      This method arms/disarms the trigger. It enables/disables the task that monitors the sensor value.
      Parameters:
      enabled - specifies true to enable, false to disable.
      event - specifies the event to signal when the trigger state changed, ignored if enabled is false.
    • enableTrigger

      public void enableTrigger(TrcTrigger.TriggerMode triggerMode, TrcEvent event)
      This method arms the trigger. It enables the task that monitors the sensor value.
      Specified by:
      enableTrigger in interface TrcTrigger
      Parameters:
      triggerMode - specifies the trigger mode that will signal the event.
      event - specifies the event to signal when the trigger state changed.
    • enableTrigger

      public void enableTrigger(TrcTrigger.TriggerMode triggerMode, TrcEvent.Callback callback)
      This method arms the trigger. It enables the task that monitors the sensor value.
      Specified by:
      enableTrigger in interface TrcTrigger
      Parameters:
      triggerMode - specifies the trigger mode that will trigger a callback.
      callback - specifies the callback handler to notify when the trigger state changed.
    • disableTrigger

      public void disableTrigger()
      This method disarms the trigger. It disables the task that monitors the sensor value.
      Specified by:
      disableTrigger in interface TrcTrigger
    • isEnabled

      public boolean isEnabled()
      This method checks if the trigger task is enabled.
      Specified by:
      isEnabled in interface TrcTrigger
      Returns:
      true if enabled, false otherwise.
    • getSensorValue

      public double getSensorValue()
      This method reads the current analog sensor value (not supported).
      Specified by:
      getSensorValue in interface TrcTrigger
      Returns:
      current sensor value.
    • getSensorState

      public boolean getSensorState()
      This method reads the current digital sensor state.
      Specified by:
      getSensorState in interface TrcTrigger
      Returns:
      current sensor state.
    • triggerTask

      private void triggerTask(TrcTaskMgr.TaskType taskType, TrcRobot.RunMode runMode, boolean slowPeriodicLoop)
      This method is called periodically to check the current sensor state. If it has changed from the previous state, the triggerCallback will be notified.
      Parameters:
      taskType - specifies the type of task being run.
      runMode - specifies the competition mode that is running. (e.g. Autonomous, TeleOp, Test).
      slowPeriodicLoop - specifies true if it is running the slow periodic loop on the main robot thread, false otherwise.