001// Copyright (c) FIRST and other WPILib contributors. 002// Open Source Software; you can modify and/or share it under the terms of 003// the WPILib BSD license file in the root directory of this project. 004 005package edu.wpi.first.wpilibj; 006 007/** 008 * This interface allows for PIDController to automatically read from this object. 009 * 010 * @deprecated Use DoubleSupplier and new PIDController class. 011 */ 012@Deprecated(since = "2020", forRemoval = true) 013public interface PIDSource { 014 /** 015 * Set which parameter of the device you are using as a process control variable. 016 * 017 * @param pidSource An enum to select the parameter. 018 */ 019 void setPIDSourceType(PIDSourceType pidSource); 020 021 /** 022 * Get which parameter of the device you are using as a process control variable. 023 * 024 * @return the currently selected PID source parameter 025 */ 026 PIDSourceType getPIDSourceType(); 027 028 /** 029 * Get the result to use in PIDController. 030 * 031 * @return the result to use in PIDController 032 */ 033 double pidGet(); 034}