Releases: purduesigbots/pros
3.2.0
Summary:
- Add Makefile variable for excluding libraries from cold image (#121, #129)
- Improve Makefile compile speed (#123)
- Various ADI/VDML bugfixes (#124, #125, #139, #151, #160)
- Add alternate API for generic serial comms and fix generic serial comms driver (#141)
- Support GCC 8.3 out of the box (#155)
- Enable hot/cold linking in projects by default (#154)
- Combine template source files into main.cpp for new projects (#152, #165)
- Upgrade LVGL to version 5.3 (#144, #147)
- Add a default .gitignore file to new projects by default (#156)
- Add an alternate constructor for
pros::Task
(#158) - Add a better data abort handler (#112)
- Recompile for changes in header files (#167)
Special thanks to @Jerrylum, @TixoRebel, @Octogonapus, @theol0403, and @SpencerJ21 for their contributions!
Important Upgrade Notes
We are replacing the three initialize.cpp
, autonomous.cpp
, and opcontrol.cpp
files with a single main.cpp
file for new projects, so the main.cpp
file will be introduced into your project when you upgrade. If you compile the project right away, you will likely be faced with multiple definition errors for the competition tasks. To resolve this, you can either delete the new main.cpp
, or move the contents of your competition task functions into the new file, deleting the previous files. If your project structure has been significantly modified from the default, we trust that you will know how to resolve this issue on your own. Also note that if you have already consolidated the three files listed above into a single main.cpp
file, this will not be an issue.
You may also get multiple definition errors if you added the temporary __sync_synchronize
fix that was necessary for some users. After upgrading, you may safely remove that fix from your own code.
If your code checked errno
values set by PROS functions, you may need to change the values you compare with. Check each function's documentation for more information.
We have upgraded LVGL to 5.3, but since starting the upgrade process LVGL 6.0 was released, which has changed things a lot, and the online documentation for LVGL now reflects information for version 6.0. Please see this link for information on where to find the documentation for LVGL 5.3.
3.1.6 - Hot/Cold Linking
Summary:
- Shuffle Makefiles (#87)
- Add support for hot/cold linking (#89)
- Bugfixes to LLEMU, RTOS, and buffer overflow when printing to controller screen
Note: Support for using hot/cold binaries requires CLI 3.1.4
Important Makefile Upgrade Instructions
In order to support modified hot/cold linking we needed to modify the Makefile, which is intended to be modified by you. When upgrading your project (regardless of whether you enable hot/cold linking), you must modify your Makefile as follows:
- Remove all lines after
-include ./common.mk
- Add the following two lines above the
-include ./common.mk
line (for example, belowEXTRA_CXXFLAGS=
):
# Set to 1 to enable hot/cold linking
USE_PACKAGE:=0
Your Makefile should now be similar to the template Makefile.
3.1.5
Summary:
D259: Add vision signature function that is parameter-equivalent to VCS and RMS functions
D258: Expose vision sensor WiFi control
D256: Make vision sensor exposure match brightness values in utility
D260: Stop using namespace pros in extended API
D255: Add implicit operator to convert from pros::Task to task_t
D257: RTOS bugfixes
D249: Add task_notify_when_deleting
Test Plan: tested in diffs specified above
Reviewers: O5 The Queen's Guard, O1 The Ori, berman5
Reviewed By: O5 The Queen's Guard, O1 The Ori, berman5
Tags: Zorp
Differential Revision: https://phabricator.purduesigbots.com/D264
3.1.4
Summary:
New Features:
Vision Sensor Signature Read/Write, you can now configure signatures in your PROS project (though the existing method of saving signatures through the Vision Utility still works)
Vision Sensor Color Code functionality, you can now configure color codes for the sensor (this must be done programmatically, not through the Vision Utility) and filter objects by their color code with the get_by_code() and read_by_code() functions
Usability Impovements:
The errno values for Vision Sensor object retrieval functions are now more clear.
Test Plan:
verify symbols
Test Team BLRS competition code (opcontrol)
Reviewers: O5 The Queen's Guard, O1 The Ori, berman5
Reviewed By: O5 The Queen's Guard, O1 The Ori, berman5
Subscribers: berman5
Tags: Zorp
Differential Revision: https://phabricator.purduesigbots.com/D248
2.12.2 - PROS CLI 3 Support and new Makefile
Summary
- Update Makefile to new universal Makefile
- Support for PROS 3 environment (cquery)
- Color output
- Arbitrarily nested subdirectories
- Add
PROS_VERSION_MAJOR
,PROS_VERSION_MINOR
,PROS_VERSION_PATCH
andPROS_VERSION
toinclude/API.h
2.12.1 - Add calloc and named constant for ultrasonic error cases
Release Notes:
- You can now use
calloc
- When an ultrasonic sensor times out or has nothing to detect within its range, it will return
ULTRA_BAD_RESPONSE
This release's assets come from:
purduesigbots/atom at 1.21.2
purduesigbots/pros-cli at 2.6.1
2.12.0 - Standalone Mode and Improved C++ Compatibility
Release Notes:
- Improve C++ compatibility by renaming
FILE
toPROS_FILE
. IfFILE
wasn't defined before preprocessing API.h, thenFILE
is an alias toPROS_FILE
. If you're not using PROS with C++, there should be no affect on your projects. make upload
now uses PROS CLI by default. To continue using the uniflasher, you may usemake upload-legacy
- Added standalone mode, which allows the Cortex to run without needing to be linked to a PC or joystick.
Kernel 2.11.1 - Watchdog and Fault Reporting
- Fix broken fault reporting
- Add newlines to errorMessages
- Add issue template and contributing message
- Add PROS CLI template generation to automated build
- Implement watchdog timer
- Document watchdog timer and how best to work with it
- Naming fixes and more accurate task timing
- Update Jenkinsfile build
- A new README for a new world
Kernel 2.11.0 - Open Source + I2C
Changes:
- Source code is now licensed under Mozilla Public License 2.0. The standard PROS template (kernel-template.zip) will still be distributed under the BSD 3-Clause license.
- Bubble up I2C functions
- Rename libccos -> libpros
PROS 2b10 (2.10.0)
Old PROS 2b10 (renamed to 2.10.0) release