Each app has its own minimal CMakeLists.txt which is the entry point for the build and where the executable name and sources are defined, but the main work is done by including the build_app.cmake file.
The duo app is not yet ported to the App interface. I think we should hold off on that until we've used this for something and seen that it works alright.
Some manual care should be taken to not call MIDI::init() from something using the App interface, since then the sysex handler will be reinitialized and won't respond to messages to enter bootloader. This shouldn't be an issue for our use-cases.
Two apps can now be built and run. Example:
brains2
nix-shell
./scripts/build.sh apps/test_app
./scripts/send_firmware.sh apps/test_app
apps/duo
BOARDS
define should be respected as beforeNotes
CMakeLists.txt
which is the entry point for the build and where the executable name and sources are defined, but the main work is done by including thebuild_app.cmake
file.App
interface. I think we should hold off on that until we've used this for something and seen that it works alright.MIDI::init()
from something using theApp
interface, since then the sysex handler will be reinitialized and won't respond to messages to enter bootloader. This shouldn't be an issue for our use-cases.