Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
a6a01d4
port to 2027 real
sidsenthilexe Sep 9, 2026
98e758d
ported elastic
sidsenthilexe Sep 10, 2026
5a8e0a4
photon vendordep update
sidsenthilexe Sep 28, 2026
250ba75
Fix api naming change
sidsenthilexe Sep 28, 2026
7a046d1
face button naming change again 💀
sidsenthilexe Sep 28, 2026
fcc3e94
replaced april tag
MaryamShaikh320 Sep 29, 2026
a0682ee
replace smartdashboard with new telemetry
pbhak Sep 29, 2026
52ccbca
uncook Main.java
pbhak Sep 29, 2026
bf6b087
fix customcontroller.java
MaryamShaikh320 Sep 29, 2026
f6c575c
Merge branch '2027-port' of https://github.com/firebots-software/2026…
MaryamShaikh320 Sep 29, 2026
34b52c3
make second controller fallback
pbhak Sep 29, 2026
0a3b794
Merge branch '2027-port' of github.com:firebots-software/2026-Rebuilt…
pbhak Sep 29, 2026
1c41665
fixed brownoutvoltage thing
MaryamShaikh320 Sep 29, 2026
04d0cd1
smth like this i think
sidsenthilexe Oct 1, 2026
5a911e0
change auto selector to tunable
pbhak Oct 1, 2026
44bb00e
disable ctrlr2 for now
sidsenthilexe Oct 1, 2026
5fabfbc
Merge branch '2027-opmodes' of https://github.com/firebots-software/2…
sidsenthilexe Oct 1, 2026
3c9b0a7
diff canbus
sidsenthilexe Oct 1, 2026
b15a89b
fix chopped swerve
sidsenthilexe Oct 1, 2026
e0cded8
removed math.abs for turning speed
MaryamShaikh320 Oct 3, 2026
cb440db
robocontainer fix negatives
sidsenthilexe Oct 3, 2026
35fab75
wrap fix
sidsenthilexe Oct 4, 2026
27a9523
led thingy
sidsenthilexe Oct 4, 2026
a7b7381
move visionperiodic to robot.java
pbhak Oct 4, 2026
4cd73b2
Merge branch '2027-opmodes' of github.com:firebots-software/2026-Rebu…
pbhak Oct 4, 2026
2363f11
no npe por favor
sidsenthilexe Oct 4, 2026
7919c16
fix
pbhak Oct 4, 2026
630c8b3
Merge branch '2027-opmodes' of github.com:firebots-software/2026-Rebu…
pbhak Oct 4, 2026
8aba5d2
build and ci
sidsenthilexe Oct 5, 2026
1e5877d
java 25
sidsenthilexe Oct 5, 2026
0657f68
revert
sidsenthilexe Oct 5, 2026
b6b1f97
on for pr
sidsenthilexe Oct 5, 2026
6bb8ebd
ok hopefully this cooked auto thing works
sidsenthilexe Oct 5, 2026
85f507c
tried to add test command before we just made a bunch of op modes
fatemashiyaji46 Oct 6, 2026
193d74e
gemini be cooking i guess
pbhak Oct 6, 2026
e917b7a
Name fix
sidsenthilexe Oct 6, 2026
61072d6
fix chopped auto
sidsenthilexe Oct 6, 2026
6cf2367
fix chopped autos pt 2
pbhak Oct 6, 2026
5b33f2b
spot
pbhak Oct 6, 2026
3678b5f
disable left strip
pbhak Oct 8, 2026
e5d82ae
auto name fix
pbhak Oct 8, 2026
4c3d40e
add back codeowners
sidsenthilexe Oct 8, 2026
06551cf
Merge branch '2027-opmodes' of https://github.com/firebots-software/2…
sidsenthilexe Oct 8, 2026
b65a0fd
Rebuild
sidsenthilexe Oct 8, 2026
5c27d07
led fix
pbhak Oct 9, 2026
2245c31
fix second display telemetry
pbhak Oct 9, 2026
d16f759
new auto with very good name
sidsenthilexe Oct 9, 2026
4db816c
Merge branch '2027-opmodes' of https://github.com/firebots-software/2…
sidsenthilexe Oct 9, 2026
ae05484
second display working confirmed 2027 real
pbhak Oct 10, 2026
d1ade28
Merge branch '2027-opmodes' of github.com:firebots-software/2026-Rebu…
pbhak Oct 10, 2026
49cccb8
merged smth
fatemashiyaji46 Oct 10, 2026
0cb9266
Merge branch '2027-opmodes' of https://github.com/firebots-software/2…
fatemashiyaji46 Oct 10, 2026
47702a7
move elastic logging to robot.java
pbhak Oct 10, 2026
889ab3c
Merge branch '2027-opmodes' of github.com:firebots-software/2026-Rebu…
pbhak Oct 10, 2026
a2b6343
it actually works now!
pbhak Oct 10, 2026
4923a39
log match time
sidsenthilexe Oct 10, 2026
a163477
Merge branch '2027-opmodes' of https://github.com/firebots-software/2…
sidsenthilexe Oct 10, 2026
c71c9a3
higher shot when vision off
sidsenthilexe Oct 10, 2026
4e3e34c
changed second dip velo
fatemashiyaji46 Oct 11, 2026
b372d21
Merge branch '2027-opmodes' of https://github.com/firebots-software/2…
fatemashiyaji46 Oct 11, 2026
0888b8a
align leds with shift timings
pbhak Oct 11, 2026
b645898
Merge branch '2027-opmodes' of github.com:firebots-software/2026-Rebu…
pbhak Oct 11, 2026
dc68064
paths
fatemashiyaji46 Oct 11, 2026
67b1f9c
Merge branch '2027-opmodes' of https://github.com/firebots-software/2…
fatemashiyaji46 Oct 11, 2026
26c60f8
spotless
sidsenthilexe Oct 11, 2026
2a58887
spotless and use loggedtalonfx on swerves
sidsenthilexe Oct 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ jobs:
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
java-version: 25
cache: 'gradle'
- run: ./gradlew spotlessCheck
build:
# The type of runner that the job will run on
Expand All @@ -27,5 +28,6 @@ jobs:
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
java-version: 25
cache: 'gradle'
- run: ./gradlew build
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -185,4 +185,3 @@ compile_commands.json

