2326 Commits

Author SHA1 Message Date
codingjourney
f720a7fb3c upper bound for lap numbers 2025-11-04 21:25:31 +01:00
codingjourney
5c2d4a5151 fixed an integer overflow bug in time rendering 2025-11-04 21:25:31 +01:00
codingjourney
af84ec2549 added missing newline 2025-11-04 21:25:31 +01:00
codingjourney
08043c3078 common method for entering the Paused state 2025-11-04 21:25:31 +01:00
codingjourney
f1f4c9028e fixed issues found by the test-format CI job 2025-11-04 21:25:31 +01:00
codingjourney
88e396f45f render accurate time at pause 2025-11-04 21:25:31 +01:00
codingjourney
6361bf2838 removed superfluous default values in controller 2025-11-04 21:25:31 +01:00
codingjourney
f5a5600b79 improved naming of lap-related fields and methods 2025-11-04 21:25:31 +01:00
codingjourney
d927a22847 lap storage as CircularBuffer, minor fixes 2025-11-04 21:25:31 +01:00
codingjourney
f28aca7541 minor fixes:
* more consistent function names
* lapCapacity as constexpr
* LastLap returns std::optional
* simplified handling of TickType_t values
* removed unused methods
* minor fix in lap rendering
2025-11-04 21:25:31 +01:00
Jan Hustak
db5d4704cc StopWatch: add persistence
# Conflicts:
#	src/displayapp/screens/StopWatch.h
2025-11-04 21:25:31 +01:00
Dāvis Mošenkovs
74cf69bb67
ImmediateAlertService: fix latent bug (#2159)
Some checks failed
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
Include null terminator in the bytes copied.
Set notif.size as it is done in AlertNotificationService.cpp and
AlertNotificationClient.cpp.
2025-11-04 09:22:44 +01:00
Steve Amor
c9a9e72c13 Removes redundant words to save space
Some checks failed
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
2025-10-21 11:02:18 +01:00
mark9064
ba1934f85a Fix typos/formatting
Some checks failed
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
2025-10-16 09:34:55 +01:00
mark9064
cd4682d1ef Remove unused motion subscribed method 2025-10-16 09:34:55 +01:00
mark9064
7ea36e8cac Unconditionally calculate shake speed
Some checks failed
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
2025-10-15 17:36:02 +01:00
mark9064
90e458b000 Unconditionally update motion 2025-10-15 17:36:02 +01:00
mark9064
8a60a2147c Disable touch panel auto-reset
Some checks failed
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
2025-10-14 21:20:55 +01:00
mark9064
8422923ea0 Resolve paint corrupting screen scrolling
Some checks failed
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
2025-10-10 11:42:32 +01:00
mark9064
0881edd2e6 Remove redundant touchpanel read
Some checks failed
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
2025-10-08 17:54:18 +01:00
Hugo Osvaldo Barrera
957ba59ef3 docs: --user is only required when docker run as root
Some checks failed
Build and push Docker image / build (push) Has been cancelled
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
The --user argument attempts to map the uid of the user inside the
container to the user in the host. This works if docker is running as
root, but is docker is running as the current user, then the uid in the
container is mapped to a surrogate uid on the host, and this surrogate
user does not have permissions to complete the build process.

Clarify that the --user flag is only required when running docker as
root. It is also likely not required by users using podman as a docker
drop-in replacement, since podman always runs in rootless mode.
2025-09-23 16:28:57 +01:00
Hugo Osvaldo Barrera
09b1342eae docs: remove superfluous link
The docker build section points to another page with instructions on how
to clone the repository, but this same page already contains these same
instructions in the previous section.
2025-09-23 16:28:57 +01:00
Hugo Osvaldo Barrera
5516cc7e0a docker: update deprecated syntax
`docker build` warns of deprecated syntax:

    1 warning found (use docker --debug to expand):
    - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 71)

Update Dockerfile, removing the deprecated syntax usage.
2025-09-23 16:28:57 +01:00
Hugo Osvaldo Barrera
ea98db0b1d docs: shuffle sections into logical order
The first section explains how to clone the repository, the second how
to build Infinitime with the docker image, but the details on actually
provisioning the image are at the end, despite this step taking place
before the build itself.

