// Copyright (c) FIRST and other WPILib contributors.
// Open Source Software; you can modify and/or share it under the terms of
// the WPILib BSD license file in the root directory of this project.

package org.wpilib.snippets.analogpotentiometer;

import org.wpilib.framework.TimedRobot;
import org.wpilib.hardware.discrete.AnalogInput;
import org.wpilib.hardware.rotation.AnalogPotentiometer;

/**
 * AnalogPotentiometer snippets for wpilib-docs.
 * https://docs.wpilib.org/en/stable/docs/software/hardware-apis/sensors/analog-poteniometers-software.html
 */
public class Robot extends TimedRobot {
  // Initializes an AnalogPotentiometer on analog port 0
  // The full range of motion (in meaningful external units) is 0-180 (this could be degrees, for
  // instance)
  // The "starting point" of the motion, i.e. where the mechanism is located when the potentiometer
  // reads 0v, is 30.
  AnalogPotentiometer pot = new AnalogPotentiometer(0, 180, 30);

  // Initializes an AnalogInput on port 1
  AnalogInput input = new AnalogInput(0);
  // Initializes an AnalogPotentiometer with the given AnalogInput
  // The full range of motion (in meaningful external units) is 0-180 (this could be degrees, for
  // instance)
  // The "starting point" of the motion, i.e. where the mechanism is located when the potentiometer
  // reads 0v, is 30.
  AnalogPotentiometer pot1 = new AnalogPotentiometer(input, 180, 30);

  /** Called once at the beginning of the robot program. */
  public Robot() {}

  @Override
  public void teleopPeriodic() {
    // Get the value of the potentiometer
    pot.get();

    pot1.get();
  }
}
