當前位置: 首頁>>代碼示例>>Java>>正文


Java DigitalInput類代碼示例

本文整理匯總了Java中edu.wpi.first.wpilibj.DigitalInput的典型用法代碼示例。如果您正苦於以下問題:Java DigitalInput類的具體用法?Java DigitalInput怎麽用?Java DigitalInput使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


DigitalInput類屬於edu.wpi.first.wpilibj包,在下文中一共展示了DigitalInput類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: getDigitalInputs

import edu.wpi.first.wpilibj.DigitalInput; //導入依賴的package包/類
@NotNull
List<DigitalInput> getDigitalInputs() {
  if (inputs.size() == 0) {
    telemetryService.stop();
    for (int i = 0; i < 10; i++) {
      if (outputs.contains(i)) {
        inputs.add(null); // outputs can't be inputs
      } else {
        DigitalInput input = new DigitalInput(i);
        inputs.add(input);
        telemetryService.register(new DigitalInputItem(input));
      }
    }
    telemetryService.start();
    logger.info("initialized inputs and restarted TelemetryService");
  }
  return Collections.unmodifiableList(inputs);
}
 
開發者ID:strykeforce,項目名稱:thirdcoast,代碼行數:19,代碼來源:DioSet.java

示例2: Arm

import edu.wpi.first.wpilibj.DigitalInput; //導入依賴的package包/類
public Arm() {
super("arm", kP, kI, kD);

motor = new Talon(RobotMap.ArmMap.PWM_MOTOR);
motor.setInverted(RobotMap.ArmMap.INV_MOTOR);

encoder = new Encoder(RobotMap.ArmMap.DIO_ENCODER_A, RobotMap.ArmMap.DIO_ENCODER_B);
encoder.setDistancePerPulse(RobotMap.ArmMap.DISTANCE_PER_PULSE);
encoder.setReverseDirection(RobotMap.ArmMap.INV_ENCODER);

upperLimit = new DigitalInput(RobotMap.ArmMap.DIO_LIMIT_TOP);
bottomLimit = new DigitalInput(RobotMap.ArmMap.DIO_LIMIT_BOTTOM);

setAbsoluteTolerance(0.05);
getPIDController().setContinuous(false);
   }
 
開發者ID:Team236,項目名稱:2016-Robot-Final,代碼行數:17,代碼來源:Arm.java

示例3: Harvester

import edu.wpi.first.wpilibj.DigitalInput; //導入依賴的package包/類
public Harvester() {		
	
	//TODO: sync left/right motors
	tiltRight = new CANTalon(RobotMap.HARVESTER_AIMING_RIGHT);
	tiltLeft = new CANTalon(RobotMap.HARVESTER_AIMING_LEFT);
	
	//tiltLeft.setVoltageRampRate(5); // this might be a good way to solve our ramp rate issue IE smooth out the jerkiness
	//tiltRight.setVoltageRampRate(5); // this might be a good way to solve our ramp rate issue IE smooth out the jerkiness
	
	limitLeft = new DigitalInput(RobotMap.HARVESTER_LEFT_BUMP_BOTTOM);
	limitRight = new DigitalInput(RobotMap.HARVESTER_RIGHT_BUMP_BOTTOM);
	limitLeftTop = new DigitalInput(RobotMap.HARVESTER_LEFT_BUMP_TOP);
	limitRightTop = new DigitalInput(RobotMap.HARVESTER_RIGHT_BUMP_TOP);
	
	leftPot = new ZeroablePotentiometer(RobotMap.LEFT_AIM_POT, 250);
	rightPot = new ZeroablePotentiometer(RobotMap.RIGHT_AIM_POT, 250);
	leftPot.setInverted(true);
}
 
開發者ID:CraftSpider,項目名稱:Stronghold2016-340,代碼行數:19,代碼來源:Harvester.java

示例4: ShooterControl

