1873 Commits

Author SHA1 Message Date
Jean-François Milants
ac50b00fc0 Add documentation about the new hardware abstraction design. 2023-01-04 15:20:45 +01:00
Jean-François Milants
89421de606 Refactor St7789 as a generic Display class. 2022-12-28 18:12:32 +01:00
Jean-François Milants
8b2c875f02 Refactor HRS3300 and Watchdog as a generic class. 2022-12-28 17:31:01 +01:00
Jean-François Milants
7d2ca5c63f Refactor BMA421 as a generic class that implements the concept IsMotionSensor. 2022-12-28 15:29:32 +01:00
Jean-François Milants
7d42c99e4d Split port/infinitime.h into multiple files.
SpiNorFlash : use the generic SPI driver instead of the NRF52 one.
2022-12-28 13:02:07 +01:00
Jean-François Milants
2094dbdab3 Refactor Cst816S as a generic class that implements the concept IsTouchPanel. 2022-12-28 12:22:39 +01:00
Jean-François Milants
ddcf491e2e Fix recovery firmware/loader. 2022-12-28 12:03:30 +01:00
Jean-François Milants
0fa32f3de0 Refactor TwiMaster as a generic class that implements the concept IsTwi. 2022-12-27 21:22:57 +01:00
Jean-François Milants
d8757c50ae Fix include paths, add missing new line at end of files, rename template types name with more explicit names 2022-12-27 15:17:39 +01:00
Jean-François Milants
2e1227fab2 This commit improves the hardware abstraction by integrating the Concepts features of C++20 for Spi, SpiMaster and SpiNorFlash.
The 'interface' of the drivers are defined in `Pinetime::Drivers::Interface::Spi`, `Pinetime::Drivers::Interface::SpiMaster` and `Pinetime::Drivers::Interface::SpiNorFlash`. The actual implementation will be injected via the template parameter `T`. T is required to conform to the corresponding concepts `IsSpi`, `IsSpiMaster` and `IsFlashMemory`.

This implementation should be practically free in terms of memory and cpu resource usage, but it provides way to implement multiple variations of the same driver. It also describes very clearly the interface of the drivers thanks to the concepts.

