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
, andProgramFlags
types for code signature configuration. (#76) - Created new
force_rust_libm
feature 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
Float
extension trait. (#77) - Added text metrics getters to the
Text
widget. (#83) - Added alignment support for the
Text
widget. (#85) CompetitonBuilder
functions can now return aControlFlow
in order to explicitly end execution. (#89)Point2
can now be converted to mint when using thenalgebra
feature. (#91)
Fixed
- Peripherals can now be mutated in the main function (#75)
- Panic messages now output over serial even on
display_panics
feature.
Changed
- Updated
vex-sdk
to version 0.17.0. (#76) - Renamed
ColdHeader
toCodeSignature
. (#76) (Breaking Change) - Renamed the entrypoint symbol from
_entry
to_start
. (#76) (Breaking Change) - Renamed
__stack_start
and__stack_end
symbols to__stack_top
and__stack_bottom
respectively. (#76) (Breaking Change) - Renamed the
.cold_magic
section to.code_signature
. (#76) (Breaking Change) - Made fields on screen widgets public. (#81)
- Renamed
Competition
toCompetitionRuntime
,CompetitionRobotExt
toCompetitionExt
, andCompetitionRobot
toCompetition
. (#87) (Breaking Change) - Removed the
Error
associated type from theCompetition
trait and made all methods infallible. (#87) (Breaking Change)