Firmware
How to compile the firmware for yourself
Install Visual Studio Code
Defaults install options are fine
Note this Guide is for Windows. Linux and Mac should be similar
Add PlatformIO Extension
Choose install. Wait for all the installation popup messages at the bottom to complete. It can take a while to install, don't close or do anything else in the meantime.
The final message is please restart VSCode. Go ahead and Restart VSCode by clicking the Reload Now button.
After it reboots you should see the PlatformIO icon on the bottom of the left tool bar (Alien Head)
Clone the Git Repository or download + extract the .zip file from GitHub
I would suggest using an app like GitHub desktop to clone and keep up to date with changes if your not a command line GIT expert. Use https://www.gihub.com/dlktdr/Headtracker for the URL Clone source.
There are a lot of sub folders in the GitHub Tree and can overwhelm Windows max path length. Keep it close to the root or it may not compile. e.g. C:\HeadTracker
If your trying this on Linux, it should be fine anywhere, supports a much longer path length 4096 vs 255 on Windows.
The folder cannot contain any spaces.
Choose File->Open Workspace from File
The workspace file to open is firmware/src/headtracker.code-workspace
Choose the Build Task in VSCode
Under the PlatformIO extension tab, expand HeadTracker-Zephyr-Nano33_BLE and click build
It will install all the necessary packages, and try to compile. This takes a while!
With any luck you should get...
SUCCESS
A few things about Zephyr
The device tree file .dts is located in the folder
%USERPROFILES%\.platformio\packages\framework-zephyr\boards\arm\ * I have left this file as shipped and have used an device tree overlay file in zephyr/arduino_nano_33_ble.overlay which defines the hardware used Changed in master on 7/25/21
The prj.conf file located in src/zephyr contains all the KConfig options included in the code
How to add your changes and make a Pull Request
If you want to add your changes to the main project, follow these steps. You should always work in a branch not in Master. There are many tutorials online. Git is a very powerful tool and can be overwhelming, start with a GUI and learn the command line after.
Be sure your Master branch is up to date.
Create a new local branch
Make your changes
Publish your new branch to your github account
Create a pull request on GitHub.com
Happy coding. Visit Discord for Support
Last updated