Compiling a Sensor Watch Pro firmware on FreeBSD
Writing this article following my previous one about the "regular" Sensor Watch firmware.
I recently bought and assembled a Sensor Watch Pro, and compiling a firmware on FreeBSD has a few differences, so as usual I'm documenting it here for me, but might be useful to others.
Git clone
When first trying to compile, I had error messages about the gossamer folder,
which was indeed empty... whereas the original one on Github was not... but was
also a submodule: gossamer @ eb8e7d6
So I had to clone the repo using --recurse-submodules:
git clone --recurse-submodules https://github.com/joeycastillo/second-movement.git
Prerequisites
You still need the sames packages, i.e.:
- python
- arm-none-eabi-binutils
- arm-none-eabi-newlib
- gcc-arm-embedded
PATH
For some reason, when using the previous export command, gmake would
complain, so I had to specify the folder for gcc-arm-embedded without symlink,
i.e.:
export PATH=$PATH:/usr/local/gcc-arm-embedded-14.2.rel1/bin
Choosing the watchfaces
That did not change, you need to edit the movement_config.h file, and inside
the watch_faces array, specify the watchfaces you want.
Compiling
Finally, we ready to compile!
Compared with the Sensor Watch, the BOARD name is sensorwatch_pro, and if
you're sporting the new CUSTOM LCD, you need to specify it (otherwise you still
need to pass the DISPLAY parameter, but as classic).
gmake BOARD=sensorwatch_pro DISPLAY=custom
There we go, you now have a custom firmware in build/firmware.uf2, all you
have to do is upload it using the USB connection.
Tags: BSD