import edu.wpi.first.wpilibj.DigitalInput; //導入依賴的package包/類
ShooterControl(Encoder encoder, SpeedController pullBackSpeedController, double speedControllerMaxRpm,
               DigitalInput limitSwitch, DoubleSolenoid gearControl, Servo latchServo,
               Relay angleControl)
{
    m_latchReleaseServo = latchServo;
    m_currentState = SHOOTER_CONTROL_STATE_WAIT;
    m_encoder = encoder;
    m_pullBackSpeedController = pullBackSpeedController;
    m_angleControl = angleControl;
    m_speedControllerMaxRpm = speedControllerMaxRpm;
    m_limitSwitch = limitSwitch;
    m_pullBackEncoderRpm = new EncoderRPM();
    m_pullBackEncoderRpm.Init(m_pullBackSpeedController, m_encoder, (-1)*m_speedControllerMaxRpm, m_speedControllerMaxRpm, 0.05, 100, m_limitSwitch);
    m_releaseFromMidptEncoderRpm = new EncoderRPM();
    m_releaseFromMidptEncoderRpm.Init(m_pullBackSpeedController, m_encoder,(-1)*m_speedControllerMaxRpm/4,m_speedControllerMaxRpm,0.05, 3);
    m_gearControl = gearControl;
    m_latchReleased = false;
    m_gearReleased = false;
    m_isPulledBack = false;
}
 
開發者ID:Dinoyan,項目名稱:FRC-2014-robot-project,代碼行數:21,代碼來源:ShooterControl.java

示例5: Lift

import edu.wpi.first.wpilibj.DigitalInput; //導入依賴的package包/類
public Lift(int motorChannel, int brakeChannelForward, int brakeChannelReverse, int encoderChannelA,
		int encoderChannelB, int boundaryLimitChannel, String subsystem) {
	motor = new Talon(motorChannel);
	brake = new DoubleSolenoid(RobotMap.solenoid.Pcm24, brakeChannelForward, brakeChannelReverse);
	encoder = new Encoder(encoderChannelA, encoderChannelB);
	boundaryLimit = new DigitalInput(boundaryLimitChannel);

	LiveWindow.addActuator(subsystem, "Motor", motor);
	LiveWindow.addActuator(subsystem, "Brake", brake);
	LiveWindow.addSensor(subsystem, "Encoder", encoder);
	LiveWindow.addSensor(subsystem, "Boundary Limit Switch", boundaryLimit);

	encoder.setPIDSourceType(PIDSourceType.kRate);
	pid = new PIDSpeedController(encoder, motor, subsystem, "Speed Control");
	subsystemName = subsystem;
}
 
開發者ID:chopshop-166,項目名稱:frc-2015,代碼行數:17,代碼來源:Lift.java

示例6: Launcher

import edu.wpi.first.wpilibj.DigitalInput; //導入依賴的package包/類
/**
 * Constructs a new Launcher, with two Talons for winding, a release relay,
 * and a limit switch for winding regulation based on input from a
 * MaxbotixUltrasonic rangefinder.
 */
public Launcher() {
    super("Launcher");

    winderL = new Talon(RobotMap.WIND_LEFT_PORT);
    winderR = new Talon(RobotMap.WIND_RIGHT_PORT);

    releaseMotor = new Relay(RobotMap.RELAY_PORT);
    
    camera = new AxisCameraM1101();
    rangefinder = new MaxbotixUltrasonic(RobotMap.ULTRASONIC_RANGEFINDER);

    limitSwitch = new DigitalInput(RobotMap.LIMIT_SWITCH);
    counter = new Counter(limitSwitch);

    counterInit(counter);
}
 
開發者ID:bethpage-robotics,項目名稱:Aerial-Assist,代碼行數:22,代碼來源:Launcher.java

示例7: SensorInput

import edu.wpi.first.wpilibj.DigitalInput; //導入依賴的package包/類
/**
 * Instantiates the Sensor Input module to read all sensors connected to the roboRIO.
 */
private SensorInput() {	
	limit_left = new DigitalInput(ChiliConstants.left_limit);
	limit_right = new DigitalInput(ChiliConstants.right_limit);
	accel = new BuiltInAccelerometer(Accelerometer.Range.k2G);
	gyro = new Gyro(ChiliConstants.gyro_channel);
	pdp = new PowerDistributionPanel();
	left_encoder = new Encoder(ChiliConstants.left_encoder_channelA, ChiliConstants.left_encoder_channelB, false);
	right_encoder = new Encoder(ChiliConstants.right_encoder_channelA, ChiliConstants.right_encoder_channelB, true);
	gyro_i2c = new GyroITG3200(I2C.Port.kOnboard);
	
	gyro_i2c.initialize();
	gyro_i2c.reset();
	gyro.initGyro();
	
	left_encoder.setDistancePerPulse(ChiliConstants.kDistancePerPulse);
	right_encoder.setDistancePerPulse(ChiliConstants.kDistancePerPulse);
}
 
