|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools |
Rating:
|
Display Modes |
|
|
|
#1
|
|||
|
|||
|
Re: The CCRE: A comprehensive award-winning robot code framework
CCRE v3.3.0 is out!
This release is from over a month of active software writing, and adds a very large number of minor features and quite a few major features as well. Code:
Release of CCRE with API 3.3.0. Major changes: * Add recording toolkit and Timeline Analyzer * Add discrete channels * Rearchitect and expand serial bus handling system * Add new fleshed-out CAN Talon SRX interface: TalonExtendedMotor * Add ethernet camera support to PoultryInspector * Overhaul timing system to use a unified scheduler * Add StopwatchTimer * Add support for SD540 speed controller * Add support for Spark speed controller * Add support for Victor SP speed controller * Add support for Talon SRX over PWM Minor changes: * Extend Time.* constants to longs to avoid overflow * Add rumble support to Joysticks * Support axis inversion in ControlBindings * Add "OPEN NETWORK" button to PoultryInspector * Allow PoultryInspector component removal by dropping components back into network palettes * Add tunable ramping methods * Add main class selector to SampleRobot * Add recorder example to Valkyrie code * Add selectByState to StateMachine * Add mode tracking via discrete inputs to FRC API * Add discrete input support to BehaviorArbitrator * Add Storage support for deletion, existence checking, and file listing * Deprecate old derivative implementation; add version without the zero-delta bug * Add modulation (remainder) operation to FloatOperation * PauseTimers now can take a FloatInput for the delay * Add support for reading total current of the PDP * Add Faultable<F> interface * Add Derived...IO classes to match Derived...Input classes * Allow Cluck publishing of any IOs, not just Cells * Improved documentation in various ways Invisible changes: * Speed up unit tests * Overhaul time testing system * Switch travis CI from trusty-based to container-based * Add support for reversed InputStreams to Cluck * Add support for multiple SuperCanvas applications * Update libwpilibJavaJNI.so to newer, slimmer, custom version * ExtendedMotors are now enabled as part of simpleControl() * Miscellaneous code clean-up and refactoring * Apply author name change Bugfixes: * Fix long-standing serialization issue in PoultryInspector * Fix FRC.counter to not fail most of the time * Miscellaneous fixes ![]() ![]() This system allows recording precise information about the function of a robot, down to an accuracy of 10 microseconds. In the above diagram, you can see a snippet from an actual robot test run that shows precise information on the timing details of certain periodic events and the exact state of the robot's scheduler. Tools like this allow recording an entire match and looking back later to discover exactly what happened. To use this, look at the ccre.recording package. We've also introduced a new scheduling system, which collapses all of the different timing threads into a single thread, which increases consistency of timing, simplifies timing code (so fewer bugs), and makes finer-grained CPU load analysis and management possible. You don't need to do anything to work with this - it's automatically used by the latest version of the CCRE. We added support for SPI and I2C, and expanded support for RS232. We expanded the CAN Talon SRX interface to allow access to almost all of its internals through a CCRE-style reactive interface. We also added support for other PWM speed controllers like the SD540, Spark, Victor SP, and Talon SRX (when used over PWM.) Discrete channels are a new addition to the core architecture of the CCRE: these are like boolean channels, but with a used-defined set of options, so that it can be used for robot mode access, behavior arbitrators, and more. The PoultryInspector interface is now slightly more intuitive, and it now supports viewing AXIS M1011/M1013 webcams, including drawing targeting rectangles on top. This releases includes fixes for all on-field bugs that we know about, and we'll be certain to release any further fixes promptly during the competition season. If you find anything that doesn't work, please contact me immediately so that we can get it fixed quickly. |
|
#2
|
|||
|
|||
|
Re: The CCRE: A comprehensive award-winning robot code framework
CCRE v3.4.0 is out!
This release is from our competition season, and while it doesn't involve very much in the way of new features, it has a boatload of minor improvements and bugfixes. Code:
Release of CCRE with API 3.4.0. Major changes: * Add optional Phase Verifier system Minor changes: * Add safe ExtendedMotor control methods * Add unique identifiers to roboRIOs * Support programmatic autonomous mode aborting * Export IO subscribes through Cluck API * Add 16-bit integer decoders to ByteFiddling * Scale up PoultryInspector webcam views * Raise PoultryInspector Webcam highlight components on top of everything else * Allow DeploymentEngine users to access Emulator API * Add view toggle button to PoultryInspector channel components * Change default views on float components to textual * Add startIfNotAlive to ReporterThread * Add reset method to PIDController * Remove CCRE 2->3 updater * Let RS232IO extend Flushable * Use events for flow phase cancels in Scheduler * Improve Deployment Engine API slightly * Add launcher for CCRE core tests * Improve sample robot code * Improve Javadoc slightly Invisible changes: * Increase priority of InstinctModule threads * Streamline roboRIO detection in DeploymentEngine * Improve TimelineInspector project setup * Improve use of @Override * Add phase annotations to a significant portion of the CCRE * Simplify miscellaneous pieces of code * Cache byte arrays to avoid GC churn in WebcamReader Bugfixes: * Ensure that the user intends to overwrite files in PoultryInspector save dialog * Fix IO subscriber suffix confusion bug * Fix Emulator reference issues by offloading classloading from itself * Fix PauseTimer BooleanInput contract violation * Fix camera over-refresh bug * Provide consistent velocities in Emulator * Remove extraneous logging from Emulator joysticks * Hide NoRouteToHost log spam * Increase length of Cluck TX queue * Ensure that voltage logging includes the entire range * Fix recorder printing name bug * Fix miscellaneous Eclipse issue If you want to help - or might want to help but aren't sure - drop me a line either here or in the FIRSTCodes Slack! |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|