crownstone / bluenet

Bluenet is the in-house firmware on Crownstone hardware. Functions: switching, dimming, energy monitoring, presence detection, indoor localization, switchcraft.
https://crownstone.rocks
91 stars 62 forks source link

Cmake and runtime #156

Closed mrquincle closed 2 years ago

mrquincle commented 2 years ago

Implements strategy of https://github.com/crownstone/bluenet/issues/155.

This uses cmake for configuration and that's where it excels. It creates platform-specific scripts from templates. If more platforms are to be supported, we just add more templates.

This removes all issues w.r.t. getting configuration information into runtime scripts. It also removes all issues with running those scripts through cmake which leads to buffering and sometimes just doesn't work at all (e.g. gdb).

mrquincle commented 2 years ago

Most styling remarks have been addressed by me. I've changed it in such way that running clang-format again - as advertised on https://github.com/crownstone/bluenet/blob/master/docs/CODE_STYLE.md - does not change it back. Note that I have to do this work because people don't write the code in tandem with the linter to begin with.