Files
2022NoWayHome/src/main/java/frc4388/robot/subsystems/TestMotor.java
T

68 lines
2.1 KiB
Java
Raw Normal View History

2022-03-05 10:09:32 -07:00
package frc4388.robot.subsystems;
2022-06-13 20:10:18 -06:00
import com.ctre.phoenix.motorcontrol.can.WPI_TalonSRX;
2022-03-05 10:09:32 -07:00
2022-11-01 17:13:39 -06:00
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;
2022-03-05 10:09:32 -07:00
import edu.wpi.first.wpilibj2.command.SubsystemBase;
2022-06-13 20:10:18 -06:00
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;
2022-03-05 10:09:32 -07:00
public class TestMotor extends SubsystemBase {
2022-06-13 20:10:18 -06:00
private final WPI_TalonSRX m_testMotor;
@GainsField(id="TestMotor")
2022-11-01 17:13:39 -06:00
public Gains gains = new Gains(5, 4, 3, 2, 1, 1);
2022-06-13 20:10:18 -06:00
@Loggable(id="test")
public double logable = 4;
@Loggable(id="test2")
public double second = 5;
// private final RelativeEncoder m_testEncoder;
2022-03-05 10:09:32 -07:00
2022-06-13 20:10:18 -06:00
public TestMotor(WPI_TalonSRX testMotor) {
2022-03-05 10:09:32 -07:00
m_testMotor = testMotor;
2022-06-13 20:10:18 -06:00
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"));
// }
2022-11-01 17:13:39 -06:00
@Override
public void periodic() {
logable = Math.random()*2 -1;
}
2022-06-13 20:10:18 -06:00
@Reader(id="TestMotor", value="velocity")
public double velocityReader() {
2022-11-01 17:13:39 -06:00
return logable;
2022-06-13 20:10:18 -06:00
}
@Reader(id="TestMotor", value="position")
public double positionReader() {
2022-11-01 17:13:39 -06:00
return Math.random() * 2 - 1;
2022-03-05 10:09:32 -07:00
}
2022-06-13 20:10:18 -06:00
@Controller(id="TestMotor", value="velocity")
public void velocityController(double value) {
logable = Math.random() * 10;
m_testMotor.set(value);
2022-03-05 10:09:32 -07:00
}
2022-11-01 17:13:39 -06:00
}