Move the sections into the order in which the steps should be followed.
2025-09-23 16:28:57 +01:00
Dāvis Mošenkovs
e03414ce6d
Setting to disable DFU and FS access (#1891)
Some checks failed
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
* 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
2025-09-03 20:50:13 +02:00
Heiko Stuebner
9afc23cba9 navigation: fix greying out the app icon if not enabled
Some checks failed
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
Commit 0aead42fdf51 ("navigation: Add is available (#1847)") added the
ability to draw the app icon in grey and in a disabled state when some
prerequisits were not met. Only the Navigation app was using this mechanism
due to its icons being stored in the external memory and possibly missing.

Commit 63e0c4f4efb0 ("Application selection at build time") broke this by
always setting the state as true:
      for (const auto& userApp : userApps) {
        apps[i++] = Screens::Tile::Applications {userApp.icon, userApp.app, true};
      }

Fix this by creating an isAvailable() strcuture in the app classes, similar
to how the Watchfaces handle the same problem of checking availability.
2025-07-03 13:19:56 +01:00
Titus
250e7a7032
Dark App Launcher Tiles (#2294)
Some checks failed
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
2025-06-29 17:39:48 +02:00
Titus
c3afbc59ce
(small) Music App Redesign (#2292) 2025-06-29 16:43:41 +02:00
mark9064
c1b9967d92 Analog face constexpr fix
Some checks are pending
CI / build-firmware (push) Waiting to run
CI / build-simulator (push) Waiting to run
CI / get-base-ref-size (push) Waiting to run
CI / Compare build size (push) Blocked by required conditions
2025-06-28 18:30:54 +01:00
mark9064
b3f4831e54 Initialise DisplayApp components in DisplayApp context
Some checks are pending
CI / build-firmware (push) Waiting to run
CI / build-simulator (push) Waiting to run
CI / get-base-ref-size (push) Waiting to run
CI / Compare build size (push) Blocked by required conditions
2025-06-28 16:33:49 +01:00
mark9064
343962da5d Disable legacy FreeRTOS functions
Some checks are pending
CI / build-firmware (push) Waiting to run
CI / build-simulator (push) Waiting to run
CI / get-base-ref-size (push) Waiting to run
CI / Compare build size (push) Blocked by required conditions
2025-06-27 20:53:26 +01:00
Eshe
4517fb8c4b
Pride flag watchface (#2201)
Some checks failed
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
2025-06-19 17:53:45 +01:00
Owen from Canada
3fc00f80db
Ignore npm files (#2313)
Some checks are pending
CI / build-firmware (push) Waiting to run
CI / build-simulator (push) Waiting to run
CI / get-base-ref-size (push) Waiting to run
CI / Compare build size (push) Blocked by required conditions
2025-06-18 13:17:57 +02:00
zyphlar
1340f56344
Set LF-only (\n) line endings for .sh files to fix #1905 (#2181)
Some checks failed
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
2025-06-16 22:31:28 +01:00
Titus
b2d0e04e42
BatteryInfo App Redesign: Fixup (#2310)
Some checks failed
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
* remove leading zeros from battery percentage
* add correct colors matching the battery icon color thresholds
2025-06-12 09:13:53 +02:00
lmamane
4f426f00a8
set static text as static text (#2312)
and save a few bytes of heap memory

Co-authored-by: Lionel Elie Mamane <lionel@mamane.lu>
2025-06-12 09:12:11 +02:00
Reinhold Gschweicher
85a0542d93 DisplayApp: use std::ranges function where possible
Some checks failed
Build and push Docker image / build (push) Has been cancelled
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
Instead of raw for loops use `std::ranges::transform` where possible.
And also use `std::ranges::find_if` instead of `std::find_if`.
2025-05-30 22:57:12 +01:00
kon-foo
8423ed675b fixed libpango1.0-dev install 2025-05-30 19:52:23 +01:00
NeroBurner
22cb7e3388
CI: use bash for get-base-ref-size job (#2305)
Some checks failed
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
Same change as done in c3295d6d2a
But for get-base-ref-size job

The variable substitution I introduced are bash features. So they don't work with sh.

Update the size job to use `bash` instead of `sh` as shell
2025-05-29 09:36:50 +02:00
NeroBurner
c3295d6d2a
CI: use bash for output-sizs-job
Some checks failed
Build and push Docker image / build (push) Has been cancelled
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
Firmware build works. But the build size job afterwards fails.
The firmware build uses `shell: bash --noprofile --norc -e -o pipefail {0}` as shell.

The size job uses `shell: sh -e {0}`

The variable substitution I introduced are bash features. So they don't work with sh.

Update the size job to use `bash` instead of `sh` as shell
2025-05-27 23:26:43 +02:00
NeroBurner
6f2a661a36
docker: fix NRF_SDK download and subsequent build.sh (#2299)
The upstream NRF-SDK download url and zip archive filename changed,
which was fixed with https://github.com/InfiniTimeOrg/InfiniTime/pull/2270

But the archive contents stayed the same, with the "old" folder name.

After #2270 we have basically the same docker-container as before the PR,
but the `GetNrfSdk` function of the `build.sh` script is called again during
firmware build time as the expected foldername for the SDK isn't the same as
the zip filename:

```sh
[ ! -d "$TOOLS_DIR/$NRF_SDK_VER" ] && GetNrfSdk
```

Then during the build the `buils.sh` script tries to execute `GetNrfSdk` again,
which fails as the files already exist resulting in the following error:

```
replace /opt/nRF5_SDK_15.3.0_59ac345/components/802_15_4/api/HAL/hal_atomic.h? [y]es, [n]o, [A]ll, [N]one, [r]ename:  NULL
```

Fix this by reverting the `NRF_SDK_VER` to the folder name in the zip
archive and by some character replacement generate the download URL from
the above (the download is in lower-case without the `_` and `.`
characters).

Furthermore add safeguards to check after the `GetNrfSdk` call if the
expected folder is really created. Then we have an error early during
container image creation if the contents of the zip-archive are
unexpected.
2025-05-27 22:56:10 +02:00
Steve Amor
9fb35cc073 Refactors watch faces. Replace lv_tick_get() with xTaskGetTickCount()
Some checks failed
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
2025-05-23 17:46:14 +01:00
Darius Arnold
248a6aea87
Fix nRF SDK download links (#2270)
Some checks failed
Build and push Docker image / build (push) Has been cancelled
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
nRF has moved the download to a new location- Update the build script to fetch from the same URL the download website currently provides.
2025-05-21 21:17:42 +01:00
Jean-François Milants
0880b08546 Fix conflict in NotificationManager 2025-05-21 20:53:47 +02:00
Julian Vos
e27e51d36a fix: fix short ref not getting set in github builds 2025-05-21 20:18:23 +02:00
Matt Zrinsky
fb70b538e4 Fix about screen vertical centering.
Some checks failed
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
There was a newline at the end of the last line on the third screen,
which was causing the label to not be centered vertically.
Removing it fixes the centering.
2025-05-19 21:49:46 +02:00
Titus
bb8923b56e
Center text on timer button (#2229)
Some checks failed
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
2025-05-16 23:01:19 +02:00
Max Friedrich
4e1ee90286
Remove the vibration while charging (#1768)
* DisplayApp.cpp: Remove the vibration from OnChargingEvent

This fixes a bug where the vibration interupts the physical connection with the charger and therefore triggers a new charging event and vibration, ending in a cycle of vibrations while charging.

* remove OnChargingEvent message from DisplayApp

---------

Co-authored-by: minacode <minamoto9@web.de>
2025-05-16 21:29:06 +02:00
Titus
85be83beab
Add background color to progress bar when flashing firmware (#2237)
Some checks failed
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
2025-05-15 20:46:25 +01:00
Max Friedrich
5b20e8e2ba
Simple calculator (#1483)
Some checks failed
CI / build-firmware (push) Has been cancelled
CI / build-simulator (push) Has been cancelled
CI / get-base-ref-size (push) Has been cancelled
CI / Compare build size (push) Has been cancelled
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>
2025-05-12 23:32:03 +01:00