開發者ID:Chilean-Heart,項目名稱:2015-frc-robot,代碼行數:21,代碼來源:SensorInput.java

示例8: Winch

import edu.wpi.first.wpilibj.DigitalInput; //導入依賴的package包/類
/**
 * A private constructor to prevent multiple instances from being created.
 */
private Winch(){
	winchMotor = new Talon(RobotMap.winchMotor.getInt());
	winchInputSwitch = new DigitalInput(RobotMap.winchLimitSwitch.getInt());
	winchSolenoid = new MomentaryDoubleSolenoid(
			RobotMap.winchExtPort.getInt(),RobotMap.winchRetPort.getInt());
	winchBallSensor = new AnalogChannel(RobotMap.winchBallSensorPort.getInt());
	intakeBallSensor = new AnalogChannel(RobotMap.intakeBallSensorPort.getInt());
	ballPresent = new Debouncer(RobotMap.ballPresentTime.getDouble());
	ballNotPresent = new Debouncer(RobotMap.ballPresentTime.getDouble());
	ballSettled = new Debouncer(RobotMap.ballSettleTime.getDouble());
	ballPresentOnWinch = new Debouncer(RobotMap.ballPresentOnWinchTime.getDouble());
	
	winchPotentiometer =
			new AnalogChannel(RobotMap.potentiometerPort.getInt());
	winchEncoder = new AverageEncoder(
			RobotMap.winchEncoderA.getInt(),
			RobotMap.winchEncoderB.getInt(),
			RobotMap.winchEncoderPulsePerRot,
			RobotMap.winchEncoderDistPerTick,
			RobotMap.winchEncoderReverse,
			RobotMap.winchEncodingType, RobotMap.winchSpeedReturnType,
			RobotMap.winchPosReturnType, RobotMap.winchAvgEncoderVal);
	winchEncoder.start();
}
 
開發者ID:Team2168,項目名稱:2014_Main_Robot,代碼行數:28,代碼來源:Winch.java

示例9: Loader

import edu.wpi.first.wpilibj.DigitalInput; //導入依賴的package包/類
public Loader()
{
    Conveyor = new Victor(ReboundRumble.LOADER_CONVEYOR_PWM);
    loaderInSolenoid = new Solenoid(ReboundRumble.LOADER_IN_SOLENOID_CHANNEL);
    loaderOutSolenoid = new Solenoid(ReboundRumble.LOADER_OUT_SOLENOID_CHANNEL);
    loaderUpSolenoid = new Solenoid(ReboundRumble.LOADER_UP_SOLENOID_CHANNEL);
    loaderDownSolenoid = new Solenoid(ReboundRumble.LOADER_DOWN_SOLENOID_CHANNEL);
    loaderIn = new DigitalInput(ReboundRumble.LOAD_IN_GPIO_CHANNEL);
    loaderOut = new DigitalInput(ReboundRumble.LOAD_OUT_GPIO_CHANNEL);
    loaderUp = new DigitalInput(ReboundRumble.LOAD_UP_GPIO_CHANNEL);
    loaderDown = new DigitalInput(ReboundRumble.LOAD_DOWN_GPIO_CHANNEL);
    loaderDownSolenoid.set(false);
    loaderUpSolenoid.set(true);
    loaderOutSolenoid.set(false);
    loaderInSolenoid.set(true);
}
 
開發者ID:FIRST-FRC-Team-2028,項目名稱:2012,代碼行數:17,代碼來源:Loader.java

示例10: Shooter

import edu.wpi.first.wpilibj.DigitalInput; //導入依賴的package包/類
public Shooter(Vision vision, JoystickControl controller)
{
    this.vision = vision;
    this.controller = controller;

    averageSpeed = new MovingAverage(ENCODER_AVERAGE_SAMPLES);

    feeder = new Relay(FEEDER_RELAY_CHANNEL);
    feeder.setDirection(Relay.Direction.kForward);
    feederSwitch = new DigitalInput(FEEDER_DIGITAL_SIDECAR_SLOT, FEEDER_DIGITAL_CHANNEL);

    encoderInput = new DigitalInput(ENCODER_DIGITAL_SIDECAR_SLOT, ENCODER_DIGITAL_CHANNEL);
    shooterEncoder = new Counter(encoderInput);
    shooterEncoder.setSemiPeriodMode(true);

    shooterMotor = new Motor(SHOOTER_JAGUAR_CHANNEL, SHOOTER_JAGUAR_INVERTED);

    cycleCounts = 0;
    rateCount = 0.0;
    prevTime = 0.0;
    currentSpeed = 0.0;
}
 
