mirror of
https://github.com/Team4388/2022NoWayHome.git
synced 2026-06-08 16:28:07 -06:00
68 lines
2.1 KiB
Java
68 lines
2.1 KiB
Java
package frc4388.robot.subsystems;
|
|
|
|
import com.ctre.phoenix.motorcontrol.can.WPI_TalonSRX;
|
|
|
|
import edu.wpi.first.math.numbers.N1;
|
|
import edu.wpi.first.math.system.plant.DCMotor;
|
|
import edu.wpi.first.wpilibj.simulation.ElevatorSim;
|
|
import edu.wpi.first.wpilibj.simulation.LinearSystemSim;
|
|
import edu.wpi.first.wpilibj2.command.SubsystemBase;
|
|
import frc4388.utility.Gains;
|
|
import frc4388.utility.tuner.TunerLogger;
|
|
import frc4388.utility.tuner.annotations.Controller;
|
|
import frc4388.utility.tuner.annotations.GainsField;
|
|
import frc4388.utility.tuner.annotations.Loggable;
|
|
import frc4388.utility.tuner.annotations.Reader;
|
|
import frc4388.utility.tuner.TunerController;
|
|
import frc4388.utility.tuner.TunerTablesHandler;
|
|
|
|
import java.util.Map;
|
|
|
|
public class TestMotor extends SubsystemBase {
|
|
private final WPI_TalonSRX m_testMotor;
|
|
|
|
@GainsField(id="TestMotor")
|
|
public Gains gains = new Gains(5, 4, 3, 2, 1, 1);
|
|
|
|
@Loggable(id="test")
|
|
public double logable = 4;
|
|
@Loggable(id="test2")
|
|
public double second = 5;
|
|
// private final RelativeEncoder m_testEncoder;
|
|
|
|
public TestMotor(WPI_TalonSRX testMotor) {
|
|
m_testMotor = testMotor;
|
|
m_testMotor.configFactoryDefault();
|
|
// m_testEncoder = m_testMotor.getEncoder();
|
|
|
|
TunerTablesHandler.getInstance().addControllers(TunerController.createTunerControllers(this));
|
|
TunerTablesHandler.getInstance().addLoggers(TunerLogger.createTunerLoggers(this));
|
|
}
|
|
|
|
// public void testDesmos() {
|
|
// DesmosServer.putDouble("Position", m_testEncoder.getPosition());
|
|
// m_testMotor.set(DesmosServer.readDouble("Speed"));
|
|
// }
|
|
|
|
@Override
|
|
public void periodic() {
|
|
logable = Math.random()*2 -1;
|
|
}
|
|
|
|
@Reader(id="TestMotor", value="velocity")
|
|
public double velocityReader() {
|
|
return logable;
|
|
}
|
|
|
|
@Reader(id="TestMotor", value="position")
|
|
public double positionReader() {
|
|
return Math.random() * 2 - 1;
|
|
}
|
|
|
|
@Controller(id="TestMotor", value="velocity")
|
|
public void velocityController(double value) {
|
|
logable = Math.random() * 10;
|
|
m_testMotor.set(value);
|
|
}
|
|
}
|