Releases: purduesigbots/pros
4.1.0
What's Changed from Kernel 4.0.7:
- Update Motor groups to take in AbstractMotor& Instead of MotorGroup&
- Bunch of documentation updates
- Few small bugs involving literals and static getters
What's the difference between PROS 4 and 3?
PROS 4 is a Kernel upgrade from PROS 4 to both decrease the size of the base Kernel, and provide utilities such as the base device class and liblvgl that makes it easier for both users and library writers to customize their PROS projects. This version also moves all documentation to a doxygen site rather than a Sphinx documentation page.
What's new Since PROS 3:
- Update to C++20 instead of 14
- New and improved Main.cpp with better examples
- = operator overload removed for motors and motor groups
- LVGL is now a default template and updated to lvgl 8.3.4 (you can switch to lvgl 5.3.2 by running pros c apply [email protected])
- New static functions to create IMUs, GPS, and vision sensors based on sensing the port they are plugged into automatically
- Adds << overloads for devices to improve debugging
- New namespace for ADI devices
- removes the need for "/usd/" at the beginning of most files
- Adds a device superclass
- Now with 33% more PROS
- Different GPS sensor API
- Adds abstract motor base class
- Removed explicit from devices
- New LLEMU screen
- Better Motor group implementation
- adds cpp literals support for devices
- Remove Legacy API
- Added new functions to determine competition state
- Moved to enum classes instead of enums
- Native File system support when using LVGL
- And Much Much More.
The docs are being updated throughout the summer based on user feedback. Please let us know in our Beta server or in a #help thread in VTOW if there are updates you want to see on the docs, or if something looks off or doesn't make sense.
4.0.7
What's Changed
- 📝 PROS 4: Fix docs by @Jerrylum in #568
- Update the docs branch with develop-pros-4 changes by @noam987 in #604
- Motor bug fixes and add new set_gearing by @noam987 in #611
- ✨Add list_files function by @noam987 in #612
- ✨ ADI Get Port by @phinc23 in #613
- 🐛Vex link default override by @phinc23 in #614
- ✨Field Control State Getter by @CChheerryyll in #608
- Fflush on write by @aberiggs in #619
- 🐛Fix Negative Port Rotation Sensor by @Cooper7196 in #618
- 🐛 Field Control Getter Return Value by @CChheerryyll in #627
- ✨Allows for file open to default to the sd card. by @noam987 in #621
- 🐛Fix motor voltage limit port mutex returning by @Gavin-Niederman in #635
- Pros4/feature/get devices vector by @aberiggs in #652
- Modify PROS 4 GPS API by @CChheerryyll in #650
- 🐛Fix linking issues with the competition modes by @noam987 in #655
- 🐛ADI mutex fix by @R11G in #633
- Adds static getters for some devices by @noam987 in #653
- 📝 PROS 4: Documentation Fixes for optical and distance sensor by @Gracelu128 in #654
- 🐛Fixed Imu::is_calibrating function for PROS 4 #626 by @Gracelu128 in #629
- 🐛Remove = operator overload from motor groups by @noam987 in #656
- 🔖Release/4.0.7 by @noam987 in #658
New Contributors
- @CChheerryyll made their first contribution in #608
- @Gavin-Niederman made their first contribution in #635
Full Changelog: 4.0.6...4.0.7
3.8.2
What's Changed
- 🐛 Fixed broken TEXT_LARGE_CENTER macro by @the2nake in #561
- 🐛 Add nullchecks to clock time functions by @WillXuCodes in #585
- 🐛Fixed Imu::is_calibrating function for PROS 3 #626 by @Gracelu128 in #628
- ✨ Add to GPS API by @phinc23 in #630
- 🐛ADI mutex fix for pros 3 by @R11G in #636
New Contributors
Full Changelog: 3.8.0...3.8.2
3.8.0: Road to PROS 4
Features:
- Add some missing functions to motor groups, such as
get_temperatures()
,
get_voltages()
, andget_voltage_limits()
. - Add additional constructors to motor groups to handle different construction
cases. - Add "at()" method for motor groups.
- Add integration time setting/getting to
pros::Optical
.
Updates:
- Update Makefiles to use "pros" instead of "prosv5". This should hopefully fix
some issues that occur on linux installs. - Update Copyright to 2023.
Bugfixes:
- Fixed ambiguity with the default constructor on ADI Encoders.
- Paths with parenthesis no longer break the build system.
- Fixed the return_port breaking a function in the motor API.
Hopefully this will be the last update to 3... before the PROS 4 open beta.
Special thanks to @djava, @beyond-reality-dev !
3.7.3
Summary
🐛 Fix global pros::Rotation objects creating a data abort exception.
✨ Added functionality for size() and [] operator for motor groups.
🐛 Fix bug with LED non-extended constructor.
🐛 Fix bug with Python version so CI builds.
3.7.2: LED Strips and More!
This update adds addressable LED support, motors reversible by passing negative port numbers, and date/time keeping features.
What's changed:
Features:
- ✨ Passing a negative port number to
pros::Motor
orpros::Motor_Group
will automatically initialize the motor with the reversed flag set by @R11G in #421 - ✨ Added
pros::MotorGroup
as an alias forpros::Motor_Group
by @evanmiller620 in #429 - ✨ Added support for addressable LED strips by @omegaStag in #424
- ✨ Added timekeeping functionality through the clock_gettime() and clock_settime() support, enabling standard the standard libraries
chrono
andtime.h
by @Richard-Stump in #127
Bugfixes:
- 🐛 Add ext_ to missing CPP functions for adi C++ by @WillXuCodes in #438
Special Mentions:
- @evanmiller620 made their first contribution in #421!
- @R11G made their first contribution #429!
3.7.1: Motor Group Improvements
3.7.0: Motor Groups and More!
Summary:
Features and Quality of Life Features:
- ✨Add Native Motor Group Support
- ✨Add MutexVar Support
- 🚸Add Simple Names for IMU and Link Enums
- ✨Add Alias for Motor Gear Cartridge
- ✨Add PROS Error Header to Prevent Recursive Header Include
- ✨Add Blocking Reset Option for IMU
- 🚸Remove Redundant Port Validation
Bugfixes:
- 🐛 Fix issues with color2g
- 🐛 Fix Issues with Touchbacks and Touch Status
- 🐛 Address Vex Radio Port Claim Issues
3.6.2: Summer Bugfix Update
- Fix instances of prosERR to PROS_ERR on Screen Docs
- Remove explicit from Task Conversion Constructor
- Add getentropy to newlib stubs
- Fix Abandoned Mutexes in ADI
- Fix issue with newer ARM toolchain versions using MEMORY as a keyword
- Simplify IMU calculations on backend by using modulo properly (calculations not changed)
3.6.0: VEXLink and More!
Summary:
New Features:
✨Add Dedicated ADI Potentiometer Class
✨Add ability to change LLEMU text/background color.
✨Add VEXLink Support
✨Add Motor Stop Function
✨Add Task Join Method
Quality of Life and Bugfixes
🚸Make mutexes STL-compliant
🚸Removed internal ext_adi_gyro wrapper
🚸Implement Error Return Values For Screen API
📅Updated 2021 to 2022
📝Fix various header typos
🐛Fix rotation sensor race condition
🐛Prevent LLEMU Clearing Segfault