Skip to content

Stage1a auto + additonal motors - #194

Open
Spaceman113138 wants to merge 11 commits into
frcsoftware:mainfrom
Spaceman113138:stage1a-auto
Open

Stage1a auto + additonal motors#194
Spaceman113138 wants to merge 11 commits into
frcsoftware:mainfrom
Spaceman113138:stage1a-auto

Conversation

@Spaceman113138

@Spaceman113138 Spaceman113138 commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Description

Adds stage 1a curriculum for programing a simple auto as well as progiraming the IntakeLauncher and Feeder motors. Makes progress on #13 .

Todo:

  • Video + text on running the simple auto
  • Talk about FuelSim
  • Update FuelSim to use periodic() over update()
  • Video + text on AScope graph with additonal motors
  • Video + text on Ascope 3d with additional motors

Meta

Merge checklist:

@github-actions github-actions Bot added Curriculum material Curriculum materials, lessons for students, etc stage1 examples labels Aug 19, 2026
@github-actions

Copy link
Copy Markdown

🌐 Preview URL: https://pr-194.frcsoftware.pages.dev

@Spaceman113138
Spaceman113138 marked this pull request as ready for review August 24, 2026 03:04
Comment thread src/content/docs/learning-course/stage1/stage1a/simple-auto.mdx
Comment thread src/content/docs/learning-course/stage1/stage1a/simple-auto.mdx
Comment thread src/content/docs/learning-course/stage1/stage1a/simple-auto.mdx
This can be accomplished by periodically checking if it has been four seconds since the start of auto using the `Timer` instance.
If it has been at least four seconds then command the drivetrain with zero speed.
Otherwise command the drivetrain to drive forward at half speed.
Writing that out in code will look like this

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe not but is there a way to make it less "copy and paste" and have the steps be broken down more? Could be something like

  1. Explaining how we want to check if the if it has been four seconds since the start of auto using the Timer instance.
  2. If so, then we want the robot to drive forward
  3. If the 4 seconds are up, then we want the robot to stop driving

Because it's 1a, I think breaking it down more will be helpful in giving students that foundational understanding

@@ -25,6 +25,7 @@ public void start() {
autoTimer.restart(); // Reset the timer to zero at the start of auto

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's autoTimer here but it's timer in the Rev solution. Should probably pick one and use it throughout

# Additional Motors in Teleop

To control the new motors, the motors need to be commanded inside of the `MyTeleop` `OpMode`'s `periodic()` function.
When the controller's right bumper is pressed, the IntakeLauncher motor should have a throttle of 0.9 while the Feeder motor should have a throttle of 0.75.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But these literals should be

Comment thread src/content/docs/learning-course/stage1/stage1a/simple-auto.mdx
# Autonomous OpMode

Now that the kitbot can move in teleop mode, it is time to make it move during the auto mode.
To do this, another `OpMode` needs to be written that contains all the code needed to make the robot do what's wanted in auto.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sentence feels long

Comment thread src/content/docs/learning-course/stage1/stage1a/simple-auto.mdx
Comment on lines +44 to +45
Testing the auto routine is similar to testing the teleop drivetrain code.
However, instead of selecting the teleop mode the autonomous mode and MyAuto opmode should be selected.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just say how to do it, rather than comparing it to teleop

<Tabs syncKey={REV_CTRE_CHOOSER_KEY}>
<TabItem label="CTRE">

```java stage1/stage1a/solutions/ctre/src/main/java/first/robot/Robot.java#AdditionalMotors

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's probably cleaner to use code region sources here, so you can do
{ctreRobotSource}#AdditionalMotors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Curriculum material Curriculum materials, lessons for students, etc examples stage1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants