Replaced the use of the standard library trig functions with a LUT-based
implementation instead. The standard library implementations produce
more accurate results but the usage here doesn't need that. This ends up
saving nearly 7kB of binary size.
* add submodule littlefs
* base fs
* Save settings using littlefs
* Small fixes and suggestions from PR
* More small fixes from PR suggestions
* Code clean up
* Change SpiNorFlash functions to be private in FS
* PineTimeStyle
* Move GPL license header
* Add step count gauge - replaces heartrate in sidebar
* Enable 12/24h functionality
* Set step gauge outer to be white when step goal is reached
* Add font source file
* Move static needle_colors array to member variable
* Add documentation on generating a font
* Replace .ttf with Google version, add link to font page
Co-authored-by: JF002 <JF002@users.noreply.github.com>
* Retrieve and display bootloader version
- Display bootloader version on System Info screen
- Enable SPI flash sleep mode if bootloader version >= 1.0.0
* Wait for SPI flash to wakeup before starting OTA DFU
* update font with jetbrains mono v2.225 and the current converter
* added the tff file for JetBrains Mono to ensure everybody is using the same version
Co-authored-by: Florian <florian@florian-thinkpad.local>
Changed type of encodedBufferIndex to size_t to eliminate warning. It is
fine as a size_t as its only ever compared to another size_t and used as
an array index.
Was causing compiler warning for unused constant variable when being
compiled. This feel is directly included where it's needed so it doesn't
need to be separately compiled anyways.
* add basic metronome app
* add bpb, tap to bpm, update widgets
* use event pressed for bpm tap
* move case statement break to the right place
* narrow bpm selection range, override touch events
* fix arc knob style
* re-enable sleeping in destructor
* Add the following compilation flags:
* -fno-exceptions and -fno-non-call-exceptions : disable exception handling
* -fno-rtti : disable run time type information (needed by dynamic_cast, for example)
These flags reduce the binary size by about 100KB!
Also, -fstack-usage generate debug info (not in final binary) to allow tools like Puncover to do a stack analysis.
* Remove unused CMake variables in CMake_nRF5x.cmake (duplicated in src/CMakeLists.txt).
Replace -O0 by -Og in DEBUG builds. This generates a smaller binary (small enough for the internal memory) that is debugger friendly.
* Navigation app:
- Renaming and reformatting according to coding conventions
- declare iconMap as constexpr and use char* instead of std::string
This reduces the flash usage from 424644B to 419344B (-5300B)!