Category: Programming
Programming Team
SPARK MAX Programming
Swerve Programming
Introduction
Introductory discussion. Challenges and ways to deal with them.
Basic Drive and Teleop navigation programming
Working session 05/27/2023. Quicksilver review. Constants, starting Drive subsystem.
Working session 07/08/2023. Adding SRX hardware PID configuration.
Working session 07/14/2023. Encoder programming and updates.
Working session 07/15/2023. Motor inversion and encoder phase testing.
Working session 07/21/2023. Drive command. Swerve state.
Working session 07/22/2023. Generic controller implementation. Drivemanually Command.
Working session 07/24/2023. Swerve teleop testing.
Swerve – first unveiling video
Swerve – maneuverability testing 08/04/2023
Swerve – Current limiters, Field Odometry 08/05/2023
Working session 08/13/2023 – PathPlanner trajectory driving
Swerve programming – adding Xbox controller for swerve navigation 08/27/2023
Swerve programming – logging with DataLogManager 08/27/2023
Swerve programming – Subway Surfer controls; Rio logging 09/01/2023
Programming Team Videos 2021
Introduction to Java – Beginner Programmer
Java – Control statements, loops. Introduction to Java Classes. Working Session 01/16/2021
Java Objects and Classes. Special main method. Introduction to methods. Constructors. 01/18/2021
Java – Objects and Methods. Working session 01/23/2021
Java – Arrays. Iterating through the array. Codefights challenges. 01/30/2021
Java – Multidimensional arrays. Instance Initializer block. Introduction to inheritance. 02/13/2021
Java – Inheritance vs Aggregation. 03/07/2021
Java – Inheritance, Aggregation, Introduction to Polymorphism – Method overloading and Overriding 04/15/2021
Java – “this” keyword, covariant return type, Runtime Polymorphism. Abstraction intro 04/16/2021
Java – Abstract Classes and methods, Interfaces, Static variables. 05/06/2021
Singleton classes. Lambda Expressions. Methods as parameters. 06/01/2021
FRC 2021 Code and Code Repository
Team999 code structure. Files and directories in the code tree. Subsystems and Commands. 01/23/2021
Autonomous – following a trajectory. 02/16/2021
Autonomous – follow a trajectory. 02/20/2021 – part1
Autonomous – follow a trajectory 02/20/2021 – part2
Autonomous – follow a trajectory 02/23/20201
Autonomous – PID controller, Ramsete controller; Java templates
Autonomous – Ramsete controller and PID controller; Robot hardware 03/06/2021
Autonomous – PID calibration 03/09/2021
Introduction to PathWeaver 03/23/2021
Robot Characterization – 1st attempt 03/13/2021
Autonomous – trajectory driving code analysis 03/16/2021
Robot Characterization 04/10/2021
GIT – using USB stick as a repository -part-1
GIT – using USB stick as a repository – part-2
New Command Robot – introduction 05/18/2021
New Command Robot – Instruduction #2 – 06/05/2021
Robot Systems
Smart Robot
Smart Robot – Unboxing & Building videos
SmartRobot Car – Introduction. Working Session 10/03/2020
SmartRobot Car – Introduction #2. Working Session 10/10/2020
Smart Robot Car – Working Session 10/24/2020 – Lesson-3 IR Remote Exercises
SmartRobot Car – Ultrasonic Sensor Working Session 11/28/2020
SmartRobot Car – Maze Navigation Working Session 11/28/2020
SmartRobot Car – C++ for Arduino – Introduction. Working Session 12/05/2020
Programming Team Videos 2020
Java Programming – Beginner Programmer group:
Private and public modifiers, ENUM (05/28/2020 working session)
Encapsulation and packages (06/06/2020 working session)
Exceptions and Exception handling (06/06/2020 working session)
Introduction to Robot Programming – working session 06/13/2020
Introduction to Robot Programming – working session 06/20/2020
Introduction to Robot Programming – working session 06/27/2020
Introduction to Robot Programming – working session 07/18/2020
Homework #1 – introduction. Working session 07/25/2020
Homework #1 – Robot Motion – Turning Routine – Working session 08/15/2020
Homework #1 – Robot Motion – Going Forward Routine – Working Session 08/29/2020
NavX and SmartDashboard – Student Presentation 09/26/2020
Ultrasonic Sensor – Student Presentation 09/26/2020
Network Tables – Student Presentation 09/26/2020
Pneumatics – Student Presentation 09/26/2020
Encoders – Student Presentation 10/10/2020
FRC Tools Installation:
#1 – Overview, JDP, WPI Libraries NI FRC Game Tools
#2 – FRC Radio Configuration Tool, CTR Electronics Phoenix Framework, GIT GUI
#3 – GIT and GITHub repository concepts and operations
Robot Programming:
#1 – Introduction, templates, making basic robot code in 30 minutes
#3 – SRX Mag Encoder Programming and its use in the autonomous routines
#6 – Falcon 500/Talon FX, internal encoders
#8 – New Command Robot #1 – Introduction
#9 – New Command Robot #2 – Command Groups
#10 – New Command Robot #3 – Command Groups, Convenience features, Lambda Expressions
#11 – New Command Robot #4 – Various command types and their use
#12 – New Command Robot #5 – Decorator methods
#13 – New Command Robot #6 – Falcon 500
Configuring Robot Hardware:
Java Tutorial Links
Java Tutorial Links
(Coming soon)
Programming Videos
Check out these programming videos:
Setting up and using VS Code (intro videos)
VS Code shortcuts for Mac and Windows
- https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf
- https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf
Making an FRC drivable Command Based Robot with Java (2 videos)
Talon SRX resource page
Documentation for CTR-Electronics Phoenix software framework. (Everything you ever wanted to know about motor controllers, but were afraid to ask)
Welcome to the Programming Team
Mentors: John Wertz, Jack Wertz & Mike Missakian (click here to email mentors)