開發者ID:SaintsRobotics,項目名稱:Woodchuck-2013,代碼行數:23,代碼來源:Shooter.java

示例11: init

import edu.wpi.first.wpilibj.DigitalInput; //導入依賴的package包/類
public static void init() {
    // BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
    leftSideLeftPaddle = new Spark(0);
    LiveWindow.addActuator("LeftSide", "LeftPaddle", (Spark) leftSideLeftPaddle);
    
    leftSideLeftOut = new DigitalInput(0);
    LiveWindow.addSensor("LeftSide", "LeftOut", leftSideLeftOut);
    
    leftSideLeftIn = new DigitalInput(2);
    LiveWindow.addSensor("LeftSide", "LeftIn", leftSideLeftIn);
    
    rightSideRightPaddle = new Spark(1);
    LiveWindow.addActuator("RightSide", "RightPaddle", (Spark) rightSideRightPaddle);
    
    rightSideRightOut = new DigitalInput(1);
    LiveWindow.addSensor("RightSide", "RightOut", rightSideRightOut);
    
    rightSideRightIn = new DigitalInput(3);
    LiveWindow.addSensor("RightSide", "RightIn", rightSideRightIn);
    
    gearGate = new Spark(2);
    LiveWindow.addActuator("Gear", "Gate", (Spark) gearGate);
    
    gearGearIsIn = new DigitalInput(4);
    LiveWindow.addSensor("Gear", "GearIsIn", gearGearIsIn);
    

// END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
}
 
開發者ID:ElectricGeorge,項目名稱:GearBot,代碼行數:30,代碼來源:RobotMap.java

示例12: FRCPulseCounter

import edu.wpi.first.wpilibj.DigitalInput; //導入依賴的package包/類
public FRCPulseCounter(DigitalInput port, boolean pulseLength) {
	counter = new Counter();
	
	if(pulseLength){
		counter.setPulseLengthMode(0.01);
	}else{
		counter.setUpSource(port);
		counter.setUpDownCounterMode();
		counter.setSemiPeriodMode(false);
	}
	
	quadrature = false;
}
 
開發者ID:Flash3388,項目名稱:FlashLib,代碼行數:14,代碼來源:FRCPulseCounter.java

示例13: removeInput

import edu.wpi.first.wpilibj.DigitalInput; //導入依賴的package包/類
void removeInput(int channel) {
  if (inputs.size() == 0) {
    logger.debug("removeInput: inputs not initialized, returning");
    return;
  }
  DigitalInput input = inputs.get(channel);
  if (input == null) {
    logger.info("input channel {} is already removed", channel);
    return;
  }
  input.free();
  inputs.set(channel, null);
  logger.info("removed input {}", channel);
}
 
開發者ID:strykeforce,項目名稱:thirdcoast,代碼行數:15,代碼來源:DioSet.java

示例14: perform

import edu.wpi.first.wpilibj.DigitalInput; //導入依賴的package包/類
@Override
public void perform() {
  PrintWriter writer = terminal.writer();
  writer.println(Messages.bold("\nDigital Input States"));
  for (int i = 0; i < 10; i++) {
    writer.print(Messages.bold(String.format("%2d  ", i)));
    DigitalInput input = dioSet.getDigitalInputs().get(i);
    if (input != null) {
      writer.println(input.get() ? "OFF" : Messages.boldGreen(" ON"));
    } else {
      writer.println("OUTPUT");
    }
  }
}
 
開發者ID:strykeforce,項目名稱:thirdcoast,代碼行數:15,代碼來源:InspectDigitalInputsCommand.java

示例15: Intake

import edu.wpi.first.wpilibj.DigitalInput; //導入依賴的package包/類
public Intake() {
motor = new Spark(RobotMap.IntakeMap.PWM_MOTOR);
motor.setInverted(RobotMap.IntakeMap.INV_MOTOR);

limit = new DigitalInput(RobotMap.IntakeMap.DIO_LIMIT);
stop();
   }
 
開發者ID:Team236,項目名稱:2016-Robot-Final,代碼行數:8,代碼來源:Intake.java


注:本文中的edu.wpi.first.wpilibj.DigitalInput類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。