From 3540fe3fbb65560faf174665d4f8d18fb3b27d50 Mon Sep 17 00:00:00 2001 From: David Vo Date: Sat, 10 Jan 2026 20:47:07 +1100 Subject: [PATCH 1/3] Update to 2026 dependencies --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e71c91e..5716e42 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -24,11 +24,11 @@ jobs: matrix: os: ["ubuntu-22.04", "macos-14", "windows-2022"] python_version: - - '3.9' - '3.10' - '3.11' - '3.12' - '3.13' + - '3.14' steps: - uses: actions/checkout@v5 @@ -37,7 +37,7 @@ jobs: python-version: ${{ matrix.python_version }} - name: Install deps run: | - pip install 'robotpy[commands2,romi]<2026.0.0,>=2025.0.0b3' numpy pytest + pip install 'robotpy[commands2,romi]<2027,>=2026.1.1' numpy pytest - name: Run tests run: bash run_tests.sh shell: bash From 59c6c58ce82a94e8475fb4596359ba9d69d51fc6 Mon Sep 17 00:00:00 2001 From: David Vo Date: Sat, 10 Jan 2026 20:52:15 +1100 Subject: [PATCH 2/3] Use Spark Max instead of Jaguar in physics examples --- Physics/src/robot.py | 6 +++--- Physics4Wheel/src/robot.py | 8 ++++---- PhysicsSPI/src/robot.py | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Physics/src/robot.py b/Physics/src/robot.py index 822d496..21cee6d 100755 --- a/Physics/src/robot.py +++ b/Physics/src/robot.py @@ -18,15 +18,15 @@ def robotInit(self): self.lstick = wpilib.Joystick(0) self.rstick = wpilib.Joystick(1) - self.l_motor = wpilib.Jaguar(1) - self.r_motor = wpilib.Jaguar(2) + self.l_motor = wpilib.PWMSparkMax(1) + self.r_motor = wpilib.PWMSparkMax(2) # Position gets automatically updated as robot moves self.gyro = wpilib.AnalogGyro(1) self.drive = wpilib.drive.DifferentialDrive(self.l_motor, self.r_motor) - self.motor = wpilib.Jaguar(4) + self.motor = wpilib.PWMSparkMax(4) self.limit1 = wpilib.DigitalInput(1) self.limit2 = wpilib.DigitalInput(2) diff --git a/Physics4Wheel/src/robot.py b/Physics4Wheel/src/robot.py index a62a643..5c982d3 100755 --- a/Physics4Wheel/src/robot.py +++ b/Physics4Wheel/src/robot.py @@ -19,10 +19,10 @@ def robotInit(self): self.rstick = wpilib.Joystick(1) # Define front and rear motors - self.lf_motor = wpilib.Jaguar(1) - self.lr_motor = wpilib.Jaguar(2) - self.rf_motor = wpilib.Jaguar(3) - self.rr_motor = wpilib.Jaguar(4) + self.lf_motor = wpilib.PWMSparkMax(1) + self.lr_motor = wpilib.PWMSparkMax(2) + self.rf_motor = wpilib.PWMSparkMax(3) + self.rr_motor = wpilib.PWMSparkMax(4) # add the followers to the left and right motors self.lf_motor.addFollower(self.lr_motor) diff --git a/PhysicsSPI/src/robot.py b/PhysicsSPI/src/robot.py index 881ad99..6afdfb0 100755 --- a/PhysicsSPI/src/robot.py +++ b/PhysicsSPI/src/robot.py @@ -18,15 +18,15 @@ def robotInit(self): self.lstick = wpilib.Joystick(0) self.rstick = wpilib.Joystick(1) - self.l_motor = wpilib.Jaguar(1) - self.r_motor = wpilib.Jaguar(2) + self.l_motor = wpilib.PWMSparkMax(1) + self.r_motor = wpilib.PWMSparkMax(2) # Position gets automatically updated as robot moves self.gyro = wpilib.ADXRS450_Gyro() self.drive = wpilib.drive.DifferentialDrive(self.l_motor, self.r_motor) - self.motor = wpilib.Jaguar(4) + self.motor = wpilib.PWMSparkMax(4) self.limit1 = wpilib.DigitalInput(1) self.limit2 = wpilib.DigitalInput(2) From 830e870638de45aada9886363f8b4ec9bf54f663 Mon Sep 17 00:00:00 2001 From: Dustin Spicuzza Date: Sat, 10 Jan 2026 14:12:48 -0500 Subject: [PATCH 3/3] Fix flywheel example --- StateSpaceFlywheelSysId/robot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StateSpaceFlywheelSysId/robot.py b/StateSpaceFlywheelSysId/robot.py index 7808530..294314f 100644 --- a/StateSpaceFlywheelSysId/robot.py +++ b/StateSpaceFlywheelSysId/robot.py @@ -103,5 +103,5 @@ def teleopPeriodic(self) -> None: # Send the new calculated voltage to the motors. # voltage = duty cycle * battery voltage, so # duty cycle = voltage / battery voltage - nextVoltage = self.loop.U() + nextVoltage = self.loop.U()[0] self.motor.setVoltage(nextVoltage)