From: James Smith Date: Sat, 28 Mar 2026 17:49:24 +0000 (-0700) Subject: stuff X-Git-Url: https://git.taranathan.com/?a=commitdiff_plain;h=54f7abea784c440d00ba720e4b13d53493a6d670;p=FRC2026.git stuff --- diff --git a/src/main/deploy/chirp/file.chrp b/src/main/deploy/chirp/file.chrp new file mode 100644 index 0000000..8e0a95d Binary files /dev/null and b/src/main/deploy/chirp/file.chrp differ diff --git a/src/main/java/frc/robot/commands/Music.java b/src/main/java/frc/robot/commands/Music.java new file mode 100644 index 0000000..d180af9 --- /dev/null +++ b/src/main/java/frc/robot/commands/Music.java @@ -0,0 +1,32 @@ +package frc.robot.commands; + +import com.ctre.phoenix6.Orchestra; +import com.ctre.phoenix6.hardware.TalonFX; + +import edu.wpi.first.wpilibj.Filesystem; +import edu.wpi.first.wpilibj2.command.Command; + +public class Music extends Command { + private Orchestra orchestra; + + public Music(TalonFX[] motors) { + orchestra = new Orchestra(Filesystem.getDeployDirectory() + "/chirp/file.chrp"); + for (TalonFX motor : motors) + orchestra.addInstrument(motor); + } + + @Override + public void initialize() { + orchestra.play(); + } + + @Override + public boolean isFinished() { + return false; + } + + @Override + public void end(boolean interrupted) { + orchestra.stop(); + } +} diff --git a/src/main/java/frc/robot/subsystems/drivetrain/Drivetrain.java b/src/main/java/frc/robot/subsystems/drivetrain/Drivetrain.java index cb77ac2..5b4448b 100644 --- a/src/main/java/frc/robot/subsystems/drivetrain/Drivetrain.java +++ b/src/main/java/frc/robot/subsystems/drivetrain/Drivetrain.java @@ -1,5 +1,6 @@ package frc.robot.subsystems.drivetrain; +import java.util.ArrayList; import java.util.Arrays; import java.util.Optional; import java.util.concurrent.locks.Lock; @@ -9,6 +10,7 @@ import java.util.function.Supplier; import org.littletonrobotics.junction.AutoLogOutput; import org.littletonrobotics.junction.Logger; +import com.ctre.phoenix6.hardware.TalonFX; import com.pathplanner.lib.util.PathPlannerLogging; import edu.wpi.first.math.VecBuilder; @@ -25,8 +27,10 @@ import edu.wpi.first.units.measure.Voltage; import edu.wpi.first.wpilibj.RobotBase; import edu.wpi.first.wpilibj.Timer; import edu.wpi.first.wpilibj.smartdashboard.Field2d; +import edu.wpi.first.wpilibj.motorcontrol.Talon; import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj2.command.SubsystemBase; +import frc.robot.commands.Music; import frc.robot.constants.Constants; import frc.robot.constants.FieldConstants; import frc.robot.constants.VisionConstants; @@ -125,6 +129,7 @@ public class Drivetrain extends SubsystemBase { this.gyroIO = gyroIO; ModuleConstants[] constants = Arrays.copyOfRange(ModuleConstants.values(), 0, 4); + if (RobotBase.isReal()) { Arrays.stream(constants).forEach(moduleConstants -> { modules[moduleConstants.ordinal()] = new Module(moduleConstants); @@ -135,6 +140,14 @@ public class Drivetrain extends SubsystemBase { }); } + ArrayList motors = new ArrayList(); + for (Module module : modules) { + motors.add(module.getMotors()[0]); + motors.add(module.getMotors()[1]); + } + + SmartDashboard.putData("Beep", new Music(motors.toArray(new TalonFX[0]))); + /* * By pausing init for a second before setting module offsets, we avoid a bug * with inverting motors. diff --git a/src/main/java/frc/robot/subsystems/drivetrain/Module.java b/src/main/java/frc/robot/subsystems/drivetrain/Module.java index d30e47e..c9d241e 100644 --- a/src/main/java/frc/robot/subsystems/drivetrain/Module.java +++ b/src/main/java/frc/robot/subsystems/drivetrain/Module.java @@ -423,4 +423,7 @@ public class Module implements ModuleIO{ return inputs.odometryTimestamps; } + public TalonFX[] getMotors() { + return new TalonFX[]{angleMotor, driveMotor}; + } } \ No newline at end of file