This project uses the nix package manager.
NOTE: until they're no longer experimental, you'll need to enable flakes
WARN: git LFS must be enabled to resolve various
.a
binary files
Enter a development environment with
nix develop # or use direnv or do the setup yourself, whatever
Build the project with
nix build # or `make -j`
The compiled firmware will be at ./result/*.bin
.
Audio notification sounds are generated with translate-shell by running
nix run '.#tts' <lang>
NOTE: for reproducibility, these files should be committed to the repo (doing so will automatically include them in the next release)
The default language is English but can be changed by passing a 2-digit language code to make
make -j LANGUAGE=fr
Flash both earbuds:
nix run '.#flash' [./path/to/firmware.bin]
View logs over the serial port with
nix run '.#logs' <left|right>
Move the "Unreleased" section in CHANGELOG.md
to a new version.
Once pushed the main.yml
workflow will create a new release.