Releases: EZ-Robotics/EZ-Template
🐛3.0.1 - Minor Bug Fixes
3.0.0 - PID Tuner, New Function Names, Arcs, and more!
For download and installation instructions, documentation and tutorials, check our website! https://ez-robotics.github.io/EZ-Template/
Download and Installation
- Download the latest example project below (EZ-Template-Example-Project-v3.0.0.zip). Extract the zip, and open it in PROS.
- In
src/main.cpp
, configure drive and IMU ports to what they are on your robot. Be sure to read the comments! - Configure your wheel size and cartridge. Remember that older 4" omni wheels without mounting holes are actually 4.125!
- In
src/main.cpp
, at the bottom invoid opcontrol()
, decide how you'd like to control your robot! Any flavor of arcade or tank! - Turn the robot on and use it in driver control. Make sure the ports are correct and reversed correctly!
- To test the test autonomous modes, press
B
on your controller. The current page will be the autonomous that runs. For making new autonomous routines, checksrc/autons.cpp
for examples on how to use the drive functions.
Upgrading
Note: this only works for 2.0.0 and beyond. You cannot upgrade from 1.x to 2.x, or 2.x to 3.x
- Download the most recent EZ-Template below (
EZ-Template@3.0.0.zip
). - Move the file to your project.
- Open terminal or command prompt, and
cd
into your projects directory. - Run this command from terminal
pros c fetch EZ-Template@3.0.0.zip
. - Apply the library to the project
pros c apply EZ-Template
.
Features
- Okapi units (#49)
- Practice Mode (#53)
- Piston class (#54)
- Added relative turn and swing PID (#59)
pid_wait()
prints error to terminal (#62)- All functions renamed (#65)
- Option added to have PID not reset i (#66)
- Added more
sets()
andgets()
(#73) - Slew for turns, swings, and your own subsystems (#74)
- Drive can be reversed in opcontrol (#79)
- Heading is vector scaled (#82)
- Wider and Smaller swing turns (#83)
- Swings have independent forward and reverse constants (#84)
- PID Tuner (#85)
Bug Fixes
- Fixed Rotation Sensor Ticks (#47)
- Fixed toggling active brake in opcontrol (#48)
drive_set()
now disables PID (#52)- Autononomous functions work in driver (#55)
- Fixed joystick deadzone (#56)
- Restructured setting PID constants and exit conditions (#57)
- Auton selector disables correctly on shutdown (#86)
- Disabling curve modifier clears the controller screen (#87)
Thank you @Mactar1233 and @Sprxxng for first time contributing, along with @Unionjackjz1 @HakopZ @WillXuCodes!
2.2.0 - Kernel Upgrade 3.8.0
Note: upgrading only works for 2.0.0 and beyond. You cannot upgrade from 1.X.X to 2.X.X.
Upgrades ez-template to PROS 3.8.0
For download and installation instructions, documentation and tutorials, check our website! https://ez-robotics.github.io/EZ-Template/
Download and Installation
- Download the latest example project below (EZ-Template-Example-Proj-2.2.0.zip). Extract the zip, and open it in PROS.
- In
src/main.cpp
, configure drive and IMU ports to what they are on your robot. Be sure to read the comments! - Configure your wheel size and cartridge. Remember that older 4" omni wheels without mounting holes are actually 4.125!
- In
src/main.cpp
, at the bottom invoid opcontrol()
, decide how you'd like to control your robot! Any flavor of arcade or tank! - Turn the robot on and use it in driver control. Make sure the ports are correct and reversed correctly!
- To test the test autonomous modes, plug into a competition switch and select the autonomous mode on the brain screen by pressing the left and right buttons! The current page will be the autonomous that runs. For making new autonomous routines, check
src/autons.cpp
for examples on how to use the drive functions.
Upgrading
Note: this only works for 2.0.0 and beyond. You cannot upgrade from 1.X.X to 2.X.X.
- Download the most recent EZ-Template below (
EZ-Template@2.2.0.zip
). - Move the file to your project.
- Open terminal or command prompt, and
cd
into your projects directory. - Run this command from terminal
pros c fetch EZ-Template@2.2.0.zip
. - Apply the library to the project
pros c apply EZ-Template
.
v3.0.0-RC1
Needs basic testing. Below is the example project and template.
features:
- a relative turn function so its not always absolute
- a relative swing function so its not always absolute
- add
piston
andpistongroup
class - practice mode for driving
- okapi units (so you can now use cm, in, meters, tiles, degrees, radians, etc)
bug fixes
- motor joystick deadzones
- auto functions can be run in opcontrol
- fixed rotation sensors
- lowest level pid is now done on inches instead of ticks
refactoring
- namespacing everything as
ez
2.1.2 - Upgraded Kernel
Note: upgrading only works for 2.0.0 and beyond. You cannot upgrade from 1.X.X to 2.X.X.
Upgrades ez-template to PROS 3.7.3
For download and installation instructions, documentation and tutorials, check our website! https://ez-robotics.github.io/EZ-Template/
Download and Installation
- Download the latest example project below (
Example-Project.zip
). Extract the zip, and open it in PROS. - In
src/main.cpp
, configure drive and IMU ports to what they are on your robot. Be sure to read the comments! - Configure your wheel size and cartridge. Remember that older 4" omni wheels without mounting holes are actually 4.125!
- In
src/main.cpp
, at the bottom invoid opcontrol()
, decide how you'd like to control your robot! Any flavor of arcade or tank! - Turn the robot on and use it in driver control. Make sure the ports are correct and reversed correctly!
- To test the test autonomous modes, plug into a competition switch and select the autonomous mode on the brain screen by pressing the left and right buttons! The current page will be the autonomous that runs. For making new autonomous routines, check
src/autons.cpp
for examples on how to use the drive functions.
Upgrading
Note: this only works for 2.0.0 and beyond. You cannot upgrade from 1.X.X to 2.X.X.
- Download the most recent EZ-Template below (
EZ-Template@2.1.2.zip
). - Move the file to your project.
- Open terminal or command prompt, and
cd
into your projects directory. - Run this command from terminal
prosv5 c fetch EZ-Template@2.1.2.zip
. - Apply the library to the project
prosv5 c apply EZ-Template
. - Put
#include "EZ-Template/api.hpp"
in yourinclude/main.h
.
2.1.1 - Arcade Drive!
Note: upgrading only works for 2.0.0 and beyond. You cannot upgrade from 1.X.X to 2.X.X.
Minor release that makes arcade control work.
For download and installation instructions, documentation and tutorials, check our website! https://ez-robotics.github.io/EZ-Template/
Download and Installation
- Download the latest example project below (
Example-Project.zip
). Extract the zip, and open it in PROS. - In
src/main.cpp
, configure drive and IMU ports to what they are on your robot. Be sure to read the comments! - Configure your wheel size and cartrige. Remember that 4" omni wheels are actually 4.125!
- In
src/main.cpp
, at the bottom invoid opcontrol()
, decide how you'd like to control your robot! Any flavor of arcade or tank! - Turn the robot on and use it in driver control. Make sure the ports are correct and reversed correctly!
- To test the test autonomous modes, plug into a competition switch and select the autonomous mode on the brain screen by pressing the left and right buttons! The current page will be the autonomous that runs. For making new autonomous routines, check
src/autons.cpp
for examples on how to use the drive functions.
Upgrading
Note: this only works for 2.0.0 and beyond. You cannot upgrade from 1.X.X to 2.X.X.
- Download the most recent EZ-Template below (
EZ-Template@2.1.1.zip
). - Move the file to your project.
- Open terminal or command prompt, and
cd
into your projects directory. - Run this command from terminal
prosv5 c fetch EZ-Template@2.1.1.zip
. - Apply the library to the project
prosv5 c apply EZ-Template
. - Put
#include "EZ-Template/api.hpp"
in yourinclude/main.h
.
Bug Fixes
- Fixed arcade control (#46)
2.1.0 - PIDs, PTOs and Bug Fixes!
Note: upgrading only works for 2.0.0 and beyond. You cannot upgrade from 1.X.X to 2.X.X.
This is a feature release that includes PTO, PID and bug fixes.
For download and installation instructions, documentation and tutorials, check our website! https://ez-robotics.github.io/EZ-Template/
Download and Installation
- Download the latest example project below (
Example-Project.zip
). Extract the zip, and open it in PROS. - In
src/main.cpp
, configure drive and IMU ports to what they are on your robot. Be sure to read the comments! - Configure your wheel size and cartrige. Remember that 4" omni wheels are actually 4.125!
- In
src/main.cpp
, at the bottom invoid opcontrol()
, decide how you'd like to control your robot! Any flavor of arcade or tank! - Turn the robot on and use it in driver control. Make sure the ports are correct and reversed correctly!
- To test the test autonomous modes, plug into a competition switch and select the autonomous mode on the brain screen by pressing the left and right buttons! The current page will be the autonomous that runs. For making new autonomous routines, check
src/autons.cpp
for examples on how to use the drive functions.
Upgrading
Note: this only works for 2.0.0 and beyond. You cannot upgrade from 1.X.X to 2.X.X.
- Download the most recent EZ-Template below (
EZ-Template@2.1.0.zip
). - In your terminal,
cd
into the directory you downloaded the file. - Run this command from terminal
prosv5 c fetch EZ-Template@2.1.0.zip
. cd
into your pros project directory in your terminal.- Apply the library to the project
prosv5 c apply EZ-Template
. - Put
#include "EZ-Template/api.hpp"
in yourinclude/main.h
.
Features
- PTO support (#12)
- Smart encoder support (#28)
- Toggles for autonomous
printf
and set drive (#36) - Limit switch control for selecting autonomous modes (#34)
- Wait functions to PID (#33)
reset_pid_targets()
to reset all targets (#37)- Function to
get
andset
drive mode (#38)
Bug Fixes
set_exit_condition()
now accepts doubles (#30)set_max_speed()
now sets max speed (#35)- Hardcoded speed limits for swings and turns are now not hardcoded (#39)
- IMU loading animation is more consistent (#40)
- Slew math is now correct (#41)
- Fixed edge case in
print_to_screen()
(#43) - The last line of the LCD now clears (#44)
Maintenance
Thanks to @HakopZ, @Unionjackjz1 for helping with this release!
2.0.1 - Fixed Setting Constants
Note: upgrading only works for 2.0.0 and beyond. You cannot upgrade from 1.X.X to 2.X.X.
This minor update of EZ-Template includes a fix to set_pid_constants()
.
For download and installation instructions, documentation and tutorials, check our new website! https://ez-robotics.github.io/EZ-Template/
Download and Installation
- Download the latest example project here. Extract the zip, and open it in PROS.
- In
src/main.cpp
, configure drive and IMU ports to what they are on your robot. Be sure to read the comments! - Configure your wheel size and cartrige. Remember that 4" omni wheels are actually 4.125!
- In
src/main.cpp
, at the bottom invoid opcontrol()
, decide how you'd like to control your robot! Any flavor of arcade or tank! - Turn the robot on and use it in driver control. Make sure the ports are correct and reversed correctly!
- To test the test autonomous modes, plug into a competition switch and select the autonomous mode on the brain screen by pressing the left and right buttons! The current page will be the autonomous that runs. For making new autonomous routines, check
src/autons.cpp
for examples on how to use the drive functions.
Upgrading
Note: this only works for 2.0.0 and beyond. You cannot upgrade from 1.X.X to 2.X.X.
- Download the most recent EZ-Template below (EZ-Template@2.0.1.zip).
- In your terminal,
cd
into the directory you downloaded the file. - Run this command from terminal
prosv5 c fetch EZ-Template@2.0.1.zip
. cd
into your pros project directory in your terminal.- Apply the library to the project
prosv5 c apply EZ-Template
. - Put
#include "EZ-Template/api.hpp"
in yourinclude/main.h
.
Bug fixes
- Fixed
set_pid_constants()
(#29)
⏰ 2.0.0 - Library Time!
Note: upgrading only works for 2.0.0 and beyond. You cannot upgrade from 1.X.X to 2.X.X.
This update of EZ-Template is a complete rewrite to allow us to update in the future, and allow users to update without starting a new project.
For download and installation instructions, documentation and tutorials, check our new website! https://ez-robotics.github.io/EZ-Template/
Download and Installation
- Download the latest example project here. Extract the zip, and open it in PROS.
- In
src/main.cpp
, configure drive and IMU ports to what they are on your robot. Be sure to read the comments! - Configure your wheel size and cartrige. Remember that 4" omni wheels are actually 4.125!
- In
src/main.cpp
, at the bottom invoid opcontrol()
, decide how you'd like to control your robot! Any flavor of arcade or tank! - Turn the robot on and use it in driver control. Make sure the ports are correct and reversed correctly!
- To test the test autonomous modes, plug into a competition switch and select the autonomous mode on the brain screen by pressing the left and right buttons! The current page will be the autonomous that runs. For making new autonomous routines, check
src/autons.cpp
for examples on how to use the drive functions.
Maintenance
- Organized code with comments, namespaces and classes
- Compiled library
- New autonomous selector that is user friendly
Bug fixes
- Fixed incorrect math with right slew
wait_until
has a timeout
Added Feature
- SD card saving for left/right curve, and auton page
- "Tug of war" detection
- Drive current limiting
- LLEMU print wrapper that handles text overflow and
\n
- Right stick arcade
- Holding buttons for modifying curves
- Loading animation during IMU calibration.
- 3 wire encoder support
Thanks to @HakopZ, @fishsticks89, @LiamCahill0714 and @Unionjackjz1 for helping with this release!
v1.0.2
Fixed incorrect file locations in readme and auton tutorial, corrected old comments in src/auton.cpp