aboutsummaryrefslogtreecommitdiffstats
path: root/src/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Mildly more correct linker flagsmark90642025-11-061-7/+7
|
* Background heartrate measurementmark90642025-11-051-0/+1
| | | | Co-Authored-By: Patric Gruber <me@patric-gruber.at>
* StopWatch: add persistenceJan Hustak2025-11-041-0/+3
| | | | | # Conflicts: # src/displayapp/screens/StopWatch.h
* Setting to disable DFU and FS access (#1891)Dāvis Mošenkovs2025-09-031-0/+1
| | | | | | | | | | | | | | * Expose SystemTask dependency controllers Expose NotificationManager and Settings for use by the feature in next commit. This is a memory efficient way for accessing SystemTask dependencies from controllers that have SystemTask injected as a dependency. Looks like each direct dependency injection uses 4 bytes RAM. As InfiniTime is close to running out of RAM (using 16 more bytes causes build to fail with "ld: region RAM overflowed with stack") it might be helpful to use this approach more. * Add setting to disable DFU and FS access
* Pride flag watchface (#2201)Eshe2025-06-191-0/+1
|
* Simple calculator (#1483)Max Friedrich2025-05-121-0/+1
| | | | | | Co-authored-by: minacode <minamoto9@web.de> Co-authored-by: Finlay Davidson <finlay.davidson@coderclass.nl> Co-authored-by: SuIông N. <Boteium@users.noreply.github.com> Co-authored-by: mark9064 <30447455+mark9064@users.noreply.github.com>
* Use all free RAM for FreeRTOS heapFelipe Martínez2024-12-091-0/+4
| | | | | * Use all free RAM for FreeRTOS heap * Wrap newlib malloc and related functions * Implement calloc
* Switch to simpler temperature interfaceFintasticMan2024-11-041-2/+0
|
* weather: Refactor temperature type for type safetyFintasticMan2024-11-041-0/+2
| | | | | | | There is now a Temperature struct in the weather service, which holds the internal representation. There is also a temperature struct in the Applications namespace, which holds the temperature in either Celsius or Fahrenheit.
* Refactor doNotGoToSleep to a wakelock countermark90642024-09-211-0/+3
|
* Size optimise NRF SDK buildmark90642024-09-141-1/+0
|
* weather: Add new app with forecastVictor Kareh2024-02-181-0/+1
|
* Remove GFX (and unused GFX dependencies)mark90642024-02-111-2/+0
|
* New dice-rolling app: InfiniDice! (#1326)Yusuf Ebrahim2024-01-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new App `Dice.h` to randomly roll the dice(s). The number of dice can range from 1-9 (default 1), and the sides can range from d2-d99 (default d2). To have a haptic feedback we make Dice vibrate on roll. Regarding the use of C++ `<random>` library: There are known problems with `rand()` and `srand()` (see https://en.cppreference.com/w/cpp/numeric/random/rand) and the `<random>` library is preferred for this reason. The function used from `<random>` also avoids a very rare bias that would occur using `rand()` and modulo, when `RAND_MAX` is not a multiple of `d` and the initially generated number falls in the last "short" segment. This commit also updates the seed to derive entropy (via `seed_seq`) from a mix of the system tick count and the x,y,z components of the PineTime motion controller -- taking inspiration from and with credit to @w4tsn (https://github.com/InfiniTimeOrg/InfiniTime/pull/1199) Thanks for suggestions: * in Dice, when rolling 1d2, also show "HEADS" or "TAILS" -- suggestion by @medeyko * ui adjustments and result realignment -- suggestion by @Boteium --------- Co-authored-by: NeroBurner <pyro4hell@gmail.com> Co-authored-by: Riku Isokoski <riksu9000@gmail.com> Co-authored-by: Paul Weiß <45500341+Poohl@users.noreply.github.com> Co-authored-by: FintasticMan <finlay.neon.kid@gmail.com>
* Split declaration and implementation of GetSymbolLennart Jahn2024-01-161-0/+1
|
* settings: Add settings item for weather formatFintasticMan2023-12-231-0/+1
|
* Watch face selection with CMakeJean-François Milants2023-12-231-6/+8
| | | | Move displayapp/Apps.h into a header only library (to make the integration easier in InfiniSim.
* SimpleWeather service : new weather implementationJean-François Milants2023-12-231-39/+9
| | | | | | | | | | This new implementation of the weather feature provides a new BLE API and a new weather service. The API uses a single characteristic that allows companion apps to write the weather conditions (current and forecast for the next 5 days). The SimpleWeather service exposes those data as std::optional fields. This new implementation replaces the previous WeahterService. The API is documented in docs/SimpleWeatherService.md.
* Watch face selection at build timeJean-François Milants2023-12-211-3/+0
| | | | Watch faces can now be selected at buid time. It's implemented in a similar way than the selection of user apps, using a list of watch face description that is generated at build time (consteval, constexpr)
* p8: Fix build when building for P8 variantsFintasticMan2023-12-161-4/+4
| | | | | | | Building with a TARGET_DEVICE set to any of the P8 variants' names caused the build to fail, because they contained hyphens. The build defines a macro `TARGET_DEVICE_$VARIANT`, which fails if `$VARIANT` contains a hyphen.
* Application selection at build timeJean-François Milants2023-11-191-1/+0
| | | | | | | A list of "user applications" is built at compile time. It contains all the info needed to create the application at runtime (ptr to a create() function) and to display the app in the application menu. All applications declare a TypeTrait with these information. When a new app must be loaded, DisplayApp first check if this app is a System app (in which case it creates it like it did before). If it's not a System app, it looks for the app in the list of User applications and creates it if it found it. Those changes allow to more easily add new app and to select which app must be built into the firmware. Switch to C++20 (and fix a few issues in SpiMaster.cpp and Watchdog.cpp.
* motioncontroller: Add functions for analysisFinlay Davidson2023-08-171-0/+5
| | | | | | These are functions for converting acceleration due to gravity to angles in degrees, and some statistical analysis including the mean and variance.
* watchfaceanalog: Background in lvgl (#1824)Max Friedrich2023-08-151-1/+0
| | | | | | | | | | | * change background image to widgets This commit removes the background image for the WatchFaceAnalog and replaces it with lvgl widgets. It aims to keep the original look. * remove comments and background image --------- Co-authored-by: minacode <minamoto9@web.de>
* arduinofft: Move to submodule, define srqt_internal externallyFinlay Davidson2023-06-171-3/+3
|
* Unify all heaps (stdlib + LVGL + FreeRTOS) into a single heap managed by ↵Jean-François Milants2023-05-181-1/+4
| | | | | | | | | | FreeRTOS and heap_4_infinitime.c. LVGL supports custom implementation of malloc() and free() so using pvPortMalloc() and vPortFree() is just a matter of setting the right variables. Other libraries (NimBLE, LittleFS) and InfiniTime code (new) call malloc() and free() from stdlib. InfiniTime now provides the file stdlib.c that provides a custom implementation for malloc(), free(), calloc() and realloc(). This ensures that all calls to the standard allocator are redirected to the FreeRTOS memory manager. Note that realloc() is needed by NimBLE.
* Copy the memory manager heap_4.c from the FreeRTOS distribution to the ↵Jean-François Milants2023-05-181-1/+5
| | | | InfiniTime project codebase. This will allow to implement custom functionalities that are not available in the original implementation.
* Refactor watch face to enum (#1339)Max Friedrich2023-04-301-0/+1
| | | | | | | change watch face from int to enum --------- Co-authored-by: minacode <minamoto9@web.de>
* Refactored Ppg for frequency based algorithm. (#1486)Ceimour2023-04-301-7/+5
| | | | | | | New implementation of the heart rate sensor data processing using a frequency based PPG algorithm. The HRS3300 settings are fine-tuned for better signal to noise at 10Hz. The measurement delay is now set to 100ms. Enable and use the ambient light sensor. FFT implementation based on ArduinoFFT (https://github.com/kosme/arduinoFFT, GPLv3.0).
* TimerController: Rename to TimerRiku Isokoski2023-04-161-3/+3
|
* warnings: Treat warnings as errorRiku Isokoski2023-02-261-1/+1
| | | | | This way warnings will be taken seriously, and will cause PR checks to fail when they throw warnings.
* date: Remove date libRiku Isokoski2023-02-251-9/+0
| | | | DateTimeController can provide everything we need.
* Merge branch 'aleexxzeero-proper-mcuboot-app-size' into developJean-François Milants2023-01-291-4/+4
|\
| * #1463 Updated CMakeLists.txt for building images with expected alignmentAlex Dolzhenkov2022-12-291-4/+4
| |
* | src: Enable unused parameter warningRiku Isokoski2023-01-241-4/+3
| | | | | | | | | | | | Fix warnings. Some clang-formatting was necessary. DebugPins is unused and was removed.
* | Combine Date and Time Settings (#1465)John Quigley2023-01-141-0/+3
| | | | | | | | | | | | Replace separate SettingSetDate and SettingSetTime with a combined screenlist. Add DotIndicators. Similar to PageIndicator, but for use when separating screens instead of pages of a list. Co-authored-by: Riku Isokoski <riksu9000@gmail.com>
* | Revert "prepare cmake unity build"Riku Isokoski2022-12-311-23/+0
| | | | | | | | This reverts commit 21f3bd708261ece47096961039e65d5b6f113c73.
* | prepare cmake unity buildtnixeu2022-12-271-0/+23
| | | | | | | | Exclude files from unity build which currently cause compile erros because of redefinitions.
* | Small fixup for cmake cleanupRiku Isokoski2022-12-261-11/+10
| |
* | Clean up target compile option assignmentsJonathan Vander Mey2022-12-261-51/+65
| | | | | | | | | | | | Removed/simplified some generator expressions that had more repeated elements than they needed to. Extracted some repeated sets of options into separate variables as well.
* | Split warning flags from commonJonathan Vander Mey2022-12-261-25/+26
| | | | | | | | | | Only enable the warning flags when building InfiniTime firmware, not when building third-party libraries.
* | Update clang-tidy configuration and fix some warnings (#1474)Riku Isokoski2022-12-181-1/+1
|/ | | | | Don't enable coding conventions from unrelated projects. Only enable generic checks.
* Merge branch 'watchface-casio-digital-G7710' of ↵Jean-François Milants2022-09-271-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | github.com:ITCactus/InfiniTime into ITCactus-watchface-casio-digital-G7710 # Conflicts: # src/components/settings/Settings.h # src/displayapp/screens/CheckboxList.cpp # src/displayapp/screens/CheckboxList.h # src/displayapp/screens/Clock.cpp # src/displayapp/screens/Clock.h # src/displayapp/screens/settings/SettingWatchFace.cpp
| * [new watchface] watchface inspired by G7710, with day of year and week ↵ITCactus2022-06-301-0/+3
| | | | | | | | number info
* | Merge pull request #1024 from dmlls/infineat-prJF2022-09-271-0/+3
|\ \ | | | | | | Infineat Watchface + support for external resources.
| * | Infineat : Add support for external resources, and read the images and fonts ↵Jean-François Milants2022-09-111-1/+0
| | | | | | | | | | | | from the ilesystem
| * | Merge branch 'develop' into infineat-external-resourcesJean-François Milants2022-09-111-92/+158
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | # Conflicts: # src/displayapp/screens/Symbols.h # src/displayapp/screens/settings/SettingWatchFace.cpp # src/displayapp/screens/settings/SettingWatchFace.h
| * | | Use existing fonts in Infineat watchfaceDiego Miguel2022-06-111-2/+0
| | | |
| * | | Implement CheckboxList screenDiego Miguel2022-06-111-0/+2
| | | |
| * | | Update BLE controller in Infineat watchfaceDiego Miguel2022-06-111-0/+1
| | | |
| * | | Add 'Bebas Neue' and 'Teko' fontsDiego Miguel2022-06-111-0/+2
| | | |