Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
573f158
Testing Adding a new page.
snvgglebear Dec 14, 2025
f1086c9
Updated actions.
snvgglebear Dec 14, 2025
5cd0613
Updated to run on branch push for testing.
snvgglebear Dec 14, 2025
09e5cc9
Changed heading ranges.
snvgglebear Dec 14, 2025
4a04337
Testing update to main workflow.
snvgglebear Dec 14, 2025
fa99985
Testing new workflow.
snvgglebear Dec 14, 2025
02c206b
Testing new woflow.
snvgglebear Dec 14, 2025
f3f59b5
Fixed formatting.
snvgglebear Dec 14, 2025
0ad9b6f
Added permissions.
snvgglebear Dec 14, 2025
fb86fe2
Fixed actions.
snvgglebear Dec 14, 2025
5697234
Added missing call to gh-deploy
snvgglebear Dec 14, 2025
fab38d0
Fixed new workflow and typos in basic Git.
snvgglebear Dec 14, 2025
b2bd57d
Added assets and updated git basics and project page.
snvgglebear Dec 14, 2025
2acb971
Updating kitbot tutorial for neos.
snvgglebear Dec 14, 2025
34f9063
Added new images and continued updating kitbot page.
snvgglebear Dec 15, 2025
058bff1
Updating the create robot page.
snvgglebear Dec 15, 2025
79ab256
Finished overhauling creating drivetrain.
snvgglebear Dec 15, 2025
04588ff
Corrected some Talon references.
snvgglebear Dec 15, 2025
8d32192
Added electronics page and assets.
snvgglebear Dec 15, 2025
6a223e4
Removed old workflows that are not needed.
snvgglebear Dec 15, 2025
7f55f64
Started updating the Autonomous command.
snvgglebear Dec 15, 2025
dc91d65
Working on Autonomous command.
snvgglebear Dec 15, 2025
dbb139c
added to autonomous.
snvgglebear Dec 16, 2025
fbea5ea
Merge branch 'robolancer_updates' of https://github.com/RoboLancers/F…
snvgglebear Dec 16, 2025
0e08871
added back workflows.
snvgglebear Dec 16, 2025
35d61ea
fixed branch in workflow.
snvgglebear Dec 16, 2025
2999637
Fixed build.
snvgglebear Dec 16, 2025
2695ca8
fixed branch name
snvgglebear Dec 16, 2025
82ef352
changed deploy.
snvgglebear Dec 16, 2025
99c0ad4
fixed typo.
snvgglebear Dec 16, 2025
5dded90
Changed heading level.
snvgglebear Dec 16, 2025
8e5d714
Fixed typo
snvgglebear Dec 16, 2025
b310180
Added dev container config.
snvgglebear Dec 17, 2025
03dead4
Merge branch 'robolancer_updates' of https://github.com/RoboLancers/F…
snvgglebear Dec 17, 2025
1a28c84
Finished section about configuring the controller to move the robot.
snvgglebear Dec 17, 2025
0cfeef1
Added advantageKit page for use later.
snvgglebear Dec 17, 2025
3fc64f0
Updated deploy_site workflow.
snvgglebear Dec 17, 2025
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
24 changes: 24 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/debian
{
"name": "Debian",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/base:trixie",
"features": {
"ghcr.io/devcontainers-extra/features/mkdocs:2": {},
"ghcr.io/devcontainers/features/python:1": {}
},
"postCreateCommand": "pip install --user -r requirements.txt"

// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],

// Configure tool-specific properties.
// "customizations": {},

// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}
32 changes: 32 additions & 0 deletions .github/workflows/Deploy_site.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Deploy Site
permissions:
contents: write
on:
# pull_request:
# branches:
# - robolancer_updates
push:
branches:
- robolancer_updates
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.x
- run: pip install -r requirements.txt
- run: mkdocs build

deploy:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.x
- run: pip install mkdocs
- run: pip install -r requirements.txt
- run: mkdocs gh-deploy --force
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: Build MkDocs
on:
pull_request:
push:
branches:
- main
- robolancer_updates
jobs:
build:
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Publish docs via GitHub Pages
on:
push:
branches:
- main
- robolancer_updates
jobs:
deploy:
runs-on: ubuntu-latest
Expand Down
Binary file added docs/assets/images/Electronics/Battery.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/Breaker.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/CANWire.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/CANcoder.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/CANivore.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/Falcon.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/Kraken.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/LimeLight.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/LimitSwitch.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/PDH.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/Pigeon2.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/Pose.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/RSL.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/Radio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/RoboRIO.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/Solenoid.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/SparkMax.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/VortexFlex.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/servo.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/x44.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/driving_robot/fix_error_1.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/new_project/Create.png
Binary file added docs/assets/images/vscode_tips/GitDemoVideo.mp4
Binary file not shown.
Binary file added docs/assets/images/vscode_tips/git_vscode.png
317 changes: 317 additions & 0 deletions docs/basics/ElectronicsCrashCourse.md

Large diffs are not rendered by default.

61 changes: 61 additions & 0 deletions docs/programming/2.6_AdvantageKit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<!-- TODO: add enhanced formatting. -->

# AdvantageKit

## AdvantageKit is a logging framework developed by team 6328

### What is logging?

Logging is recording some or all of the state (such as the current values of variables, inputs and outputs, and what Commands are running) of the robot so that we can play it back later.

### Why log?

Logging helps with debugging by letting us see exactly what was happening to the robot and what it was doing when it broke.
This is especially useful at competition, when we have limited time and testing ability to diagnose problems.
For instance, at Houston 2023 we had an issue in our second quals match where our grabber stopped responding to input.
Using the logs of that match, we saw that the sensor readings of the grabber had stopped responding, which suggested that the CAN bus to the grabber had broken.

### Why AdvantageKit?

AdvantageKit logs every input and output to and from the robot.
This means we can perfectly recreate the state of the robot in the log or with a simulator.

<img alt="Diagram of AKit data flow" src="../../assets/akit.png" width="800">

It also means that we can run the same inputs through modified code, and simulate how the robot would have responded.
AdvantageKit calls this replay.
One of the examples 6328 uses is when they used a log to diagnose an issue with the way they tracked vision targets, adjusted it, then used replay to confirm that the change would have produced the correct outputs with the same inputs.

AdvantageKit is a mature and developed framework for this type of logging that should continue to be maintained for the foreseeable future.

AdvantageKit is closely integrated with AdvantageScope, a log and sim viewer built by 6328.

### Drawbacks

Running this amount of logging has performance overhead on the rio, using valuable cpu time each loop.
Logging also requires a non-insignificant architecture change to our codebase by using an IO layer under each of our subsystems.
While this does require some additional effort to write subsystems, it also makes simulating subsystems easier so it is a worthwhile tradeoff.

8033-specific usage of AdvantageKit features will be covered in more detail in the next couple of lessons.

### Resources

- [AdvantageKit docs](https://docs.advantagekit.org/)
- [AdvantageKit repository](https://github.com/Mechanical-Advantage/AdvantageKit)
- [AdvantageScope log viewer](https://github.com/Mechanical-Advantage/AdvantageScope)
- [6328 logging talk](https://youtu.be/mmNJjKJG8mw)

### Examples

- [6328 2023 code](https://github.com/Mechanical-Advantage/RobotCode2023)
- [3476 2023 code](https://github.com/FRC3476/FRC-2023)
- [8033 2025 code](https://github.com/HighlanderRobotics/Reefscape)

### Exercises

- Follow this [tutorial](2.8_KitbotAKitRefactor.md) to add AdvantageKit to your kitbot code.

### Notes

- See the [AdvantageKit Structure Reference](2.7_AKitStructureReference.md) article for more on the IO layer structure
- [Here](https://drive.google.com/drive/folders/1qNMZ7aYOGI31dQNAwt7rhFo97NR7mxtr) are some logs from our 2023-2024 season
25 changes: 18 additions & 7 deletions docs/programming/autonomous.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## Overview

In this section we will be going over
In this section we will be going over:

1. Creating an autonomous command group
2. Using RobotPreferences to quickly change our autonomous values
Expand All @@ -20,26 +20,37 @@ In this section we will be going over

- An autonomous command is a command that is ran during "autonomous mode" under the **autonomousInit** method in **Robot.java**
- It could be a single **command** or a **command group**
- It's especially helpful to have if you don't have any cameras to drive the robot during a
"sandstorm" period (2019 game mechanic where the drivers couldn't see during the pre tele-op phase)
- For this tutorial we will create an autonomous **command group** that makes the robot drive forward 5 feet, wait 5 seconds, and then pitch the shooter up during autonomous
- It's especially helpful to have if you don't have any cameras to drive the robot during autonomous (rare, but does happen)
- For this tutorial we will create a simple autonomous **command ** that makes the robot drive forward slightly.

## Creating Commands For Autonomous

- Since we can't control our robot during an autonomous command we will want to create commands that allow the robot to move independently of a driver

## Creating the DriveDistance Command
## Creating a basic Autonomous Command

!!! summary ""
**1)** Create a new command called **DriveDistance**
**1)** Create a new command called **AutoCommand** using the `create new class/command` feature in Vscode.


!!! summary ""
**2)** Before the constructor create a **double** called **distance**
```Java
private Double distance;
```

- We will use this to tell the command to finish when the robot drives the inputted distance

**3)** Also create a **Timer** called `runtime`.

```Java
private Time runTime;
```

- This will be used to control how long the robot will move for.

!!! summary ""
**3)** In the **DriveDistance** constructor add a **double** parameter called **inches**
**3)** In the **AutoCommand** constructor add a **DriveSubsystem** parameter called **driveSubsystem**

!!! summary ""
**4)** Inside type:
Expand Down
Loading