| Crates.io | safe-vex |
| lib.rs | safe-vex |
| version | 4.4.0 |
| created_at | 2023-11-13 07:04:43.559734+00 |
| updated_at | 2024-11-10 04:07:20.891607+00 |
| description | A modular, safe and data-orientated rust wrapper over the Purdue PROS library for Vex Robotics |
| homepage | |
| repository | https://github.com/kalscium/safe-vex |
| max_upload_size | |
| id | 1033343 |
| size | 2,543,730 |
A modular, safe and data-orientated rust wrapper over the Purdue PROS library for Vex Robotics
safe-vex is an open-source project by kalscium. safe-vex is neither endorsed by or affiliated with Innovation First, Inc. VEX and VEX Robotics are trademarks or service marks of Innovation First, Inc. safe-vex is also not developed by nor endorsed by the developers of the Purdue PROS library.
you will need:
then:
safe-vex project template by running the following command: git clone https://github.com/kalscium/safe-vex-template.git
nix develop
sudo chmod a+rw /dev/ttyACM0 || sudo chmod a+rw /dev/ttyACM1
cargo run --release
you will need:
rustup:arm-none-eabi toolchaingcc and libclang-dev/libclanglibc6-dev if rustc is throwing the error:--- stderr
/usr/lib/arm-none-eabi/include/sys/reent.h:14:10: fatal error: 'stddef.h' file not found
thread 'main' panicked at /home/dev/.cargo/registry/src/index.crates.io-6f17d22bba15001f/vex-rt-0.15.1/build/main.rs:266:10:
Could not generate bindings.: ClangDiagnostic("/usr/lib/arm-none-eabi/include/sys/reent.h:14:10: fatal error: 'stddef.h' file not found\n")
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
pros-cli installed through pipthen:
safe-vex project template by running the following command: git clone https://github.com/kalscium/safe-vex-template.git
sudo chmod a+rw /dev/ttyACM0 || sudo chmod a+rw /dev/ttyACM1
cargo run --release
(For future reference for the maintainence of this library) To update the pros library version used by
safe-vex, follow the following steps (with the correct toolchains installed)
build directory of the librarybuild dir pros conductor new kernel
PROS rm -rf kernel/bin kernel/firmware/{okapilib.a,squiggles.mk} kernel/okapi
project.pros file to template.pros and take note of the version mv kernel/project.pros kernel/template.pros
{
"py/state": {
"templates": {
"kernel": {
"target": "v5",
"version": "<version>, eg 1.0.0 (TAKE NOTE OF THIS FOR LATER STEPS)",
}
}
}
}
(cd kernel && zip ../kernel@VERSION.zip -r *)
rm -rf kernel
main.rs) // Path to PROS release zip (relative to project root)
const PROS_ZIP_STR: &str = "build/kernel@VERSION.zip"; // update the vesrion
Cargo.toml to something appropriate to this update to the kernel) cargo clean
cargo publish