| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
| |
Co-Authored-By: Patric Gruber <me@patric-gruber.at>
|
| |
|
|
|
| |
# Conflicts:
# src/displayapp/screens/StopWatch.h
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| | |
|
| |
|
|
|
|
| |
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 heap
* Wrap newlib malloc and related functions
* Implement calloc
|
| | |
|
| |
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| | |
|
| | |
|
| |
|
|
| |
Move displayapp/Apps.h into a header only library (to make the integration easier in InfiniSim.
|
| |
|
|
|
|
|
|
|
|
| |
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 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)
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
These are functions for converting acceleration due to gravity to angles
in degrees, and some statistical analysis including the mean and
variance.
|
| |
|
|
|
|
|
|
|
|
|
| |
* 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>
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
InfiniTime project codebase. This will allow to implement custom functionalities that are not available in the original implementation.
|
| |
|
|
|
|
|
| |
change watch face from int to enum
---------
Co-authored-by: minacode <minamoto9@web.de>
|
| |
|
|
|
|
|
| |
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).
|
| | |
|
| |
|
|
|
| |
This way warnings will be taken seriously, and will cause PR checks to
fail when they throw warnings.
|
| |
|
|
| |
DateTimeController can provide everything we need.
|
| |\ |
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
Fix warnings.
Some clang-formatting was necessary.
DebugPins is unused and was removed.
|
| | |
| |
| |
| |
| |
| | |
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>
|
| | |
| |
| |
| | |
This reverts commit 21f3bd708261ece47096961039e65d5b6f113c73.
|
| | |
| |
| |
| | |
Exclude files from unity build which currently cause compile erros because of redefinitions.
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| | |
Only enable the warning flags when building InfiniTime firmware, not
when building third-party libraries.
|
| |/
|
|
|
| |
Don't enable coding conventions from unrelated projects. Only enable
generic checks.
|
| |\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| | |
number info
|
| |\ \
| | |
| | | |
Infineat Watchface + support for external resources.
|
| | | |
| | |
| | |
| | | |
from the ilesystem
|
| | |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
# Conflicts:
# src/displayapp/screens/Symbols.h
# src/displayapp/screens/settings/SettingWatchFace.cpp
# src/displayapp/screens/settings/SettingWatchFace.h
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|