# Eclipse generated file for annotation processors
.factorypath
.gradle/*
21 changes: 21 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [

{
"type": "wpilib",
"name": "WPILib Desktop Debug",
"request": "launch",
"desktop": true,
},
{
"type": "wpilib",
"name": "WPILib Systemcore Debug",
"request": "launch",
"desktop": false,
}
]
}
64 changes: 62 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,63 @@
{
"java.configuration.updateBuildConfiguration": "automatic"
}
"java.configuration.updateBuildConfiguration": "automatic",
"java.server.launchMode": "Standard",
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/CVS": true,
"**/.DS_Store": true,
"bin/": true,
"**/.classpath": true,
"**/.project": true,
"**/.settings": true,
"**/.factorypath": true,
"**/*~": true
},
"java.test.config": [
{
"name": "WPIlibUnitTests",
"workingDirectory": "${workspaceFolder}/build/jni/release",
"vmargs": [ "-Djava.library.path=${workspaceFolder}/build/jni/release" ],
"env": {
"LD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" ,
"DYLD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release"
}
},
],
"java.test.defaultConfig": "WPIlibUnitTests",
"java.import.gradle.annotationProcessing.enabled": false,
"java.completion.favoriteStaticMembers": [
"org.junit.Assert.*",
"org.junit.Assume.*",
"org.junit.jupiter.api.Assertions.*",
"org.junit.jupiter.api.Assumptions.*",
"org.junit.jupiter.api.DynamicContainer.*",
"org.junit.jupiter.api.DynamicTest.*",
"org.mockito.Mockito.*",
"org.mockito.ArgumentMatchers.*",
"org.mockito.Answers.*",
"org.wpilib.units.Units.*"
],
"java.completion.filteredTypes": [
"java.awt.*",
"com.sun.*",
"sun.*",
"jdk.*",
"org.graalvm.*",
"io.micrometer.shaded.*",
"java.beans.*",
"java.util.Base64.*",
"java.util.Timer",
"java.sql.*",
"javax.swing.*",
"javax.management.*",
"javax.smartcardio.*",
"org.wpilib.math.proto.*",
"org.wpilib.math.**.proto.*",
"org.wpilib.math.**.struct.*",
],
"java.debug.settings.enableRunDebugCodeLens": false,
"java.dependency.enableDependencyCheckup": false,
"java.compile.nullAnalysis.mode": "automatic"
}
2 changes: 1 addition & 1 deletion .wpilib/wpilib_preferences.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"enableCppIntellisense": false,
"currentLanguage": "java",
"projectYear": "2026",
"projectYear": "2027_alpha7",
"teamNumber": 3501
}
2 changes: 1 addition & 1 deletion CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1 +1 @@
* @firebots-software/software-reviewers
* @firebots-software/software-reviewers
82 changes: 33 additions & 49 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,64 +1,57 @@
plugins {
id "java"
id "edu.wpi.first.GradleRIO" version "2026.2.1"
id 'com.diffplug.spotless' version '6.20.0'
id "application"
id "org.wpilib.GradleRIO" version "2027.0.0-alpha-7"
id "com.diffplug.spotless" version "6.25.0"
}


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

def ROBOT_MAIN_CLASS = "frc.robot.Main"
def ROBOT_MAIN_CLASS = "first.Main"

