Commit graph

179 commits

Author SHA1 Message Date
apilat a6cd3679eb Only inhibit sleep if motion notifications are enabled, not just Bluetooth 2024-01-23 14:58:21 +01:00
Jean-François Milants b4ff1f9ca2 Simple Weather Service : Fix timestamp
In the documentation, specify that the timestamp is expressed in seconds from epoch (instead of nanoseconds).
SimpleWeatherService now uses "localtime" (GetCurrentDateTime()) instead of UTC time.
2024-01-04 13:00:01 +01:00
FintasticMan c04813b6d3 weather: Add function for temperature in Fahrenheit 2023-12-23 21:42:16 +01:00
Jean-François Milants ca7d8a668d Simple Weather Service
Fix ToUInt64() in SimpleWeatherService.cpp.
Fix typo in SimpleWeatherService.md.
2023-12-23 21:12:25 +01:00
Jean-François Milants 6f83a3bade Simple Weather Service
Fix code formatting.
2023-12-23 21:12:25 +01:00
Jean-François Milants e5b73212f6 Simple Weather Service
Store temperatures as int16_t (instead of uint8_t previously). The temperature is expressed in °C * 100.
2023-12-23 21:12:25 +01:00
Jean-François Milants ef2c431569 Simple Weather Service
Code improvements : icon fields are now typed as Icons, move the location string when creating a new instance of CurrentWeather, fix SimpleWeatherService::CurrentWeather::operator== (location was missing from the comparison).
2023-12-23 21:12:25 +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 3a8c7dc038 Simple Weather Service - code cleaning and improvements
Add missing icons (heavy clouds, thunderstorm, snow).
Remove unneeded comparison operator (!=), improve conversion of Timestamp and MessageType, order includes.
Fix typo in documentation.
Remove not related change in StopWatch.
2023-12-23 21:12:25 +01:00
Jean-François Milants fe4b07c610 Simple Weather Service : fix out of bounds access while creating Forecast instance. 2023-12-23 21:12:25 +01:00
Jean-François Milants 50c679023f SimpleWeather service : new weather implementation
Fix recovery firmware and code formatting.
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
FintasticMan eac460f030
weather: Fix GetCurrent* functions returning future events (#1879) 2023-10-06 19:54:20 +02:00
Max Friedrich 39d5b5c3a2
NotificationManager.h: Reorder notification struct fields to allow easier creation. (#1774)
This commit changes the order for the notification struct fields to allow the creation of notifications using a string literal.
```cpp
NotificationManager::Notifiation notification {
  "String literal with notification text",
  42,
  NotificationManager::Categories::SimpleAlert
};
```

Co-authored-by: minacode <minamoto9@web.de>
2023-07-09 14:39:38 +02:00
Riku Isokoski 0a4f015783 WeatherService: const DateTimeController reference 2023-03-19 12:41:01 +02:00
Riku Isokoski 829ab86f37 HeartRateService: Remove SystemTask dependency 2023-03-19 12:41:01 +02:00
Riku Isokoski 7c98f26f12 MotionService: Remove SystemTask dependency 2023-03-19 12:41:01 +02:00
Riku Isokoski ca5e7d1adf NavigationService: Remove unused SystemTask ref 2023-03-19 12:41:01 +02:00
Riku Isokoski 7e15a1e340 WeatherService: Remove unused SystemTask reference 2023-03-19 12:41:01 +02:00
Riku Isokoski c7a9b3d7d3 MusicService: Remove SystemTask dependency 2023-03-19 12:41:01 +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 a3e14c012d src: Enable unused parameter warning
Fix warnings.
Some clang-formatting was necessary.
DebugPins is unused and was removed.
2023-01-24 10:43:17 +02:00
Finlay Davidson 96165a8541 Format header files
In my PR updating clang-format, I forgot to also format the headers.
2023-01-09 21:41:21 +01:00
Finlay Davidson eda96ffadc Update clang-{format,tidy} to 14
Also add configuration options only available in 13 and 14.
Fixes warning about -fstack-usage in clang-tidy check.
2023-01-04 17:15:33 +01:00
Riku Isokoski afea7ca0d1
Update clang-tidy configuration and fix some warnings (#1474)
Don't enable coding conventions from unrelated projects. Only enable
generic checks.
2022-12-18 18:14:36 +01:00
uli 02116a2fd4 BLE CTS: fixed signedness of timezone 2022-11-25 20:14:26 +01:00
kieranc f1d2a8ee50
WeatherService daily min/max temperature fixes (#1455)
* Min/Max function fixes
* Faster way to calculate day start
2022-11-25 18:45:33 +01:00
uli 38092fcb40 add CTS local time characteristic and use it to provide UTC in DateTimeController 2022-11-11 21:44:00 +01:00
mashuptwice 668820ef5a Edit all occurences of "watchface" to "watch face" 2022-10-10 12:43:11 +02:00
Simon Willshire 2c75e7aad8 Dismiss notifications by swiping right
Add a new interface `NotificationManager::Dismiss(id)` to delete a
notification with the specified `id`.

The animate the notification dismiss the `RightAnim` transition to a
black screen is used. After the dismiss the new message is swiped in
from below or above.

If we dismiss the oldest message (when we are at 5/5, or 3/3), then the
new message after a dismiss should appear to come from below.

Otherwise (when we are at 2/3) the new message after a dismiss should
appear to come from above.

Rework the index code to show the index of the currently viewed
notification. Instead of calculating the index relative to the oldest
`id` introduce a new interface `NotificationManager::IndexOf(id)`. This
is done because the `id` of the notifications in the buffer aren't
continuous anymore (as some messages could have been dismissed).

Rework notification ring buffer to have a beginIdx and a size
internally to make the dismissal of notifications easier.

Fixes: https://github.com/InfiniTimeOrg/InfiniTime/issues/176

Co-authored-by: Simon Willshire <me@simonwillshire.com>
Co-authored-by: Reinhold Gschweicher <pyro4hell@gmail.com>
2022-06-28 18:50:10 +02:00
luz paz 03a510bd18 Fix various typos
Found via `codespell -q 3 -S ./src/libs -L ans,doubleclick,trough`
2022-06-05 09:31:23 +03:00
Finlay Davidson 7f45538eb5 Apply clang-format to all C++ files 2022-06-05 09:15:46 +03:00
Finlay Davidson 718fbdab98 Replace C-style casts with static_cast 2022-06-05 09:15:46 +03:00
Riku Isokoski b6807ee3ca Make functions const again 2022-04-25 15:51:12 +03:00
Riku Isokoski 34858d0a6c Update track progress in MusicService. Fix #127 2022-04-25 15:51:12 +03:00
Max Friedrich f84a0a3897
Merge branch 'develop' into remove-nm-reference 2022-04-19 00:40:29 +02:00
Jean-François Milants a8b7fbe48b New changes according to the review : Priority 0 for display, 1 for system, timer and ble host, and 2 for ble LL 2022-03-21 20:53:46 +01:00
Jean-François Milants 88197b6632 Music app : when title/track name are truncated, add an ellipsis at the end of the strings. 2022-03-21 20:53:15 +01:00
Jean-François Milants f973f1c12c Add missing space in if expression. 2022-03-21 20:53:15 +01:00
Jean-François Milants df61907073 Limit the size of the track and album name received by MusicService. This should work around this bug : https://github.com/InfiniTimeOrg/InfiniTime/issues/825 and prevent heap over-allocation. 2022-03-21 20:53:15 +01:00
Reinhold Gschweicher 5fe5cee9ef Add missing nrf_log.h includes shadowed by SystemMonitor.h
Some components were missing a `nrf_log.h` include. This missing
include was accidentally provided by the SystemMonitor.h header, which
was included by Systemtask.h
2022-03-08 20:28:54 +01:00
Jean-François Milants ef44b763d9 Merge branch 'airplane-mode' of https://github.com/evergreen22/InfiniTime into evergreen22-airplane-mode
Apply a few changes that were requested in the PR during the review.

# Conflicts:
#	src/CMakeLists.txt
#	src/displayapp/Apps.h
#	src/displayapp/DisplayApp.cpp
#	src/displayapp/Messages.h
#	src/displayapp/screens/settings/Settings.cpp
2022-02-20 15:40:49 +01:00
Jean-François Milants 40cdb54772 Merge branch 'airplane-mode' of https://github.com/evergreen22/InfiniTime into evergreen22-airplane-mode
# Conflicts:
#	src/CMakeLists.txt
#	src/displayapp/Apps.h
#	src/displayapp/DisplayApp.cpp
#	src/displayapp/Messages.h
#	src/displayapp/screens/settings/Settings.cpp
2022-02-20 15:25:24 +01:00
minacode a1db9fca13 remove unused reference 2022-02-16 13:34:14 +01:00
Zorvalt d967efa197 Fix biased BLE pass key generation 2022-02-12 18:44:05 +01:00
James A. Jerkins 319030d9e1 Add airplane mode feature
Implements 'Airplane mode' feature to disable and enable bluetooth/ble
Adds airplaneMode as a non-persisted setting
Adds a setting menu for switching airplane mode on and off
Displays an airplane symbol on the Digital watch face and the
    PineTimeStyle watch face when airplane mode is enabled
Always enables bluetooth/ble on boot (disable airplane mode)
Alphabetizes the settings menu options
Style cleanups

Closes #632
2021-12-23 20:30:14 -06:00
James A. Jerkins eca0588c23 Optional secure pairing with a passkey
Support passkey pairing when requested by the central
Fix a comment and reorder warning
2021-12-21 16:02:01 -06:00
Tim Keller 1470489e7b Fix Failed rebase. 2021-12-10 01:49:03 +00:00
Tim Keller 0a0d1f2703 Fix more initializers 2021-12-10 01:18:57 +00:00