From 4444227465e568d92c95816770e1e53c5833fe19 Mon Sep 17 00:00:00 2001 From: CodeMyGame1 Date: Thu, 16 Jul 2026 09:42:04 -0700 Subject: [PATCH 1/8] feat: add stage 1 intro --- src/config/sidebarConfig.ts | 8 +++---- .../stage-1/stage-1a/stage-overview.mdx | 21 +++++++++++++++++++ 2 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 src/content/docs/learning-course/stage-1/stage-1a/stage-overview.mdx diff --git a/src/config/sidebarConfig.ts b/src/config/sidebarConfig.ts index 72e16be5..6c33b2e4 100644 --- a/src/config/sidebarConfig.ts +++ b/src/config/sidebarConfig.ts @@ -98,10 +98,10 @@ export const sidebarSections: Record = { label: 'Stage 1', collapsed: true, items: [ - // { - // label: 'Stage 1 Introduction', - // slug: 'learning-course/stage-1a-commands/overview', - // }, + { + label: 'Stage 1 Introduction', + slug: 'learning-course/stage-1/stage-1a/stage-overview', + }, { label: 'Stage 1A: TBD', collapsed: true, diff --git a/src/content/docs/learning-course/stage-1/stage-1a/stage-overview.mdx b/src/content/docs/learning-course/stage-1/stage-1a/stage-overview.mdx new file mode 100644 index 00000000..5891603c --- /dev/null +++ b/src/content/docs/learning-course/stage-1/stage-1a/stage-overview.mdx @@ -0,0 +1,21 @@ +--- +title: Stage 1 Overview +description: An overview of Stage 1 +prev: false +next: stage-1a/frc-prog-intro +--- + +Congratulations! Whether you already know Java, have programmed an FRC robot before, +or are a complete beginner, you should have a good grasp of the basic syntax of the Java language by now. +In Stage 1, we'll be moving on to the exciting part: actually writing code for a robot! +It might seem daunting at first, but the best way to think through it is to focus on understanding +how each individual component of the code works, instead of trying to tackle it all at once. + +This stage covers how to fully program a working kitbot for the 2026 FIRST Robotics Competition game, +REBUILT. You'll start at stage 1A, which covers a simple way to code the kitbot. +Then, you'll move on to stage 1B, which uses a slightly more complex paradigm known as commands. +In addition, you'll also get to debug your robot in a simulation, to check if your code works! +Feel free to play around with the robot and control it in sim once you've finished! + +This stage will cover the following topics: +- WIP \ No newline at end of file From 8ef7e93c17ec9df195bfa7b9f5a070073dda12dd Mon Sep 17 00:00:00 2001 From: CodeMyGame1 Date: Thu, 16 Jul 2026 09:49:46 -0700 Subject: [PATCH 2/8] linting fixes --- .../learning-course/stage-1/stage-1a/stage-overview.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/content/docs/learning-course/stage-1/stage-1a/stage-overview.mdx b/src/content/docs/learning-course/stage-1/stage-1a/stage-overview.mdx index 5891603c..270d0066 100644 --- a/src/content/docs/learning-course/stage-1/stage-1a/stage-overview.mdx +++ b/src/content/docs/learning-course/stage-1/stage-1a/stage-overview.mdx @@ -12,10 +12,12 @@ It might seem daunting at first, but the best way to think through it is to focu how each individual component of the code works, instead of trying to tackle it all at once. This stage covers how to fully program a working kitbot for the 2026 FIRST Robotics Competition game, -REBUILT. You'll start at stage 1A, which covers a simple way to code the kitbot. +REBUILT. +You'll start at stage 1A, which covers a simple way to code the kitbot. Then, you'll move on to stage 1B, which uses a slightly more complex paradigm known as commands. In addition, you'll also get to debug your robot in a simulation, to check if your code works! Feel free to play around with the robot and control it in sim once you've finished! This stage will cover the following topics: -- WIP \ No newline at end of file + +- WIP From ccd0cc32cf74cbe8db144af76756e49875d07c31 Mon Sep 17 00:00:00 2001 From: CodeMyGame1 Date: Fri, 17 Jul 2026 09:24:45 -0700 Subject: [PATCH 3/8] feat: add stage 1a intro --- examples/stage1/snippets/Main.java | 11 ++ src/config/sidebarConfig.ts | 12 +- .../stage-1/stage-1a/stage-overview.mdx | 109 +++++++++++++++--- .../stage-1/stage-overview.mdx | 24 ++++ 4 files changed, 134 insertions(+), 22 deletions(-) create mode 100644 examples/stage1/snippets/Main.java create mode 100644 src/content/docs/learning-course/stage-1/stage-overview.mdx diff --git a/examples/stage1/snippets/Main.java b/examples/stage1/snippets/Main.java new file mode 100644 index 00000000..6155073d --- /dev/null +++ b/examples/stage1/snippets/Main.java @@ -0,0 +1,11 @@ +// [main] +import org.wpilib.framework.RobotBase; + +public final class Main { + private Main() {} + + public static void main(String... args) { + RobotBase.startRobot(first.robot.Robot.class); + } +} +// [/main] \ No newline at end of file diff --git a/src/config/sidebarConfig.ts b/src/config/sidebarConfig.ts index 6c33b2e4..bc28b2bb 100644 --- a/src/config/sidebarConfig.ts +++ b/src/config/sidebarConfig.ts @@ -100,16 +100,16 @@ export const sidebarSections: Record = { items: [ { label: 'Stage 1 Introduction', - slug: 'learning-course/stage-1/stage-1a/stage-overview', + slug: 'learning-course/stage-1/stage-overview', }, { - label: 'Stage 1A: TBD', + label: 'Stage 1A', collapsed: true, items: [ - // { - // label: 'TBD', - // slug: 'stage-1a-commands/command-based-overview', - // }, + { + label: 'Stage 1A Overview', + slug: 'learning-course/stage-1/stage-1a/stage-overview', + }, // { // label: 'TBD', // slug: 'stage-1a-commands/the-command-body', diff --git a/src/content/docs/learning-course/stage-1/stage-1a/stage-overview.mdx b/src/content/docs/learning-course/stage-1/stage-1a/stage-overview.mdx index 270d0066..71cdc946 100644 --- a/src/content/docs/learning-course/stage-1/stage-1a/stage-overview.mdx +++ b/src/content/docs/learning-course/stage-1/stage-1a/stage-overview.mdx @@ -1,22 +1,99 @@ --- -title: Stage 1 Overview -description: An overview of Stage 1 -prev: false -next: stage-1a/frc-prog-intro +title: Stage 1A Overview +description: An overview of Stage 1A +prev: ../stage-overview +next: false --- -Congratulations! Whether you already know Java, have programmed an FRC robot before, -or are a complete beginner, you should have a good grasp of the basic syntax of the Java language by now. -In Stage 1, we'll be moving on to the exciting part: actually writing code for a robot! -It might seem daunting at first, but the best way to think through it is to focus on understanding -how each individual component of the code works, instead of trying to tackle it all at once. - -This stage covers how to fully program a working kitbot for the 2026 FIRST Robotics Competition game, -REBUILT. -You'll start at stage 1A, which covers a simple way to code the kitbot. -Then, you'll move on to stage 1B, which uses a slightly more complex paradigm known as commands. -In addition, you'll also get to debug your robot in a simulation, to check if your code works! -Feel free to play around with the robot and control it in sim once you've finished! +import YouTube from "../../../../../components/YouTube.astro"; + +Now, before we get into the depths of the robot code, it's useful to look at a high-level overview of the contents of a +typical WPILib project. As your code gets more advanced, you'll see more folders and files appear, but they're all controlled +by the same basic components. Below, you can see the sample file structure you'll be starting off with as a template for Stage 1A. +If your robot has REV electronics, then the template folder's name will be `rev/` instead of `ctre/` + +### Stage 1A Template Structure + +```text +ctre/ +├── src/main/ +| ├── java/first/ +| | ├── robot/ +| | | ├── opmode/ +| | | | ├── MyAuto.java +| | | | ├── MyTeleop.Java +| | | ├── simulation/ +| | | | ├── DrivetrainSim.Java +| | | | ├── SingleFlywheelSim.java +| | | ├── Robot.java +| | ├── Main.java +``` + +You'll notice that we're skipping a lot of files here, because you don't have to edit those. What's great about about using a framework +like WPILib is that it automatically generates these files when you create a new project, so you can get started coding quicker. +The other folders, like `src/main/deploy/` for example, will come in handy as your robot code becomes more advanced. +Thus, the only files shown above are the ones directly responsible for controlling what our kitbot will do. + + + +### `Main.java` +The first file to take note of is the `Main.java` file; this is the entrypoint for any Java project in real life. +Its contents are pretty short and sweet (comments and package declaration removed for brevity): +```java stage1/snippets/Main.java#main + +``` +You can see that all the `Main.java` file is doing is, quite literally, starting up the robot, +so there's really no reason to edit this file for now. + + + +### `Robot.java` +But what is that one line in `Main.java` doing? +```java +RobotBase.startRobot(first.robot.Robot.class); +``` +It seems to be "starting" an instance of the `first.robot.Robot` class, and if we go to that class file, we end up at `Robot.java`. +This is the core of your robot code, where: +- your subsystems are defined +- your controls are binded +- your opmodes are modified and used +- your debugging data is logged (aka telemetry). + + + +We'll go through this file, as well as all of the above functionalities, more in detail later. + +### `opmode/` + +For those who are used to WPILib 2026 and earlier versions, this will probably be the most significant change. +In WPILib 2027 and later versions, robot frameworks are getting a new way to control the current "mode" of the robot: OpModes. +We'll talk about this a bit more in-depth later, but they essentially allow you to define various "states" for a robot during +autonomous and teleop, which can then be set directly through the FIRST Driver Station. This would be useful, for example, +when picking what autonomous routine to run without having to push a different version of the code for every single match. +WPILib 2027 decouples many of the functions that used to be in `Robot.java` and moves them to separate files for autonomous +and teleop periods, making it easier to differentiate what functionalities the robot has during each stage of the match. + +### `simulation/` +These are the files that control simulation of the robot, allowing you to test code without actually having a physical robot in front of you. +We've set this up for you already; you'll just have to set up the simulation software yourself, which we'll cover at the end of Stage 1A. + +### The 2026 Kitbot + +But what is all this code actually going to control? Well, the answer is the 2026 FIRST Robotics Competition kitbot, the best starting point +for new FRC teams, as well as the simplest robot to get fully working. You can watch the below video to learn more about what functionalities the kitbot has. +If you're a bit confused after watching that video, don't worry. We'll explain the kitbot more in depth in the next section. + + +And that's all you need to know to get started! The rest of Stage 1A will cover how to get from the template code to a working kitbot. This stage will cover the following topics: diff --git a/src/content/docs/learning-course/stage-1/stage-overview.mdx b/src/content/docs/learning-course/stage-1/stage-overview.mdx new file mode 100644 index 00000000..118472b0 --- /dev/null +++ b/src/content/docs/learning-course/stage-1/stage-overview.mdx @@ -0,0 +1,24 @@ +--- +title: Stage 1 Overview +description: An overview of Stage 1 +prev: false +next: stage-1a/stage-overview +--- + +Congratulations! Whether you already know Java, have programmed an FRC robot before, +or are a complete beginner, you should have a good grasp of the basic syntax of the Java language by now. +In Stage 1, we'll be moving on to the exciting part: actually writing code for a robot! +It might seem daunting at first, but the best way to think through it is to focus on understanding +how each individual component of the code works, instead of trying to tackle it all at once. + +This stage covers how to fully program a working kitbot for the 2026 FIRST Robotics Competition game, +REBUILT. +You'll start at stage 1A, which covers a simple way to code the kitbot. +Then, you'll move on to stage 1B, which uses a slightly more complex paradigm known as commands. +In addition, you'll also get to debug your robot in a simulation, to check if your code works! +Feel free to play around with the robot and control it in sim once you've finished! + +This stage is composed of the following sub-stages: + +- Stage 1A +- WIP From aadafe57518aeb612a751f55d9d39410b14a4b06 Mon Sep 17 00:00:00 2001 From: CodeMyGame1 <40456953+CodeMyGame1@users.noreply.github.com> Date: Wed, 15 Jul 2026 11:15:32 -0700 Subject: [PATCH 4/8] Restrict copybara workflow to main repository (#85) --- .github/workflows/copybara.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/copybara.yml b/.github/workflows/copybara.yml index 26f7e350..64a58dbf 100644 --- a/.github/workflows/copybara.yml +++ b/.github/workflows/copybara.yml @@ -12,6 +12,7 @@ on: jobs: copybara: + if: github.ref == 'refs/heads/main' && github.repository == 'frcsoftware/frcsoftware.org' runs-on: ubuntu-latest strategy: From 04db07aae317fb73dbb169e6f33469b346daade0 Mon Sep 17 00:00:00 2001 From: Jade Date: Fri, 17 Jul 2026 05:11:20 +0800 Subject: [PATCH 5/8] Rename 'Admonitions' section to 'Call-Outs' (#92) ## Description Admonitions is an unnecessarily intimidating word for a simple section I don't see the benefit in using it over just saying call outs ## Meta Merge checklist: - [x] Pull Request title is [short, imperative summary](https://cbea.ms/git-commit/) of proposed changes - [x] The description documents the _what_ and _why_, including events that led to this PR - [x] Pull Request has been [linted and formatted](https://frcsoftware.org/contribution/styleguide/#linting-and-formatting) and follows the [styleguide](https://frcsoftware.org/contribution/styleguide) --- .../learning-course/getting-started/website-feature-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/learning-course/getting-started/website-feature-guide.mdx b/src/content/docs/learning-course/getting-started/website-feature-guide.mdx index 5491f3bb..2c5183e9 100644 --- a/src/content/docs/learning-course/getting-started/website-feature-guide.mdx +++ b/src/content/docs/learning-course/getting-started/website-feature-guide.mdx @@ -26,7 +26,7 @@ The following features are shown with examples to help you gain a quick understa -### Admonitions (Call-Outs) +### Call-Outs From e91a58d325d3df23622fee082fbba12061e48dec Mon Sep 17 00:00:00 2001 From: Adriana <16786568+Adrianamm@users.noreply.github.com> Date: Thu, 16 Jul 2026 23:00:20 -0400 Subject: [PATCH 6/8] Stage 0: Conditionals (#40) Added page about conditional statements This includes: If, else if, else. Switch isn't included for now as discussed on Discord Exercises will be added in later as it's being covered by #32 --------- Co-authored-by: samfreund Co-authored-by: Zach Harel --- examples/build.gradle | 2 +- examples/stage0/snippets/conditionals.java | 87 +++++++++ public/conditionals/else.png | Bin 0 -> 21089 bytes public/conditionals/elseif.png | Bin 0 -> 28812 bytes public/conditionals/ifstatement.png | Bin 0 -> 15084 bytes src/components/Aside.astro | 15 +- src/config/sidebarConfig.ts | 18 +- .../getting-started/website-feature-guide.mdx | 5 + .../intro-to-java/conditionals.mdx | 180 ++++++++++++++++++ .../intro-to-java/stage-overview.mdx | 8 +- 10 files changed, 301 insertions(+), 14 deletions(-) create mode 100644 examples/stage0/snippets/conditionals.java create mode 100644 public/conditionals/else.png create mode 100644 public/conditionals/elseif.png create mode 100644 public/conditionals/ifstatement.png create mode 100644 src/content/docs/learning-course/intro-to-java/conditionals.mdx diff --git a/examples/build.gradle b/examples/build.gradle index 1495f37d..183721d3 100644 --- a/examples/build.gradle +++ b/examples/build.gradle @@ -24,7 +24,7 @@ spotless { target fileTree(rootDir) { include "stage0/snippets/*.java" } - licenseHeaderFile(rootProject.file('gradle/LICENSE_HEADER'), '// \\[') + licenseHeaderFile(rootProject.file('gradle/LICENSE_HEADER'), "^(?!/\\*|\\s*\\*)") } } diff --git a/examples/stage0/snippets/conditionals.java b/examples/stage0/snippets/conditionals.java new file mode 100644 index 00000000..999af7fd --- /dev/null +++ b/examples/stage0/snippets/conditionals.java @@ -0,0 +1,87 @@ +/* + * Copyright 2026 FRCSoftware + * + * SPDX-License-Identifier: BSD-3-Clause + */ +boolean condition_A; +boolean condition_B; +boolean condition; + +class Drivetrain { + public double setThrottle(double speed) { + return speed; + } +} + +Drivetrain drivetrain = new Drivetrain(); + + +void main() { + + // [ifSyntax] + if (condition) { + // code to run when condition is true + } + // [/ifSyntax] + + // [ifExample] + double distance = 6; + if (distance < 10) { + System.out.println("Motors are spinning"); + drivetrain.setThrottle(1); // runs the motor at full speed + } + // [/ifExample] + + // [elseIfSyntax] + if (condition_A) { + // code to run when condition_A is true + } else if (condition_B) { + // code to run when Condition_B is true + } + // [/elseIfSyntax] + + // [elseIfExample] + distance = 15; + if (distance < 10) { + System.out.println("Motors are half speed"); + drivetrain.setThrottle(0.5); // runs the motors at half speed + } else if (distance > 10) { + System.out.println("Motors are at full speed"); + drivetrain.setThrottle(1); // runs the motors at full speed + } + // [/elseIfExample] + + // [ifElseSyntax] + if (condition) { + // block of code to be executed if the condition is true + } else { + // block of code to be executed if the condition is false + } + // [/ifElseSyntax] + + // [elseExample] + distance = 21; + if (distance < 10) { + System.out.println("Motors are at half speed"); + drivetrain.setThrottle(0.5); // runs the motors at half speed + } else { + System.out.println("Motors are not spinning"); + drivetrain.setThrottle(0); // stops the motors + } + // [/elseExample] + + // [conditionalExample] + distance = 21; + if (distance < 10) { + System.out.println("Motors are at half speed"); + drivetrain.setThrottle(0.5); // runs the motors at half speed + } else if (distance <= 20) { + System.out.println("Motors are at full speed"); + drivetrain.setThrottle(1); // runs the motors at full speed + } else { + System.out.println("Motors are not spinning"); + drivetrain.setThrottle(0); // stops the motors + } + // [/conditionalExample] + +} \ No newline at end of file diff --git a/public/conditionals/else.png b/public/conditionals/else.png new file mode 100644 index 0000000000000000000000000000000000000000..4541bf165035494dfcc9732b6a4f37a12854f7ce GIT binary patch literal 21089 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 literal 0 HcmV?d00001 diff --git a/public/conditionals/elseif.png b/public/conditionals/elseif.png new file mode 100644 index 0000000000000000000000000000000000000000..6e778f46059405633c31b7da81d3327cdc192cd7 GIT binary patch literal 28812 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
uY>Df0swL0$1*$EDhBu{MEX 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 literal 0 HcmV?d00001 diff --git a/public/conditionals/ifstatement.png b/public/conditionals/ifstatement.png new file mode 100644 index 0000000000000000000000000000000000000000..d69581dfd636f1d3436576acb9dde3d3bb07a498 GIT binary patch literal 15084 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