001 /*----------------------------------------------------------------------------*/
002 /* Copyright (c) FIRST 2008-2012. All Rights Reserved. */
003 /* Open Source Software - may be modified and shared by FRC teams. The code */
004 /* must be accompanied by the FIRST BSD license file in the root directory of */
005 /* the project. */
006 /*----------------------------------------------------------------------------*/
007
008 package edu.wpi.first.wpilibj;
009
010 /**
011 * DigitalSource Interface.
012 * The DigitalSource represents all the possible inputs for a counter or a quadrature encoder. The source may be
013 * either a digital input or an analog input. If the caller just provides a channel, then a digital input will be
014 * constructed and freed when finished for the source. The source can either be a digital input or analog trigger
015 * but not both.
016 */
017 public abstract class DigitalSource extends InterruptableSensorBase {
018
019 /**
020 * Get the channel routing number
021 * @return channel routing number
022 */
023 public abstract int getChannelForRouting();
024
025 /**
026 * Get the module routing number
027 * @return module routing number
028 */
029 public abstract int getModuleForRouting();
030
031 /**
032 * Is this an analog trigger
033 * @return true if this is an analog trigger
034 */
035 public abstract boolean getAnalogTriggerForRouting();
036 }