Skip to content

Commit

Permalink
Public Release
Browse files Browse the repository at this point in the history
  • Loading branch information
kaleb-dodd committed Jan 3, 2025
0 parents commit 22d9123
Show file tree
Hide file tree
Showing 98 changed files with 6,103 additions and 0 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @Simbotics/mentors
1 change: 1 addition & 0 deletions .github/assignees.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
addAssignees: author
35 changes: 35 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Description
<!--
Please include a summary of the changes and the related issue. Additionally, include a link to the corresponding Trello ticket if it exists.
Consider noting this as a WIP PR if it is not yet ready to be reviewed
-->

Trello Ticket [ ]

## Type of change
<!--
Please delete options that are not relevant.
-->

- [ ] Bug fix
- [ ] New feature

# How Has This Been Tested?
<!--
Please attach a link to a video posted in the #videos channel in Slack. Apart from early season when there isn't a robot, almost every change should be tested on a robot; the extensiveness of testing is subject to the type of change made.
If testing was deemed not necessary, make a note here instead of posting a link.
-->

- Video 1
- Slack link here

# Checklist:

- [ ] I have followed proper git practices
- [ ] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas and utilized javadoc where possible
- [ ] My changes generate no new warnings
- [ ] I have performed tests that prove my fix is effective or that my feature works, if necessary
- [ ] I have applied the relevant labels to the PR
14 changes: 14 additions & 0 deletions .github/workflows/auto-assign.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: 'Auto assign author'

on:
pull_request:
types: [opened]

jobs:
auto-assign:
runs-on: ubuntu-latest
steps:
- name: Assign PR creator
uses: kentaro-m/[email protected]
with:
configuration-path: .github/assignees.yml
30 changes: 30 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Build

# Controls when the action will run. Triggers the workflow on push to all branches.
on: [ push ]

jobs:

# Build our code to see if it can be deployed without errors
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# This grabs the WPILib docker container
container: wpilib/roborio-cross-ubuntu:2023-22.04

steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3

# Declares the repository safe and not under dubious ownership.
- name: Add repository to git safe directories
run: git config --global --add safe.directory $GITHUB_WORKSPACE

# Grant execute permission for gradlew
- name: Grant execute permission for gradlew
run: chmod +x gradlew

# Runs a single command using the runners shell
- name: Compile and run tests on robot code
run: ./gradlew build
25 changes: 25 additions & 0 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Format

on:
pull_request:
branches:
- main

jobs:

formatting:
# The type of runner that the job will run on
runs-on: ubuntu-latest

steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
- uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'oracle'
- uses: axel-op/googlejavaformat-action@v3
with:
args: "--skip-sorting-imports --replace"
178 changes: 178 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
# This gitignore has been specially created by the WPILib team.
# If you remove items from this file, intellisense might break.

### C++ ###
# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

### Java ###
# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

### Linux ###
*~

# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*

# KDE directory preferences
.directory

# Linux trash folder which might appear on any partition or disk
.Trash-*

# .nfs files are created when an open file is removed but is still being accessed
.nfs*

### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon

# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json

### Windows ###
# Windows thumbnail cache files
Thumbs.db
ehthumbs.db
ehthumbs_vista.db

# Dump file
*.stackdump

# Folder config file
[Dd]esktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp

# Windows shortcuts
*.lnk

### Gradle ###
.gradle
/build/

# Ignore Gradle GUI config
gradle-app.setting

# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar

# Cache of project
.gradletasknamecache

# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
# gradle/wrapper/gradle-wrapper.properties

# # VS Code Specific Java Settings
# DO NOT REMOVE .classpath and .project
.classpath
.project
.settings/
bin/

# IntelliJ
*.iml
*.ipr
*.iws
.idea/
out/

# Fleet
.fleet

# Simulation GUI and other tools window save file
*-window.json

# Simulation data log directory
logs/

# Folder that has CTRE Phoenix Sim device config storage
ctre_sim/
27 changes: 27 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
// 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": "java",
"name": "Main",
"request": "launch",
"mainClass": "frc.robot.Main",
"projectName": "2024-SimbotMD"
},
{
"type": "wpilib",
"name": "WPILib Desktop Debug",
"request": "launch",
"desktop": true
},
{
"type": "wpilib",
"name": "WPILib roboRIO Debug",
"request": "launch",
"desktop": false
}
]
}
29 changes: 29 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"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"
}
6 changes: 6 additions & 0 deletions .wpilib/wpilib_preferences.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"enableCppIntellisense": false,
"currentLanguage": "java",
"projectYear": "2024",
"teamNumber": 1114
}
9 changes: 9 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## Contributing
Want to contribute to this project? We make it as simple as possible to open a pull request and contribute to the codebase to make it the best it can. To open a pull request and contribute code, it's easy! Just follow these steps:

1. Fork the repository and either contribute to the `main` branch on that repository, or make a new branch on that forked repository.
2. Once you have pushed all of the changes to your forked repository, go to [the pull request section](https://github.com/Simbotics/2024-SimbotMD/pulls) in our repository and click the `new pull request` button on the right side of your screen.
3. When you are on the pull request screen, set the compare branch to the one on your forked repository and set the base branch to be the `main` branch. We also kindly ask that you add a short description of the changes you have to our codebase in the description section of the pull request. Please be sure that you set an appropriate title for your pull request.
4. Finally, once you have reviewed your contributions just hit the `create pull request` button and you're all set!

_Note: Please await the review of one or more repository managers until your code changes are pushed to main._ **ALL GITHUB ACTIONS MUST PASS IN A PULL REQUEST TO BE ELIGIBLE TO BE MERGED**
24 changes: 24 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# DISCLAIMER
As this contains untested off-season code changes, it is impossible to guarantee that it will work properly. See the related `Untested Changes` section on the primary known risks.

# Drive Template
Contains a template consisting of basic LED, Drive, and Intake subsystems that we are confident will be used in future years, alongside our autonomous structure. Serves as a clean starting point for future years.

# Untested Changes
As this is developed during the off-season, it comes alongside changes we wanted to implement but didn't have a chance to test
- LED Subsystem
- Contains a new structure known to be broken without errors currently. Has to be debugged further to see if we will need to revert to working 2024 LED Subsystem
- Drive on Approach Angle
- Had testing with slow speeds and seems to work, but should be ran on a full field with a longer autonomous command to confirm behaviour
- Position Resetting with Limelight
- The underlying code seemed to work with a quick PoC. Should be tested on a field after drifting in Teleop, and then with the autonomous command (example command created)
- Contains teleop code to reset position off of apriltag off of a driver button. This should be removed in actual season, but kept until the code is confirmed to work. Additionally includes debugging code in the corresponding `Drive.java` method.
- Autonomus Command Structure Change (Data objects, reversing in Constructor, Offset methods)
- All of this remains untested. Rough steps to test:
- Run normal test auto to ensure new objects work
- Add red and blue offset modifiers in opposite directions
- Test the red offset
- Change to blue and ensure it's still reversing, and it's running the correct offset

- X/Y naming convention change
- This almost certainly works fine as it is only a naming convention, though it's always possible it broke something and worth noting
Loading

0 comments on commit 22d9123

Please sign in to comment.