This is the first major vexide update this summer! This blog post is focused solely on the new update to the vexide crate. To read about our summer plans and everything else included in this release, take a look at our blog post on that subject. I highly recommend reading it!
Now for the vexide changes!
Changelog
Added
- The startup banner and code signature may now be configured using parameters passed to
vexide::main. (#102) - Added the
ProgramOwner,ProgramType, andProgramFlagstypes for code signature configuration. (#76) - Created new
force_rust_libmfeature to force the use of a slower, 100% Rust, libm implementation. This is useful for building on WASM. (#106) - Optimized floating point math operations available through the
Floatextension trait. (#77) - Added text metrics getters to the
Textwidget. (#83) - Added alignment support for the
Textwidget. (#85) CompetitonBuilderfunctions can now return aControlFlowin order to explicitly end execution. (#89)Point2can now be converted to mint when using thenalgebrafeature. (#91)
Fixed
- Peripherals can now be mutated in the main function (#75)
- Panic messages now output over serial even on
display_panicsfeature.
Changed
- Updated
vex-sdkto version 0.17.0. (#76) - Renamed
ColdHeadertoCodeSignature. (#76) (Breaking Change) - Renamed the entrypoint symbol from
_entryto_start. (#76) (Breaking Change) - Renamed
__stack_startand__stack_endsymbols to__stack_topand__stack_bottomrespectively. (#76) (Breaking Change) - Renamed the
.cold_magicsection to.code_signature. (#76) (Breaking Change) - Made fields on screen widgets public. (#81)
- Renamed
CompetitiontoCompetitionRuntime,CompetitionRobotExttoCompetitionExt, andCompetitionRobottoCompetition. (#87) (Breaking Change) - Removed the
Errorassociated type from theCompetitiontrait and made all methods infallible. (#87) (Breaking Change)