// Define my targets (RoboRIO) and artifacts (deployable files)
// Define my targets (SystemCore) and artifacts (deployable files)
// This is added by GradleRIO's backing project DeployUtils.
deploy {
targets {
roborio(getTargetTypeClass('RoboRIO')) {
systemcore(getTargetTypeClass('SystemCore')) {
// Team number is loaded either from the .wpilib/wpilib_preferences.json
// or from command line. If not found an exception will be thrown.
// You can use getTeamOrDefault(team) instead of getTeamNumber if you
// want to store a team number in this file.
team = project.frc.getTeamNumber()
debug = project.frc.getDebugOrDefault(false)
team = project.wpilib.getTeamNumber()
// Use the default systemcore host name. This must be called after setting team
// as happens on the line above
useDefaultSystemcoreHostName()
debug = project.wpilib.getDebugOrDefault(false)

artifacts {
// First part is artifact name, 2nd is artifact type
// getTargetTypeClass is a shortcut to get the class type using a string

// frcJava(getArtifactTypeClass('FRCJavaArtifact')) {
// }
frcJava(getArtifactTypeClass('FRCJavaArtifact')) {
// Enable VisualVM connection
jvmArgs.add("-Dcom.sun.management.jmxremote=true")
jvmArgs.add("-Dcom.sun.management.jmxremote.port=1198")
jvmArgs.add("-Dcom.sun.management.jmxremote.local.only=false")
jvmArgs.add("-Dcom.sun.management.jmxremote.ssl=false")
jvmArgs.add("-Dcom.sun.management.jmxremote.authenticate=false")
jvmArgs.add("-Djava.rmi.server.hostname=10.35.1.2") // Replace TE.AM with team number
wpilibJava(getArtifactTypeClass('WPILibJavaArtifact')) {
// Set to true to use debug including JNI, which will drastically impact performance.
debugJni = false
}

// Static files artifact
frcStaticFileDeploy(getArtifactTypeClass('FileTreeArtifact')) {
wpilibStaticFileDeploy(getArtifactTypeClass('FileTreeArtifact')) {
files = project.fileTree('src/main/deploy')
directory = '/home/lvuser/deploy'
deleteOldFiles = false // Change to true to delete files on roboRIO that no
directory = '/home/systemcore/deploy'
deleteOldFiles = false // Change to true to delete files on systemcore that no
// longer exist in deploy directory of this project
}
}
}
}
}

def deployArtifact = deploy.targets.systemcore.artifacts.wpilibJava


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

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

// Set this to true to enable desktop support.
def includeDesktopSupport = false
Expand All @@ -70,11 +63,11 @@ dependencies {
implementation wpi.java.deps.wpilib()
implementation wpi.java.vendor.java()

roborioDebug wpi.java.deps.wpilibJniDebug(wpi.platforms.roborio)
roborioDebug wpi.java.vendor.jniDebug(wpi.platforms.roborio)
systemcoreDebug wpi.java.deps.wpilibJniDebug(wpi.platforms.systemcore)
systemcoreDebug wpi.java.vendor.jniDebug(wpi.platforms.systemcore)

roborioRelease wpi.java.deps.wpilibJniRelease(wpi.platforms.roborio)
roborioRelease wpi.java.vendor.jniRelease(wpi.platforms.roborio)
systemcoreRelease wpi.java.deps.wpilibJniRelease(wpi.platforms.systemcore)
systemcoreRelease wpi.java.vendor.jniRelease(wpi.platforms.systemcore)

nativeDebug wpi.java.deps.wpilibJniDebug(wpi.platforms.desktop)
nativeDebug wpi.java.vendor.jniDebug(wpi.platforms.desktop)
Expand All @@ -97,27 +90,18 @@ test {
wpi.sim.addGui().defaultEnabled = true
wpi.sim.addDriverstation()

// Setting up my Jar File. In this case, adding all libraries into the main jar ('fat jar')
// in order to make them all available at runtime. Also adding the manifest so WPILib
// knows where to look for our Robot Class.
application.mainClass = ROBOT_MAIN_CLASS

deployArtifact.configureApplication(application)
wpi.java.configureApplication(application)
wpi.java.configureTestTasks(test)

jar {
from {
configurations.runtimeClasspath.collect {
it.isDirectory() ? it : zipTree(it)
}
}
from('src') { into 'backup/src' }
from('vendordeps') { into 'backup/vendordeps' }
from('build.gradle') { into 'backup' }
manifest edu.wpi.first.gradlerio.GradleRIOPlugin.javaManifest(ROBOT_MAIN_CLASS)
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}

// Configure jar and deploy tasks
deployArtifact.jarTask = jar
wpi.java.configureExecutableTasks(jar)
wpi.java.configureTestTasks(test)

// Configure string concat to always inline compile
tasks.withType(JavaCompile) {
options.compilerArgs.add '-XDstringConcat=inline'
Expand All @@ -134,7 +118,7 @@ spotless {
exclude '**/build/**', '**/build-*/**', '**/bin/**'
}
toggleOffOn()
googleJavaFormat()
googleJavaFormat('1.28.0')
removeUnusedImports()
trimTrailingWhitespace()
endWithNewline()
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
14 changes: 7 additions & 7 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=permwrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=permwrapper/dists
distributionBase=GRADLE_USER_HOME
distributionPath=permwrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=permwrapper/dists
14 changes: 5 additions & 9 deletions gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions gradlew.bat

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading