Skip to content

Releases: purduesigbots/pros

4.1.0

19 May 05:31
b31e125
Compare
Choose a tag to compare

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

06 May 01:22
146ae69
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 4.0.6...4.0.7

3.8.2

12 Mar 19:43
ef18a16
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 3.8.0...3.8.2

3.8.0: Road to PROS 4

08 Mar 05:18
9dddc76
Compare
Choose a tag to compare

Features:

  • Add some missing functions to motor groups, such as get_temperatures(),
    get_voltages(), and get_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

02 Dec 22:32
85b63ef
Compare
Choose a tag to compare

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!

19 Oct 02:47
Compare
Choose a tag to compare

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 or pros::Motor_Group will automatically initialize the motor with the reversed flag set by @R11G in #421
  • ✨ Added pros::MotorGroup as an alias for pros::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 and time.h by @Richard-Stump in #127

Bugfixes:

Special Mentions:

3.7.1: Motor Group Improvements

20 Sep 23:06
5d882f3
Compare
Choose a tag to compare

What's Changed

  • 🐛Add .cache/ to .gitignore to prevent extra files from being committed by @Unionjackjz1 in #410
  • ✨Add Missing Features to Motor Groups by @noam987 in #413

Special thanks to:

  • @Unionjackjz1 made their first contribution in #410

3.7.0: Motor Groups and More!

02 Sep 02:00
1c8120a
Compare
Choose a tag to compare

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

18 Jun 06:00
cc71d47
Compare
Choose a tag to compare
  • 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!

12 Apr 03:39
5968d41
Compare
Choose a tag to compare

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