- C/C++ code based on micro-tools framework: https://github.com/c272/micro-tools
- Documentation: https://microbit.c272.org
- Hardware: 2x Microbit v2 micro controllers: Link to Microbit documentation
- Hand controller: Defining control inputs and visualize on display
- AirBit Drone: Detect and fly based on input
PARTY: Pitch, arm, roll, throttle, yaw
There are some dependancies needed:
- GCC
- Python 3
- CMake
- GCC ARM EABI
- GCC ARM binutils
- GCC ARM newlib
- GCC ARM libstdc++
This can be done via brew:
brew install cmake python3
brew install --cask gcc-arm-embedded./microinstall.sh
// ADD micro-tools to PATH:
echo 'source /Users/geirolatvinnereim/AirBit/aliases.sh' >> ~/.bashrc
source ~/.bashrc
. aliases.sh
./microbuild.sh BUILD_DIRECTORY=./srcor you can edit aliases.sh, such that you can use the microbuild command directly:
alias microbuild="/Users/geirolatvinnereim/AirBit/microbuild.sh BUILD_DIRECTORY=./src"-
microinstall: fetching the lastest microbit v2 sdk into repository and building the source
-
microbuild: Building the repository you call the command from into the sdk. Copying source files into sdk
-
microflash: Making mnt folder with flashed output. NB! microbit must be connected.
-
setup:
Feed in filepath to microbit-v2-sdk: /Users/geirolatvinnereim/AirBit/microbit-v2-sdk
If nrf_sdh_soc_init() cannot be found. You have called build from a wrong folder. Chech microbit-v2-sdk/source and assure that only the src/.cpp files are present.
If there are build errors in the Codal SDK. There are probably some conflicting file names or methods which causes build errors. Delete the build folder produces in /microbit-v2-sdk and rebuild.
In order allow debugging, the project needs to be built by navigating into the microbit-v2-sdk and access debugger inside Visual Studio Code.
python3 build.pyWe want to utilize a dynamic analysis tool, which can linter codebase, not a static one
Using clang-format as dynamic cpp-linter. install and usage: This command line tool can only linter one file at a time, so we need to apply recursiveness at src
./linter.sh