Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
2386846
origin/2026 (#6)
thenetworkgrinch Dec 31, 2025
8bbdcd4
Added navx3 support.
thenetworkgrinch Jan 5, 2026
824d2a8
Update README.md
twisterjafla Jan 8, 2026
5a4852d
Update README.md (#7)
twisterjafla Jan 8, 2026
fa368c4
2026 official build.
thenetworkgrinch Jan 11, 2026
8a1f36e
MapleSim Update (#8)
konnorreynolds Jan 11, 2026
a7235fe
Fixed maplesime oppo
thenetworkgrinch Jan 11, 2026
6d67b1b
Update the wpilib
thenetworkgrinch Jan 11, 2026
cb4d496
Merge branch 'Yet-Another-Software-Suite:main' into main
twisterjafla Jan 12, 2026
eecaba9
made changes
Jan 12, 2026
7454709
fixed issue
Jan 12, 2026
2ec8861
clock update
Jan 12, 2026
a250e20
Update yagsl.json
thenetworkgrinch Jan 12, 2026
b89407b
Updated vendordep json to point to full 2026 vdeps. Included reduxlib…
thenetworkgrinch Jan 12, 2026
059acd7
retrobuzz changes
twisterjafla Jan 13, 2026
bba2b2a
Fixed typo
twisterjafla Jan 13, 2026
2f799aa
removed bonus semi colon
twisterjafla Jan 13, 2026
506f260
removed hit trigger callback
twisterjafla Jan 13, 2026
f2143a0
updated fuel weight
twisterjafla Jan 13, 2026
57a9b4f
Merge pull request #9 from twisterjafla/main
konnorreynolds Jan 13, 2026
ea558de
updated vendor dep error messages for clarity (#10)
twisterjafla Jan 14, 2026
0b8500a
Update config.gradle
thenetworkgrinch Jan 14, 2026
44135d5
Made studicalib reflective.
thenetworkgrinch Jan 14, 2026
917469e
Removed an extra println (#11)
twisterjafla Jan 15, 2026
6cbfda2
Added TalonFXSEncoderAnalogSwerve
thenetworkgrinch Jan 17, 2026
6a0ce21
Merge remote-tracking branch 'origin/main'
thenetworkgrinch Jan 17, 2026
dc4daba
Update voltage divisor in getAbsolutePosition method
thenetworkgrinch Jan 17, 2026
09d3451
Changes where MapleSim publishes goal poses. (#13)
twisterjafla Jan 18, 2026
90b4a4a
Update GradleRIO and wpilibVersion to 2026.2.1
thenetworkgrinch Jan 18, 2026
fbd17b2
Fixed TalonFXS to use commutation and apply the ratio correctly.
thenetworkgrinch Jan 20, 2026
a5c1f30
Fixed position to read in degrees.
thenetworkgrinch Jan 20, 2026
08d29df
Revert position casting.
thenetworkgrinch Jan 20, 2026
8db5a2c
Update TalonFXSSwerve.java
thenetworkgrinch Jan 20, 2026
32b3c6b
Disable Bump Collision (#16)
konnorreynolds Jan 25, 2026
1cc1064
Update ReflectionsManager.java
thenetworkgrinch Jan 26, 2026
5475f3f
Update to the new ThriftyLib. Fixed ThriftyNovaSwerve to not crash in…
thenetworkgrinch Jan 27, 2026
51a5cb7
Fixed navX3 json loading.
thenetworkgrinch Jan 30, 2026
964edab
Fixed navX3 json loading.
thenetworkgrinch Jan 30, 2026
9e81e39
Merge remote-tracking branch 'origin/main'
thenetworkgrinch Jan 30, 2026
fef4406
Made CTRE stuff reflective. (#20)
thenetworkgrinch Feb 1, 2026
852754e
Fix broken link in README.md (#18)
nickmcski Feb 4, 2026
9a097ea
Fixed NavX3 again.
thenetworkgrinch Feb 4, 2026
375769f
fix: do not round vales parsed from JSON (#22)
Scaratech Feb 7, 2026
b79ca36
Update incorrect DefautCommand (#25)
XM2TBE Feb 7, 2026
a36f9b3
Refactor blueAlliance variable initialization (#24)
XM2TBE Feb 7, 2026
f14243f
Fix some simulation issues (#26)
clrozeboom Feb 8, 2026
15c74e6
Fixed build issue.
thenetworkgrinch Feb 21, 2026
32d8ecb
Improved SwevreInputStream aim function.
thenetworkgrinch Feb 22, 2026
42eb54a
Add publish input to release workflow
thenetworkgrinch Feb 22, 2026
5c739ad
Added helper functions to allow for easier custom shooting on the fly…
thenetworkgrinch Feb 23, 2026
6b6d26f
Merge remote-tracking branch 'origin/main'
thenetworkgrinch Feb 23, 2026
30cd93e
Use `Transform2d` instead of twist bc balls dont arc like that
thenetworkgrinch Feb 23, 2026
06ae255
Added docs to aim lookahead time modifier.
thenetworkgrinch Feb 23, 2026
1f9006b
Added locked heading modifier.
thenetworkgrinch Feb 23, 2026
1bc4296
Fixed sparkflex sim motor issue. (#29)
thenetworkgrinch Feb 24, 2026
8ec48ea
Added offset to calculateAngularVelocity (#30)
Kfir-bot Feb 27, 2026
5a24889
feat: An offset can be added to the aiming functionality (#32)
J-Kistner Feb 28, 2026
b324de9
Studica update and REV fix. (#33)
thenetworkgrinch Mar 6, 2026
700e61c
Fix link formatting in build.gradle
thenetworkgrinch Mar 6, 2026
6c46517
Adds overrides to activity when shouldClock is set to false. (#34)
twisterjafla Mar 8, 2026
5b4bed7
Fix Drive base to vision pose fusion (#36)
Chris7898 Mar 9, 2026
aa2c702
EmptyOpponent (#38)
konnorreynolds Mar 10, 2026
8a3de8f
Alert fix (#41)
thenetworkgrinch Mar 11, 2026
65efdb9
Change aimTarget to use Supplier<Pose2d> (#40)
Hello2Krish19 Mar 11, 2026
9a0e74d
Minion SMax Fix.
thenetworkgrinch Mar 14, 2026
e2be515
Merge remote-tracking branch 'origin/main'
thenetworkgrinch Mar 14, 2026
a72328d
setActiveOverride should be public, not protected.
twisterjafla Mar 26, 2026
017aa3c
Changed addVisionMeasurement's docstring to detail what origin the ro…
Fooot-Code Apr 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ on:
description: "Release version number"
type: string
required: true
publish:
type: boolean
description: "Publish to WPILib"
default: false
jobs:
build:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -49,6 +53,7 @@ jobs:
run: git add . && git commit -m "Automatically add YAGSL version ${{inputs.releaseVersion}}" && git push
working-directory: ${{ env.workingDirectory }}/build/maven/
- name: Create Vendor JSON Repo PR
if: ${{ inputs.publish == true }}
uses: wpilibsuite/vendor-json-repo/.github/actions/add_vendordep@main
with:
repo: Yet-Another-Software-Suite/vendor-json-repo
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ used in both TimedRobot and Command-Based Robot templates.
Vendor URL:

```
https://yet-another-software-suite.github.io/YAGSL/yagsl/yagsl.json
https://yet-another-software-suite.github.io/YAGSL/yagsl.json
```

[Javadocs here](https://yet-another-software-suite.github.io/YAGSL/javadocs/)
Expand All @@ -35,7 +35,7 @@ Development happens here!
# Support our developers!
Visit our organization [here](https://yetanothersoftwaresuite.com)

### TL;DR Generate and download your configuration [here](https://broncbotz3481.github.io/YAGSL-Example/) and unzip it so that it follows structure below:
### TL;DR Generate and download your configuration [here](https://yet-another-software-suite.github.io/YAGSL/config_generator/) and unzip it so that it follows structure below:

```text
deploy
Expand Down Expand Up @@ -73,4 +73,4 @@ SwerveDrive swerveDrive=new SwerveParser(new File(Filesystem.getDeployDirectory(

# Special Thanks to Team 7900! Trial N' Terror
Without the debugging and aid of Team 7900 the project could never be as stable or active as it is.
Falcon Support would not have been possible without support from Team 1466 Webb Robotics!
Falcon Support would not have been possible without support from Team 1466 Webb Robotics!
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"enableCppIntellisense": false,
"currentLanguage": "java",
"projectYear": "2025",
"projectYear": "2026beta",
"teamNumber": 3481
}
16 changes: 13 additions & 3 deletions examples/clock_drive_drivebase/build.gradle
Original file line number Diff line number Diff line change
@@ -1,13 +1,21 @@
plugins {
id "java"
id "edu.wpi.first.GradleRIO" version "2025.3.1"
id "edu.wpi.first.GradleRIO" version "2026.1.1"
}

java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}

sourceSets {
main {
java {
srcDir '../../yagsl/java/'
}
}
}

def ROBOT_MAIN_CLASS = "frc.robot.Main"

// Define my targets (RoboRIO) and artifacts (deployable files)
Expand All @@ -34,7 +42,7 @@ deploy {
files = project.fileTree('src/main/deploy')
directory = '/home/lvuser/deploy'
deleteOldFiles = false // Change to true to delete files on roboRIO that no
// longer exist in deploy directory of this project
// longer exist in deploy directory of this project
}
}
}
Expand All @@ -43,7 +51,8 @@ deploy {

def deployArtifact = deploy.targets.roborio.artifacts.frcJava

// Set to true to use debug for JNI.
// Set to true to use debug for all targets including JNI, which will drastically impact
// performance.
wpi.java.debugJni = false

// Set this to true to enable desktop support.
Expand All @@ -69,6 +78,7 @@ dependencies {
nativeRelease wpi.java.deps.wpilibJniRelease(wpi.platforms.desktop)
nativeRelease wpi.java.vendor.jniRelease(wpi.platforms.desktop)
simulationRelease wpi.sim.enableRelease()
implementation 'org.dyn4j:dyn4j:5.0.2'

testImplementation 'org.junit.jupiter:junit-jupiter:5.10.1'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
Expand Down
6 changes: 3 additions & 3 deletions examples/clock_drive_drivebase/settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ pluginManagement {
repositories {
mavenLocal()
gradlePluginPortal()
String frcYear = '2025'
String frcYear = '2026'
File frcHome
if (OperatingSystem.current().isWindows()) {
String publicFolder = System.getenv('PUBLIC')
Expand All @@ -20,8 +20,8 @@ pluginManagement {
}
def frcHomeMaven = new File(frcHome, 'maven')
maven {
name 'frcHome'
url frcHomeMaven
name = 'frcHome'
url = frcHomeMaven
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import edu.wpi.first.math.kinematics.SwerveDriveKinematics;
import edu.wpi.first.math.trajectory.Trajectory;
import edu.wpi.first.wpilibj.DriverStation;
import edu.wpi.first.wpilibj.DriverStation.Alliance;
import edu.wpi.first.wpilibj2.command.Command;
import edu.wpi.first.wpilibj2.command.SubsystemBase;
import edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine.Config;
Expand Down Expand Up @@ -46,7 +47,8 @@ public class SwerveSubsystem extends SubsystemBase
*/
public SwerveSubsystem(File directory)
{
boolean blueAlliance = false;
boolean blueAlliance = DriverStation.getAlliance().isPresent() && DriverStation.getAlliance().get() == Alliance.Blue;

Pose2d startingPose = blueAlliance ? new Pose2d(new Translation2d(Meter.of(1),
Meter.of(4)),
Rotation2d.fromDegrees(0))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"fileName": "PathplannerLib.json",
"fileName": "PathplannerLib-2026.1.2.json",
"name": "PathplannerLib",
"version": "2025.2.7",
"version": "2026.1.2",
"uuid": "1b42324f-17c6-4875-8e77-1c312bc8c786",
"frcYear": "2025",
"frcYear": "2026",
"mavenUrls": [
"https://3015rangerrobotics.github.io/pathplannerlib/repo"
],
Expand All @@ -12,15 +12,15 @@
{
"groupId": "com.pathplanner.lib",
"artifactId": "PathplannerLib-java",
"version": "2025.2.7"
"version": "2026.1.2"
}
],
"jniDependencies": [],
"cppDependencies": [
{
"groupId": "com.pathplanner.lib",
"artifactId": "PathplannerLib-cpp",
"version": "2025.2.7",
"version": "2026.1.2",
"libName": "PathplannerLib",
"headerClassifier": "headers",
"sharedLibrary": false,
Expand Down
221 changes: 221 additions & 0 deletions examples/clock_drive_drivebase/vendordeps/Phoenix5-replay-5.36.0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
{
"fileName": "Phoenix5-replay-5.36.0.json",
"name": "CTRE-Phoenix (v5)",
"version": "5.36.0",
"frcYear": "2026",
"uuid": "fbc886a4-2cec-40c0-9835-71086a8cc3df",
"mavenUrls": [
"https://maven.ctr-electronics.com/release/"
],
"jsonUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix/Phoenix5-replay-frc2026-latest.json",
"requires": [
{
"uuid": "e7900d8d-826f-4dca-a1ff-182f658e98af",
"errorMessage": "Phoenix 5 requires low-level libraries from Phoenix 6. Please add the Phoenix 6 vendordep before adding Phoenix 5.",
"offlineFileName": "Phoenix6-replay-frc2026-latest.json",
"onlineUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix6/latest/Phoenix6-replay-frc2026-latest.json"
}
],
"conflictsWith": [
{
"uuid": "e995de00-2c64-4df5-8831-c1441420ff19",
"errorMessage": "Users must use the regular Phoenix 5 vendordep when using the regular Phoenix 6 vendordep.",
"offlineFileName": "Phoenix6-frc2026-latest.json"
},
{
"uuid": "ab676553-b602-441f-a38d-f1296eff6537",
"errorMessage": "Users cannot have both the replay and regular Phoenix 5 vendordeps in their robot program.",
"offlineFileName": "Phoenix5-frc2026-latest.json"
}
],
"javaDependencies": [
{
"groupId": "com.ctre.phoenix",
"artifactId": "api-java",
"version": "5.36.0"
},
{
"groupId": "com.ctre.phoenix",
"artifactId": "wpiapi-java",
"version": "5.36.0"
}
],
"jniDependencies": [
{
"groupId": "com.ctre.phoenix",
"artifactId": "cci",
"version": "5.36.0",
"isJar": false,
"skipInvalidPlatforms": true,
"validPlatforms": [
"linuxathena"
],
"simMode": "hwsim"
},
{
"groupId": "com.ctre.phoenix.replay",
"artifactId": "cci-replay",
"version": "5.36.0",
"isJar": false,
"skipInvalidPlatforms": true,
"validPlatforms": [
"windowsx86-64",
"linuxx86-64",
"linuxarm64",
"osxuniversal"
],
"simMode": "hwsim"
},
{
"groupId": "com.ctre.phoenix.sim",
"artifactId": "cci-sim",
"version": "5.36.0",
"isJar": false,
"skipInvalidPlatforms": true,
"validPlatforms": [
"windowsx86-64",
"linuxx86-64",
"linuxarm64",
"osxuniversal"
],
"simMode": "swsim"
}
],
"cppDependencies": [
{
"groupId": "com.ctre.phoenix",
"artifactId": "wpiapi-cpp",
"version": "5.36.0",
"libName": "CTRE_Phoenix_WPI",
"headerClassifier": "headers",
"sharedLibrary": true,
"skipInvalidPlatforms": true,
"binaryPlatforms": [
"linuxathena"
],
"simMode": "hwsim"
},
{
"groupId": "com.ctre.phoenix",
"artifactId": "api-cpp",
"version": "5.36.0",
"libName": "CTRE_Phoenix",
"headerClassifier": "headers",
"sharedLibrary": true,
"skipInvalidPlatforms": true,
"binaryPlatforms": [
"linuxathena"
],
"simMode": "hwsim"
},
{
"groupId": "com.ctre.phoenix",
"artifactId": "cci",
"version": "5.36.0",
"libName": "CTRE_PhoenixCCI",
"headerClassifier": "headers",
"sharedLibrary": true,
"skipInvalidPlatforms": true,
"binaryPlatforms": [
"linuxathena"
],
"simMode": "hwsim"
},
{
"groupId": "com.ctre.phoenix.replay",
"artifactId": "wpiapi-cpp-replay",
"version": "5.36.0",
"libName": "CTRE_Phoenix_WPIReplay",
"headerClassifier": "headers",
"sharedLibrary": true,
"skipInvalidPlatforms": true,
"binaryPlatforms": [
"windowsx86-64",
"linuxx86-64",
"linuxarm64",
"osxuniversal"
],
"simMode": "hwsim"
},
{
"groupId": "com.ctre.phoenix.replay",
"artifactId": "api-cpp-replay",
"version": "5.36.0",
"libName": "CTRE_PhoenixReplay",
"headerClassifier": "headers",
"sharedLibrary": true,
"skipInvalidPlatforms": true,
"binaryPlatforms": [
"windowsx86-64",
"linuxx86-64",
"linuxarm64",
"osxuniversal"
],
"simMode": "hwsim"
},
{
"groupId": "com.ctre.phoenix.replay",
"artifactId": "cci-replay",
"version": "5.36.0",
"libName": "CTRE_PhoenixCCIReplay",
"headerClassifier": "headers",
"sharedLibrary": true,
"skipInvalidPlatforms": true,
"binaryPlatforms": [
"windowsx86-64",
"linuxx86-64",
"linuxarm64",
"osxuniversal"
],
"simMode": "hwsim"
},
{
"groupId": "com.ctre.phoenix.sim",
"artifactId": "wpiapi-cpp-sim",
"version": "5.36.0",
"libName": "CTRE_Phoenix_WPISim",
"headerClassifier": "headers",
"sharedLibrary": true,
"skipInvalidPlatforms": true,
"binaryPlatforms": [
"windowsx86-64",
"linuxx86-64",
"linuxarm64",
"osxuniversal"
],
"simMode": "swsim"
},
{
"groupId": "com.ctre.phoenix.sim",
"artifactId": "api-cpp-sim",
"version": "5.36.0",
"libName": "CTRE_PhoenixSim",
"headerClassifier": "headers",
"sharedLibrary": true,
"skipInvalidPlatforms": true,
"binaryPlatforms": [
"windowsx86-64",
"linuxx86-64",
"linuxarm64",
"osxuniversal"
],
"simMode": "swsim"
},
{
"groupId": "com.ctre.phoenix.sim",
"artifactId": "cci-sim",
"version": "5.36.0",
"libName": "CTRE_PhoenixCCISim",
"headerClassifier": "headers",
"sharedLibrary": true,
"skipInvalidPlatforms": true,
"binaryPlatforms": [
"windowsx86-64",
"linuxx86-64",
"linuxarm64",
"osxuniversal"
],
"simMode": "swsim"
}
]
}
Loading