+++ /dev/null
-// 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 frc.robot.commands.drive_comm;
-
-
-import com.ctre.phoenix6.SignalLogger;
-import edu.wpi.first.math.geometry.Rotation2d;
-import edu.wpi.first.units.Units;
-import edu.wpi.first.wpilibj2.command.SequentialCommandGroup;
-import edu.wpi.first.wpilibj2.command.WaitCommand;
-import edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine.Config;
-import edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine.Direction;
-import frc.robot.subsystems.drivetrain.Drivetrain;
-import frc.robot.util.SysId;
-
-public class SysIdPerModuleCommand extends SequentialCommandGroup {
-
- private Config config = new Config();
-
- public SysIdPerModuleCommand(Drivetrain drive) {
- config = new Config(
- Units.Volts.of(0.5).per(Units.Seconds),
- Units.Volts.of(3),
- Units.Seconds.of(5),
- (x) -> SignalLogger.writeString("state", x.toString())
- );
-
- var modules = drive.getModules();
-
- for (int i = 0; i < modules.length; i++) {
- final int moduleIndex = i;
-
- SysId sysId = new SysId(
- "Module" + i,
- (voltage) -> {
- for (int m = 0; m < modules.length; m++) {
- if (m == moduleIndex) {
- modules[m].setDriveVoltage(voltage);
- } else {
- modules[m].setDriveVoltage(Units.Volts.of(0));
- }
- }
- Rotation2d zeroAngle = Rotation2d.fromDegrees(0);
- Rotation2d[] angles = new Rotation2d[4];
- for (int a = 0; a < 4; a++) {
- angles[a] = zeroAngle;
- }
- drive.setAngleMotors(angles);
- },
- drive,
- config
- );
-
- addCommands(
- sysId.runQuasisStatic(Direction.kForward).withName("Module" + i + "_QS_Fwd"),
- new WaitCommand(0.5),
- sysId.runDynamic(Direction.kForward).withName("Module" + i + "_Dyn_Fwd"),
- new WaitCommand(0.5),
- sysId.runQuasisStatic(Direction.kReverse).withName("Module" + i + "_QS_Rev"),
- new WaitCommand(0.5),
- sysId.runDynamic(Direction.kReverse).withName("Module" + i + "_Dyn_Rev"),
- new WaitCommand(1.0)
- );
- }
- }
-}
\ No newline at end of file
import frc.robot.commands.gpm.ReverseMotors;
import frc.robot.commands.gpm.RunSpindexer;
import frc.robot.commands.gpm.Superstructure;
-import frc.robot.commands.drive_comm.SysIdPerModuleCommand;
import frc.robot.constants.Constants;
import frc.robot.subsystems.Climb.LinearClimb;
import frc.robot.subsystems.Intake.Intake;
CommandScheduler.getInstance().cancelAll();
}));
- // // sysId per-module characterization
- // controller.get(PS5Button.TRIANGLE).onTrue(new SysIdPerModuleCommand(getDrivetrain()));
-
// Reverse motors
if (intake != null && spindexer != null) {
controller.get(PS5Button.LB).whileTrue(new ReverseMotors(intake));