Commit Graph

839 Commits

Author SHA1 Message Date
tofasthacker
3bb0ac29e2 Switched TestApp for calculator app 2023-09-23 14:17:56 -04:00
tofasthacker
329e42c5d4 added TestApp 2023-09-23 13:33:35 -04:00
e334735697 Added swipe left to show music controls and a green $ to the prompt in terminal watch face 2023-09-20 16:12:14 -04:00
JF
0aead42fdf
navigation: Add is available (#1847)
Navigation app now needs 2 images to be loaded from the resources on the external filesystem. This PR adds an 'enabled' field to the Applications struct. This field is true for all applications expect for Navigation which calls Navigation::IsAvailable(). This methods returns true if the 2 files are available in the resources.

The application list disables the application (draws it in grey, disables the touch callback) if the enable flag is not set.
2023-09-02 19:43:39 +02:00
JF
44d1798f4f
navigation: Move font to external memory (#1838)
The TTF font used by the navigation app is ~20KB and is stored in internal flash memory.
To free this space, the TTF font is now converted in 2 "atlas pictures" (pictures that contain multiple concatenated images) stored in the external flash memory. The navigation app now accesses one of those 2 files and apply an offset to display the desired picture.

The corresponding documentation has also been updated.

Add comments about the layout of the pictures that contain the icon and about the indexing of those icons.

In documentation (buildAndProgram.md), edit the section about the debug compilation mode. Remove the part about removing the Navigation app to free some memory (since it's not relevant anymore) and explain how to selectively build parts of the firmware in Debug mode.
2023-09-02 19:41:51 +02:00
FintasticMan
0f9f606b78
lowersleep: Implement Lower to Sleep functionality (#827) 2023-08-27 18:15:21 +02:00
Max Friedrich
6d0d8c7d63
watchfaceanalog: Background in lvgl (#1824)
* 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>
2023-08-15 13:01:17 +02:00
Timothy
473a0795d6 Fix Typo
label_battery_vallue > label_battery_value
2023-06-17 17:44:28 +02:00
kieranc
94f41258d5
PineTimeStyle weather display (#1459)
Weather display for PineTimeStyle

Documentation : https://wiki.pine64.org/wiki/PineTimeStyle and https://wiki.pine64.org/wiki/Infinitime-Weather
2023-06-04 16:52:31 +02:00
Jean-François Milants
8abfd25a6c Fix code formatting 2023-05-18 19:58:09 +02:00
Jean-François Milants
611e0ff768 Enable malloc error and stack overflow error detection in FreeRTOS. Count them and display them in the SystemInfo app. 2023-05-18 19:58:09 +02:00
Max Friedrich
020a7fd11d
Refactor watch face to enum (#1339)
change watch face from int to enum

---------

Co-authored-by: minacode <minamoto9@web.de>
2023-04-30 17:03:46 +02:00
JF
5f19f689f9
Refactor, document and fix the Watchdog driver (#1710)
* Refactor and document the Watchdog driver to make it more readable.

Fix the configuration of the behaviours configuration that was not properly implemented (but it didn't cause any side effect since the correct value was eventually set in NRF_WDT->CONFIG).

Fix the wrong interpretation of the reset reasons caused by implicit conversions of int to bool.
2023-04-30 15:56:13 +02:00
Riku Isokoski
40f7e1c7be TimerController: Rename to Timer 2023-04-16 14:33:23 +00:00
Riku Isokoski
661ffbeb1e TimerController: Make TimerController reusable
TimerController instance was moved to DisplayApp.
2023-04-16 14:33:23 +00:00
Riku Isokoski
348d3de60b Watchfaces: Assume motionsensor is ok
The watch face shouldn't and doesn't start before the sensor is ready.
2023-04-16 14:15:49 +00:00
Finlay Davidson
e4a6f6ad77 fonts: Make patching silent
The generate script should only output anything if there are errors.
2023-04-16 15:57:18 +02:00
fossison
d472a71078
stopwatch: Add hours tracking (#1692)
Stopwatch application : add hours tracking

---------

Co-authored-by: fossison <fossison@mailbox.org>
Co-authored-by: Jean-François Milants <jf@codingfield.com>
2023-04-16 15:55:49 +02:00
Riku Isokoski
56fe2e4c43 WatchFaceTerminal: Simplify time update check 2023-04-02 18:19:10 +00:00
Riku Isokoski
d251a47828 WatchFaceG7710: Simplify time update check 2023-04-02 18:14:42 +00:00
Riku Isokoski
8d089b1429 WatchFaceInfineat: Simplify time update check 2023-04-02 18:07:29 +00:00
Riku Isokoski
c5c3e81e15 WatchFaceDigital: Simplify update check 2023-04-02 17:56:51 +00:00
Finlay Davidson
616aa91b4c dirtyvalue: Move to src/utility 2023-03-27 22:12:32 +00:00
Finlay Davidson
47931f41d5 staticstack: Move to src/utility 2023-03-27 22:12:32 +00:00
Riku Isokoski
310ea81eec inactivity: Use LVGL inactivity timers
Replace custom FreeRTOS inactivity timers with LVGL inactivity timers.

DisplayApp: Trigger display activity on timer done.

inactivity: Add additional checks
The backlight could be turned on by RestoreBrightness() on ble connect
event.

inactivity: Trigger activity on screen switch

A notification timing out could put the watch to sleep immediately.
While this could be ideal behaviour, it was caused by delay in
processing the EnableSleeping event and pushing RestoreBrightness to
DisplayApp.
2023-03-18 01:15:33 +02:00
Riku Isokoski
11ade64166 WatchFaceAnalog: Simplify date update check 2023-03-15 08:30:03 +02:00
Finlay Davidson
f993311830 shakewake: Fix names according to style guide 2023-03-09 10:17:03 +02:00
kieranc
ada182336f
PTS: Fix double tap behaviour on settings screen (#1669)
Fixes #1467 "Double tapping PineTimeStyle steps style button sends watch to sleep"
Double tap is disabled on the color settings screen by checking if the Rnd button is visible, but this didn't work for the options screen as the Rnd button isn't visible. I've changed it to check if the Close button is visible instead, which is used on both settings screens, and resolves the bug. I also changed the button used to disable the long press behaviour which was an as-yet-undiscovered bug which would have allowed the long press action to be used when the options screen was visible.
2023-03-04 09:16:10 +02:00
Riku Isokoski
08b4cfbb50 Add low battery indicator to StatusIcons, digital and analog watchfaces
Define deepOrange color in InfiniTimeTheme
2023-03-02 13:38:31 +02:00
Riku Isokoski
fff0a00a4a Revert "added low battery message"
This reverts PR https://github.com/InfiniTimeOrg/InfiniTime/pull/1352
2023-03-02 13:38:31 +02:00
Jean-François Milants
9bbd2ddbc4 LVGL / FS : Initialize the LVGL FS driver in LittleVgl (instead of FS).
Previously, the LVGL driver for the filesystem was initialized in the class FS. However, since 6f942e2, the order of the initializations was incorrect  : the driver was initialized (FS::LVGLFileSystemInit()) before LVGL (LittleVgl.Init()), which means that the driver registration was probably dropped when LVGL was initialized.

The LVGL driver is now initialized in LittleVgl.Init(), which seems to make much more sense, since all LVGL drivers are initialized there. This way, we ensure that the initialization of the drivers is consistent.
2023-02-26 22:10:03 +02:00
Riku Isokoski
ce2277cbca infineat: Create colors at compile time.
lv_color_hex can't be evaluated at compile time, but LV_COLOR_MAKE can.
2023-02-26 19:53:14 +02:00
Riku Isokoski
77f9f6d6fd Apps: Remove Weather from app enum
Weather app is not fully implemented and is causing a warning
2023-02-26 19:32:30 +02:00
Riku Isokoski
a5eac74fb5 motion: Disable Motion app
This is a debugging app, not useful for most people.
Also remove the app icon.
2023-02-25 18:06:37 +02:00
Riku Isokoski
0d074ee6e9 screens: Add notes about using C++20 features 2023-02-25 17:44:06 +02:00
Riku Isokoski
8baa317e7e date: Remove date lib
DateTimeController can provide everything we need.
2023-02-25 17:44:06 +02:00
Riku Isokoski
b63bb798ac DateTimeController: Remove SetTime tick parameter
The systick doesn't need to be updated when setting time.

Also removed unused nrf_rtc.h includes.
2023-02-25 17:22:25 +02:00
Riku Isokoski
eccea5ab9f SystemTask: Move lcd to DisplayApp
SystemTask should never write to the lcd
2023-02-25 16:58:31 +02:00
Riku Isokoski
6f942e20ed LittleVgl: Instantiate in DisplayApp
LVGL is only a part of the main DisplayApp. Other "DisplayApps" can be
implemented without LVGL.

DummyLittleVgl isn't needed anymore and has been removed
2023-02-25 16:58:10 +02:00
Riku Isokoski
ff34cf196e watchdog: Replace WatchdogView with const Watchdog 2023-02-25 16:57:12 +02:00
Riku Isokoski
26478d9006 screens: Remove unused DisplayApp parameters 2023-02-25 16:56:03 +02:00
Riku Isokoski
c78211952e screens: Remove explicit Screen constructors
This constructor didn't do anything since DisplayApp reference was
removed from the Screen base class.
2023-02-25 16:56:03 +02:00
Riku Isokoski
7c7a8602c4 screens: Remove displayapp parameter from screen
The DisplayApp class isn't used in the Screen base class and most
screens, so requiring it is pointless.

In this commit, DisplayApp pointers were added to screens which use it
and the explicit Screen constructor was removed in those screens.
2023-02-25 16:56:03 +02:00
Riku Isokoski
5ab255b26b SystemTask: Move MotorController to DisplayApp
Vibrations should be associated with something happening on the UI.
Therefore SystemTask should not be controlling the motor.
2023-02-25 12:15:00 +02:00
Riku Isokoski
255b07094b displayapp: Make Ble references const 2023-02-24 17:41:41 +02:00
Riku Isokoski
76f07de64b displayapp: Make Cst816S references const 2023-02-24 17:41:41 +02:00
Riku Isokoski
1c4b97382a displayapp: Make Battery class references const 2023-02-24 17:41:41 +02:00
Riku Isokoski
1516b082fd TouchHandler: Do not store touch panel reference 2023-02-24 00:05:21 +02:00
Riku Isokoski
7066ff5aba touchhandler: Remove LVGL dependency
Move LVGL specific code to the LittleVgl class
2023-02-24 00:05:21 +02:00
Riku Isokoski
0d494136c9 LittleVgl: Remove unused Cst816S reference 2023-02-23 23:43:24 +02:00