Currently, compile-time changes seem to be done by either changing the code, or with #defines in individual faces. This means that making changes to constants requires doing a git merge when updating the firmware. Instead, I'd like to see a file just for user preferences that could be kept outside of version control for changing constants. (or perhaps these could be set in the movement_config.h, since that's currently where I would expect most users to start their customization).
I would imagine this looking like a extremely simple macro or two, maybe as simple as a DEFINE_CONSTANT(name, default) that is just a #ifndef / #define / #endif, where the user's configuration file is loaded before watch faces. I think most of the value is just in having a standard way of doing this across faces, the implementation is pretty trivial.
Thoughts? Perhaps related to #70, although that is somewhat different and fancier, I think probably we want to solve this issue and that one separately.
Currently, compile-time changes seem to be done by either changing the code, or with
#define
s in individual faces. This means that making changes to constants requires doing a git merge when updating the firmware. Instead, I'd like to see a file just for user preferences that could be kept outside of version control for changing constants. (or perhaps these could be set in themovement_config.h
, since that's currently where I would expect most users to start their customization).I would imagine this looking like a extremely simple macro or two, maybe as simple as a
DEFINE_CONSTANT(name, default)
that is just a#ifndef
/#define
/#endif
, where the user's configuration file is loaded before watch faces. I think most of the value is just in having a standard way of doing this across faces, the implementation is pretty trivial.Thoughts? Perhaps related to #70, although that is somewhat different and fancier, I think probably we want to solve this issue and that one separately.