11 Commits

Author SHA1 Message Date
Victor Kareh
f422929d8c weather: Add new app with forecast 2024-02-18 12:57:48 +01:00
Jean-François Milants
d29eb1ea99 Simple Weather Service - code cleaning and improvements
Remove unused Weather debug app.
Fix formatting in SimpleWeatherService.cpp.
2023-12-23 21:12:25 +01:00
Jean-François Milants
c94a59e7d3 SimpleWeather service : new weather implementation
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.
2023-12-23 21:12:25 +01:00
Jean-François Milants
473d9c4fa4 Fix code formatting 2023-11-19 21:13:55 +01:00
Jean-François Milants
63e0c4f4ef Application selection at build time
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.
2023-11-19 21:13:55 +01: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
cybuzuma
1062fec5f2
compiler warnings, #1035 and #notreported (#1481) 2022-12-12 22:28:39 +02:00
Avamander
c870f8ed30 Bunch of bugs fixed, improved error handling, debug UI addition 2021-12-04 22:03:40 +02:00
Avamander
ffb17357e7 Fixed a few compilation errors, fixed UUID. 2021-12-04 22:03:40 +02:00
Avamander
19c9667a3d Started initial work on the UI 2021-12-04 22:03:40 +02:00
Avamander
bda96dc595 Initial Weather service skeleton 2021-12-04 22:03:40 +02:00