/junior-rocket

Avionics code for the dual stage junior rocket

Primary LanguageC++MIT LicenseMIT

Junior Rocket Firmware

This repository contains the Arduino based firmware for the FAR Junior two stage rocket.

RP2040

The state machine is written in C++17. To allow for this to work with Arduino, the platform.txt needs to change so that it enables C++17.

On my system, this is the file

~/Library/Arduino15/packages/arduino/hardware/mbed_rp2040/4.0.2/

The following line must be present:

compiler.cpp.extra_flags=-std=gnu++17

Compile with

arduino-cli compile --fqbn arduino:mbed_rp2040:pico

Arduino Maple

Compile with

arduino-cli compile --fqbn STMicroelectronics:stm32:GenF1 --board-options "pnum=MAPLEMINI_F103CB,opt=oslto"

Linker optimization in platform.txt

Lives in

~/Library/Arduino15/packages/STMicroelectronics/hardware/stm32/2.5.0/

for me. Make the following settings look like this:

compiler.ldflags=-Wl,--no-warn-rwx-segments,--gc-sections
compiler.c.extra_flags=-ffunction-sections -fdata-sections
compiler.cpp.extra_flags=-ffunction-sections -fdata-sections