Releases: FTCLib/FTCLib
v2.1.1
v2.1.0
v2.0.1
FTCLib v2.0.1
Hotfix for Vision Package
- There was an issue with the ktx-core verison that would cause the vision package import to fail (maven include). This means you should NOT use
ftclib:vision:2.0.0as it will NOT WORK. Use 2.0.1 instead. - Fixed the missing commit for the minAngle and maxAngle swap in
SimpleServo
v2.0.0
FTCLib v2.0
FTCLib v2.0 is a turning point in FTCLib's development. Since we have become a stable library, we've had endless support from the community, and our developer team is ecstatic with the results. We apologize for delays in release and communication due to busy schedules, as we are students and alumni focused on our own projects as well, which makes community involvement all the more important. We appreciate each and everyone of you who have taken the time to work with us.
For this update, the following summarizes the additions and fixes:
- Upgraded Motor Groups
- New Samples
- Manual Control of Mecanum Wheels and Drivebase Code Streamlining
- Fixed Bug in IMU Reset
- Min and Max Corrected in
SimpleServo - Fix
RamseteCommandisFinishedCondition - Encoder Rate
- Capstone Vision for Freight Frenzy
- Normalization for
Vector2d
v1.2.1
PIDF Controller Hotfix
- Fixes an issue with total error windup on the I-term in the
PIDFController. Previously, the controller had a typo where total error was not an accumulated gain effort over the course of time but rather the integral over a small period of time. - Fixes an android linking issue separate from the controller that was caused by the alpha version of 1.7.x core-ktx.
v1.2.0
General Improvements and Convenience Features
Big thanks to new contributors: @litehed, @abhaybd, and @serivesmejia. This is a rather large update to FTCLib that improves quite a bit of features based on input from our users and advisors. Thank you all for using our library and wanting to see it grow and improve.
We have switched our license from the MIT License to the FIRST BSD license to conform with the WPILib guidelines. We have also migrated to Maven Central due to the unfortunate sunset of Bintray.
Core
Fixes
- Fixed the
Timersubclass to work properly based on actualElapsedTimebehavior - Motors return actual velocity rather than the target
CommandSchedulernow checks to see if the run loop is currently active to prevent aConcurrentModificationException- Vector projection in
Vector2dnow uses the correct formula - Removed utilization of
setVelocity()forDcMotorExinMotorExwhich forced the SDK RunMode to become RUN_USING_ENCODERS - PIDFController no longer returns true initially until
calculate()is called by recalculating error insetSetPoint() - Invalid logic in sensor hardware classes
- Fixed the issue with encoder reset not working if the direction is reversed
Improvements
SimpleServousesAngleUnitto allow for rotation in both radians and degrees- Add
RunCommand,StartEndCommand, andLogCatCommand - Added a kA gain option to the internal feedforward controller of the motors
- PID modes now use the actual motor velocity rather than target velocity
- A target distance can now be set for
PositionControlmode which utilizes the distance per pulse configuration GamepadExnow incorporatesButtonReaderandGamepadButtonso separate objects do not have to be made (see the gitbook and this example for more information)- The
LUTclass now uses aTreeMapfor better efficiency - Added a "between commands" toggle mode for triggers and buttons (overloaded
toggleWhenActive/toggleWhenPressed) - Added kotlin samples for the extensions
- Styling of the sensor classes to be more in-line with the rest of FTCLib
- Added a buffer to the motors in the case of PID not working under load
Breaking Changes
ServoExmethodrotate()was renamedrotateBy()androtateAngle()was renamedrotateByAngle()SimpleServoconstructor was modified to fit the newAngleUnitutility methodsRevColorSensorV3was removed- Removed P controller from
CRServo
Vision
- Added portrait mode to contour detector
- Made
UGCountourRingDetectora usable product rather than an example - Added samples for the starter stack detectors and pipelines
- Made camera width, height, and orientation modifiable for both starter stack detectors
- Added high goal pipelines
Issues and Feature Requests
Thank you for using FTCLib. We received great feedback and results from our open beta for this version. If you're interested in working with us for our next open beta or testing in general, feel free to join our discord. We also greatly appreciate issue opening for feature requests and bug reports. They help us keep track of project development and maintain good version history.
v1.1.6
v1.1.4
v1.1.3
Ultimate Goal Vision!
FTCLib now has vision for the ring stacks with this version, along with a few minor bugfixes and features.
You can find it in the vision package.
Features
- Ring vision, both contour and rectangle
- An option to add custom CPR/RPM values to the Motor object
- GoBILDA bare motor
Bugfixes
- Removed the gamepads from the CommandOpMode as the byte array reference created a separate instance
v1.1.2
Kotlin and Better Encoders
This is a small update that adds kotlin extensions and better encoders to the library. The encoders can now specify distance per pulse and are now the replacement of the now removed ExternalEncoder.
Updated Samples
All samples that include odometry and encoders have been updated to better reflect these changes.