| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
which is an error since we compile with -Werror
Co-authored-by: Lionel Elie Mamane <lionel@mamane.lu>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Redesign BatteryInfo App using an Arch widget instead of a bar.
The colors I used are as follows:
- Discharging (default): green
- Charging: lime
- Battery full: blue
- Battery low (<10%): red
|
| | |
| |
| |
| | |
Optimise the battery animation to not use 100% CPU (which causes DisplayApp to spin forever with AOD)
(DisplayApp also needs to be fixed in the future so it cannot spin infinitely)
|
| | |
| |
| |
| |
| | |
Prevent line endings from getting normalised to CRLF
Co-authored-by: NeroBurner <pyro4hell@gmail.com>
|
| | |
| |
| | |
Change the "No notification" text to "No notifications"
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Simplify alarm alerting screen and fix bug with
alerting on time value change
SetAlerting creates an lv_task to automatically call StopAlerting after one minute. This task will call an invalid function reference and lead to a crash under the following condition:
All exit paths but the time value change (so not considering this fix) call StopAlerting themselves, which also terminates the lv_task.
However, the value change callback only calls DisableAlarm, because its normal use case is for setting up an alarm, where you have to re-confirm enabling the alarm after every change you make.
DisableAlarm still sets isAlerting in the alarmController to false, probably because someone thought a currently alerting but also disabled alarm makes no sense, this was introduced in a0cd439.
That causes the destructor of Alarm to think there is nothing to do regarding the alerting when the alarm screen is dismissed.
Therefore it does not call StopAlerting and the lv_task is left with an invalid function pointer, because Alarm does not exist anymore once the lv_task finally goes to call the callback function
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
When converting to imperial units, the min and max temperatures were
incorrectly inverted, causing confusion in the display.
Fixes https://github.com/InfiniTimeOrg/InfiniTime/issues/2183
|
| | |
| |
| |
| |
| | |
* Use all free RAM for FreeRTOS heap
* Wrap newlib malloc and related functions
* Implement calloc
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix error when compiling the Pinetime using the Docker image.
If done with Docker, the container does not trust the /sources
folder, leading to a blank response of the command that grabs
the git commit `git rev-parse --short HEAD`.
```
fatal: detected dubious ownership in repository at '/sources'
To add an exception for this directory, call:
git config --global --add safe.directory /sources
PROJECT_GIT_COMMIT_HASH_SUCCESS? 128
BUILD CONFIGURATION
-------------------
* Mode : Release
* Version : 1.3.0
* Toolchain : /opt/gcc-arm-none-eabi-10.3-2021.10
* GitRef(S) :
* NRF52 SDK : /opt/nRF5_SDK_15.3.0_59ac345
* Target device : PINETIME
* Build DFU (using adafruit-nrfutil) : Enabled
* Build resources : Enabled
```
If the `git config --global --add safe.directory /sources` is
added to the Dockerfile, the problem is solved and the hash is
added correctly.
|
| | |
| |
| |
| |
| |
| | |
This fixes CI on #2121.
Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
|
| | |
| |
| | |
The openrepos contain obsolete version (description on the openrepos page says that). New SailfishOS version is in chum repo. Additionally, there is Ubuntu Touch and Flatpak version.
|
| | | |
|
| | |
| |
| |
| |
| | |
Also only iterate over the number of days actually in use, rather than
MaxNbForecastDays.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
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.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
not <vector> as that is what is actually used.
Fixes build failure
InfiniTime/src/components/ble/SimpleWeatherService.h:86:18: error: field ‘location’ has incomplete type ‘Pinetime::Controllers::SimpleWeatherService::Location’ {aka ‘std::array<char, 33>’
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Reformat README.md
* Update README.md
* Add files via upload
* Add files via upload
* Add new README.md header image
* Remove unnecessary <br> tag
* Scale watchface logo down; add downloads badge
* Remove unnecessary <br> tag
* Add <br> tag to maintain spacing consistency
* Remove incorrect link
* Add watchface logo with dark logo
* Replace logo image with dark version
* Add files via upload
* Add header image
* Fix row spacing in header image
* Remove unnecessary <br> tag
* Add corner radius to header image
* Add files via upload
* Update image background
* Add reference to InfiniTimeExplorer
* Remove unnecessary image
* Remove unnecessary image
* Remove unnecessary images
* Rename watchface_collage_no_shadow.png to watchface_collage.png
* Update header image URL
* Remove unnecessary <br> tag
* SPI transaction hooks
* Remove task to notify
* Refactor display WriteToRam
* Use functional abstraction for hooks
* Refactor lambdas
* Avoid storing lambda
* Rename to pre-transaction hook
* Use FreeRTOS delay instead of spinning the CPU
* Apply display driver datasheet delays
* Move includes back
* Include task header (Fixes sim)
* Make chime vibrate twice
* Remove commit from main
* README: improve wording
* Add bootloader to DeviceInformationService.cpp
* Add bootloader to DeviceInformationService.h
* Revert "Add bootloader to DeviceInformationService.h"
This reverts commit f3f0fd568d96dea1ebd30529b4b8b6d5f4d5444b.
* Revert "Add bootloader to DeviceInformationService.cpp"
This reverts commit 35570edafab1b061442ae89b01a2ced8b9a812bd.
* Delete doc/logo/watchface_collage.png
* Add files via upload
* Delete doc/logo/watchface_collage.png
* Add files via upload
* Replace collage with correct image
---------
Co-authored-by: mark9064 <30447455+mark9064@users.noreply.github.com>
|
| | |
| |
| |
| | |
The submodule isn't used anymore. Remove the submodule reference
completely.
|
| | |
| |
| |
| |
| | |
Add `FreeRTOS.h` include for the directly used data type `TickType_t` in the header
and the function `xTaskGetTickCount` from FreeRTOS's `task.h`
|
| | |
| |
| |
| |
| |
| |
| |
| | |
In the screens that use `DisplayApp *app` and pass it to a child item,
or use the reference just in the constructor. Afterwards the `app`
member is not used. So remove it from the private member variables.
Completely remove `app` parameter from `SettingDisplay` constructor as
it is unused.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* AlarmController: Add saving alarm time to file
Save the set alarm time to the SPI NOR flash, so it does not reset to
the default value when the watch resets, e.g. due to watchdog timeout
or reflashing of a new version of InfiniTime.
Just like the `Settings.h` `LoadSettingsFromFile()` the previous alarm
at boot (if available) and `SaveSettingsToFile()` the current alarm when
the `Alarm.h` screen is closed (only if the settings have changed).
The alarm-settings file is stored in `.system/alarm.dat`. The `.system`
folder is created if it doesn't yet exist.
Fixes: https://github.com/InfiniTimeOrg/InfiniTime/issues/1330
* alarmController: close .system dir after usage
Close the `lfs_dir` object for the `.system` dir after usage. Otherwise
on the second changed alarm the system will lockup because the `.system`
dir is already open and was never closed.
---------
Co-authored-by: Galdor Takacs <g@ldor.de>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix for Hrs3300 PR about Atomic HRS reads:
https://github.com/InfiniTimeOrg/InfiniTime/pull/1845
We use `std::begin` and `std::end`, but we don't include one of the
headers that define those functions.
See https://en.cppreference.com/w/cpp/iterator/begin for a list of
headers that define `std::begin` and `std::end`.
Starting with GCC 14 this leads to a compilation error presumably
because they cleaned up their headers.
Fix code by inlcuding `<iterator>`
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Combine the reading of all `HRS3300` registers into one I2C read so data is not partial
- Downsizes both HRS and ALS to 16bit as the sensor does not generate larger than
16bit values in its current configuration
- Increasing the resolution by 1 bit doubles the sensor acquisition time,
since we are already at 10Hz we are never going to use a higher resolution
- The PPG algorithm buffers for ALS/HRS are already 16bit anyway
- Remove functions for setting gain / drive that are unused throughout the codebase
- Calculate constants with constexpr
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
State transitions now happen immediately where possible
This simplifies state management in general,
and prevents bugs such as the chime issue from occurring in the first place
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Set `running` to false to flag end of watchface when there are no more
notifications left to display.
I found it slightly annoying that dismissing all notifications leaves me with
a "No notification to display" message. Instead of dismissing to a relatively
useless message, dismiss to watchface.
|
| | | |
|
| | | |
|