This is the repo for SCRT's BEAVS 6 module firmware. BEAVS is designed to extend servo actuated blades to control rocket drag and hit a target height of 10,000 ft.
This firmware uses a platformio build system which can be installed here.
This can be run on a BEAVS 2026 board through pio run -e release -t upload and in debug mode through pio run -e debug -t upload -t monitor once you have platformio setup (there is also a noflash_debug mode which also disables writing flight data to flash to save on reboot time). This will run the board with no calibration set. To use a calibration file in the calibrations folder set your environment variable BOARD to the name of the calibration file (with .toml excluded)
To calibrate a board see analysis/CALIBRATION.md.
The following rules have been tested to work for flashing the BEAVS 6 board over USB. Two entries are necessary to cover the board when running the BEAVS firmware as well as in bootloader mode.
These rules also assume your user is in the plugdev group.
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="000a", GROUP="plugdev", MODE:="0660"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="0003", GROUP="plugdev", MODE:="0660"
This was created for an OSU capstone and more info can be found at the main repo.