This will allow us to support more easily other hardwares : different SoC, different sensors and memory chips. It'll also make the implemenation of InfiniSim much easier.
2022-10-23 19:01:32 +02:00
Jean-François Milants
b56c5f25f0 Set version to 1.11. 2022-10-16 14:18:14 +02:00
Riku Isokoski
9b2221173c Use PageIndicator in CheckboxList 2022-10-16 10:31:41 +02:00
Jean-François Milants
d3ba184f30 Merge branch 'develop' of github.com:JF002/Pinetime into develop 2022-10-15 16:59:18 +02:00
Jean-François Milants
c9e836a02e G7710 and Infineat : close the files after having verified that they exist. 2022-10-15 16:52:55 +02:00
NeroBurner
4ab99d0d4b
CI: disable BUILD_RESOURCES for InfiniSim as already done in firmware (#1366) 2022-10-11 22:30:51 +02:00
Jean-François Milants
eb0af22ecf Watch face settings : disable watch faces that are not available (external resources are not installed). 2022-10-11 21:36:31 +02:00
Jean-François Milants
8c7be1fbb1 CheckboxList : fix formatting. 2022-10-11 21:16:33 +02:00
Jean-François Milants
4ec49bde8a CheckBoxList : rename newValue -> value. 2022-10-11 21:16:33 +02:00
Jean-François Milants
cf8b422899 Checkbox list now receives a function pointer to call when the setting has changed. This allow to remove the dependency between CheckBoxList (UI component) with SettingController. 2022-10-11 21:16:33 +02:00
Jean-François Milants
6dd67eb5a2 CI worklow "build-firmware" : add the infinitime-resources packages to the build artifacts. 2022-10-11 17:25:40 +02:00
Riku Isokoski
964f065de4 Fix clang-tidy warnings 2022-10-10 17:52:36 +02:00
Riku Isokoski
318a97c218 Fix docker issue 2022-10-10 17:52:36 +02:00
Riku Isokoski
73918ce8af Add clang-tidy check to display warnings on GitHub 2022-10-10 17:52:36 +02:00
mashuptwice
957f7d2ec3 fixed filename 2022-10-10 12:43:11 +02:00
mashuptwice
668820ef5a Edit all occurences of "watchface" to "watch face" 2022-10-10 12:43:11 +02:00
kieranc
0f1d0bbd1d
Fix button labels (#1361) 2022-10-06 16:00:35 +03:00
kieranc
a0089e4fd0
Fix steps style button label (#1358) 2022-10-06 08:24:03 +03:00
Jean-François Milants
81ad89d6bc Add missing screenshot about the external resources support in Amazfish. 2022-10-05 21:07:11 +02:00
Jean-François Milants
37155ecf65 Merge branch 'kieranc-pts-options' into develop 2022-10-02 18:30:54 +02:00
Jean-François Milants
738c012a73 Merge branch 'pts-options' of github.com:kieranc/InfiniTime into kieranc-pts-options
# Conflicts:
#	src/components/settings/Settings.h
2022-10-02 18:30:41 +02:00
Jean-François Milants
7b115fe42c Merge branch 'develop' of github.com:JF002/Pinetime into develop 2022-10-02 18:06:16 +02:00
Jean-François Milants
c9b1fb8244 Brightness management in DisplayApp : do not allow the brightness level OFF when loading app and going to running mode. Such issue could occur in case of inconsistent or corrupted settings. 2022-10-02 18:04:09 +02:00
Galdor Takacs
1439dfd912 motorController: Fix infinite vibration on RunForDuration(0) 2022-10-02 15:58:17 +02:00
Jean-François Milants
60abbf0639 Add doc about external resources. 2022-10-02 12:27:10 +02:00
Jean-François Milants
8f5df5385c Fix typo in Clock.cpp. 2022-10-01 21:11:58 +02:00
Jean-François Milants
f9f8d7eead Merge branch 'ITCactus-watchface-casio-digital-G7710' into develop 2022-10-01 21:11:05 +02:00
Jean-François Milants
d6b4ef38f6 Infineat & G7710 : always close files when they are not needed anymore. 2022-10-01 21:03:28 +02:00
Jean-François Milants
9bf43c380e Fix typo in Clock.cpp. 2022-10-01 19:49:41 +02:00
Jean-François Milants
d3363baf69 Do not save settings in CheckboxList. This will be done by the caller. 2022-09-28 21:45:52 +02:00
Jean-François Milants
26af507e16 G7710 : free fonts in dtor(). 2022-09-28 21:09:00 +02:00
minacode
79728730d7 fix typo 2022-09-28 20:53:02 +02:00
Jean-François Milants
fbe964ff44 Merge branch 'watchface-casio-digital-G7710' of 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
2022-09-27 21:59:22 +02:00
JF
63932810d2
Merge pull request #1024 from dmlls/infineat-pr
Infineat Watchface + support for external resources.
2022-09-27 21:27:36 +02:00
Jean-François Milants
58586d0ad1 Fix formatting in CheckBoxList.cpp. 2022-09-27 21:10:01 +02:00
Jean-François Milants
2400110900 CheckBoxList : remove unused constant MAXLISTITEMS (replaced by MaxItems). 2022-09-27 21:04:40 +02:00
Reinhold Gschweicher
f699261ca3 AlarmController: add const to SecondsToAlarm() function
The function `SecondsToAlarm()` doesn't change anything in the
`AlarmController` object. Mark the function `const` to show this
property.
2022-09-27 20:32:13 +02:00
Jean-François Milants
56f315b94a A few minors changes following the code review : rename fs -> filesystem, use std::array instead of raw array,... 2022-09-27 18:06:15 +02:00
JF
30e8353a4f
Merge pull request #1272 from mashuptwice/workflow-ignore-md
Workflow ignore *.md files
2022-09-17 21:33:43 +02:00
Akseli
b546facaf1 Update src/displayapp/screens/WatchFacePineTimeStyle.cpp
Co-authored-by: NeroBurner <pyro4hell@gmail.com>
2022-09-17 21:32:43 +02:00
Akseli
90278b54d1 Update src/displayapp/Colors.cpp
Co-authored-by: NeroBurner <pyro4hell@gmail.com>
2022-09-17 21:32:43 +02:00