joeycastillo / Sensor-Watch

A board replacement for the classic Casio F-91W wristwatch
Other
1.17k stars 234 forks source link

Allow easier configuration of compile-time settings #291

Open WesleyAC opened 1 year ago

WesleyAC commented 1 year ago

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.