Avamander
be7931c4fb
Whoops, fixed a wrong type
2021-12-04 22:03:40 +02:00
Avamander
154e3d27ad
Added a few helper functions
2021-12-04 22:03:40 +02:00
Avamander
797b60397c
Improved documentation
2021-12-04 22:03:40 +02:00
Avamander
e0133cec36
Improved documentation
2021-12-04 22:03:40 +02:00
Avamander
ffd6c3f095
Removed an instance of shadowing
2021-12-04 22:03:40 +02:00
Avamander
b72c6a5bc9
Clarified a few comments
2021-12-04 22:03:40 +02:00
Avamander
9525fc4273
Specified how values should be interpreted better
2021-12-04 22:03:40 +02:00
Avamander
abbfb92fa2
Added new precipitation and obscuration types
2021-12-04 22:03:40 +02:00
Avamander
75cf5324ba
Fixed an incorrect decode in Humidity
2021-12-04 22:03:40 +02:00
Avamander
9108952e6b
Implemented parsing of all defined weather data types
2021-12-04 22:03:40 +02:00
Avamander
06b022fc4d
Improved UI and fixed a bug
2021-12-04 22:03:40 +02:00
Avamander
c870f8ed30
Bunch of bugs fixed, improved error handling, debug UI addition
2021-12-04 22:03:40 +02:00
Avamander
48beb7c3b1
Improved error handling and fixed incompatibility with co.nstant.in:cbor library
2021-12-04 22:03:40 +02:00
Avamander
900598a7ee
Removed versioning because it's not necessary
2021-12-04 22:03:40 +02:00
Avamander
657dc3a9ba
Changed UUID so it wouldn't conflict with Motion
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
ed6f0aade4
Implemented a few functions.
2021-12-04 22:03:40 +02:00
Avamander
0ed256ba15
Few formatting fixes
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
3a09b3614c
Brace style and whitespace fixes
2021-12-04 22:03:40 +02:00
Avamander
4b2dcbb4f0
Fixed a few bugs, enabled UsefulBuf library optimizations
2021-12-04 22:03:40 +02:00
Avamander
4349657f79
Minor style improvement
2021-12-04 22:03:40 +02:00
Avamander
6e16584816
Skeleton of the receiving logic
2021-12-04 22:03:40 +02:00
Avamander
bda96dc595
Initial Weather service skeleton
2021-12-04 22:03:40 +02:00
JF
583c7ee22f
Merge branch 'develop' into motionservice_fix_typo_in_include
2021-11-28 13:59:09 +01:00
Jean-François Milants
298f0f4335
Merge branch 'restructure_includes' of https://github.com/NeroBurner/InfiniTime into NeroBurner-restructure_includes
...
# Conflicts:
# doc/contribute.md
# src/displayapp/screens/BatteryInfo.h
2021-11-28 13:53:03 +01:00
Reinhold Gschweicher
241d36471d
Move up file header include to top
2021-11-15 22:02:49 +01:00
Reinhold Gschweicher
f2918709d9
Add missing standard includes
2021-11-15 22:02:49 +01:00
Reinhold Gschweicher
ac7b2da611
Update includes to to be relative to src directory
...
Don't use relative imports like `../foo.h` as those depend on the
relative position of both files. Rather than that use imports relative
to the `src` directory, which explicitly is part of the include
directories.
2021-11-15 22:02:49 +01:00
mabuch
a631fa3518
fix Motion Service UUID in doc and code comments
2021-11-15 20:41:32 +01:00
Reinhold Gschweicher
f9613d28c0
MotionService: fix not needed '/' in include
2021-10-30 22:51:49 +02:00
Jean-François Milants
71ce13d309
Motion service : fix step notifications that were sent as a single byte instead of 4 (uint32_t).
2021-10-26 20:31:18 +02:00
Jean-François Milants
b3a8228899
Add mention to Call characteristic (which was missing in the doc) and change the UUID of the new Motion service from 00020000-* to 00030000-*.
2021-10-20 20:52:04 +02:00
Jean-François Milants
2c5015add7
Enable/disable notifications for motion service.
2021-10-17 08:42:49 +02:00
Jean-François Milants
60a49af886
Add MotionService : expose step count and RAW X/Y/Z values to the host.
2021-10-17 08:23:44 +02:00
Jean-François Milants
d1f50157c7
MotionService : fix typo and characteristic array size + send notification only if the host subscribed to them.
2021-10-17 08:23:01 +02:00
JF
0ca018b309
Merge pull request #522 from jonvmey/fix-nav-uuid-docs
...
Fix Navigation Service UUID docs
2021-10-09 19:58:24 +02:00
JF
f99f71cc6e
Merge pull request #524 from jonvmey/ble-uuid-c-casts
...
Remove unnecessary C-style casts with BLE UUIDs
2021-10-09 19:53:41 +02:00
Tim Keller
dafdf33062
Remove static declartion on batteryValue preventing read attribute from updating.
2021-10-02 03:22:12 +00:00
Riku Isokoski
93d240a23b
Merge branch 'develop' into disable_notif_only
2021-09-14 23:38:42 +03:00
Riku Isokoski
40765f1173
Merge branch 'develop' into disable_notif_only
2021-09-13 21:22:53 +03:00
Jean-François Milants
9afa412a2a
Merge branch 'refactor_adv' of https://github.com/evergreen22/InfiniTime into evergreen22-refactor_adv
...
# Conflicts:
# src/components/ble/NimbleController.cpp
2021-09-13 20:22:27 +02:00
Tim Gates
84a93b5441
docs: Fix a few typos ( #606 )
...
* docs: Fix a few typos
There are small typos in:
- doc/versioning.md
- src/components/ble/NimbleController.cpp
- src/libs/mynewt-nimble/CODING_STANDARDS.md
- src/libs/mynewt-nimble/docs/btshell/btshell_GAP.rst
- src/systemtask/SystemTask.cpp
Fixes:
- Should read `milliseconds` rather than `miliseconds`.
- Should read `unnecessary` rather than `uncesseray`.
- Should read `target` rather than `tharget`.
- Should read `project` rather than `projct`.
- Should read `preferred` rather than `prefered`.
- Should read `functioning` rather than `functionning`.
- Should read `forever` rather than `forver`.
- Should read `existing` rather than `exisiting`.
2021-09-13 20:02:53 +02:00
Riku Isokoski
3ee4876214
Toggle notifications only, keep vibrations.
2021-09-12 11:08:25 +03:00
James A. Jerkins
22571d4b38
Advertise fast for at least 30 secs then slow down
...
On power up, advertise aggressively for at least 30 seconds then switch
to a longer interval to conserve battery life. This fast/slow pattern
is designed to balance connection response time and battery life.
When a disconnect event is received restart the fast/slow pattern.
When a failed connect event is received, restart the fast/slow pattern.
When the screen is activated and ble is not connected, restart the fast/slow pattern.
This pattern is consistent with Apple's BLE developer standards (QA 1931).
2021-09-05 15:53:20 -05:00
James A. Jerkins
4820b2ffe8
Revert "Linear decrease of advert rate to conserve battery"
...
This reverts commit c32ba844e0
.
2021-09-05 15:52:01 -05:00
James A. Jerkins
c32ba844e0
Linear decrease of advert rate to conserve battery
...
Start advertising aggressively when powered on then
slow down linearly over 75 seconds. This will conserve
battery by not advertising rapidly the whole time we
are seeking a connection. The slowest rate is
approximately once every 4.5 seconds to balance
responsiveness and battery life.
We use a fixed advertising duration of 5 seconds and start
with a 62.5 ms advertising interval. Every 5 seconds
(the advertising duration) we step up to a larger
advertising interval (slower advertising). We continue
to increase the advertising interval linearly for
75 seconds from the start of advertising. At 75 seconds
we have an advertising interval of 4.44 seconds which we
keep until connected. A reboot will restart the sequence.
When we receive a disconnect event we restart the sequence
with fast advertising and then slow down as described above.
Note that we are not using the BLE high duty cycle setting to
change the advertising rate. The rate is managed by repeatedly
setting the minimum and maximum intervals.
The linear rate of decrease and the slowest interval size
were determined experimentally by the author. The 5.3 Core
spec suggests that you not advertise slower than once
every 1.2 seconds to preserve responsiveness but we
ignored that suggestion.
2021-09-04 15:57:07 -05:00
James A. Jerkins
3e1fe687b8
Fix styles issues - no change to functionality
2021-09-01 22:50:56 -05:00
James A. Jerkins
d69a8e84fa
Fix race condition, connect->disconnect->discovery
2021-09-01 22:48:01 -05:00
James A. Jerkins
00a3f84ea7
Completely reset connection state on fail
2021-08-30 23:17:16 -05:00
James A. Jerkins
be31f417db
WIP Refactor ble advertising
...
Refactor ble advertising based on ble standards and conventions.
Changes are based on the bleprph example code, bluetooth docs, and nimble docs.
2021-08-29 15:50:04 -05:00
Jonathan Vander Mey
7cc73b7832
Move callback function into anonymous namespace
2021-07-24 13:02:43 -04:00
Jonathan Vander Mey
487ae478ad
Remove unnecessary C-style casts with BLE UUIDs
...
Instead of casting the UUID object to the ble_uuid_t* used throughout
the NimBLE API just pass the address of the ble_uuid_t member that's at
the start of each of the UUID structs.
2021-07-24 11:40:06 -04:00
Jonathan Vander Mey
1bdaf581a3
Update nav service UUID macro to constexpr functions
2021-07-24 11:18:17 -04:00
Jonathan Vander Mey
6b95fd841f
Set navigation service id is base UUID macro
...
Avoids the need to copy the same ID into every characteristic UUID
genereated from it.
2021-07-24 11:09:56 -04:00
Jonathan Vander Mey
54ccd2cc07
Update Navigation UUID documentation
...
Fixed mismatch between the service and characteristic IDs in the
navigation service comments and documentation. They had old values not
reflecting the current code and changes in doc/ble.md
2021-07-24 11:07:06 -04:00
Riku Isokoski
0a0f28fff4
Make firmware updating more foolproof ( #469 )
...
* Make firmware updating more foolproof and fix bugs
* No need to manually handle overflow
* Make startTime TickType_t
* Don't process TouchEvents::None
* Fix sleep getting re-enabled issue more directly
2021-07-22 21:57:45 +02:00
Jean-François Milants
e21f6a7f41
Notify battery level every 10 minutes when connected to a BLE host.
...
Refactor battery percent : only use uint8_t to store the battery % remaining.
2021-07-11 16:55:06 +02:00
Jonathan Vander Mey
8031cd1b40
Inititialize members in class declaration
...
Also added initializers for previously unintialized members.
2021-07-02 17:47:14 +02:00
Jonathan Vander Mey
d13b0a7ec5
Move local-only function into anonymous namespace
2021-07-02 17:47:14 +02:00
Jonathan Vander Mey
4217a8cb65
Make MusicService UUID objects static constexpr
2021-07-02 17:47:14 +02:00
Jonathan Vander Mey
e28516002b
Eliminate reinterpret_casting
2021-07-02 17:47:14 +02:00
Neil O'Fix
0045fb16b6
SPI flash sleep if bootloader >= 1.0.0 ( #322 )
...
* Retrieve and display bootloader version
- Display bootloader version on System Info screen
- Enable SPI flash sleep mode if bootloader version >= 1.0.0
* Wait for SPI flash to wakeup before starting OTA DFU
2021-06-26 20:53:32 +02:00
JF002
a1b3537e9e
Merge pull request #359 from Avamander/patch-2
...
Used a macro for UUID generation, switched from C-style casts to reinterpret_cast, renamed callback
2021-06-12 13:18:12 +02:00
Jean-François Milants
7f9cc51b05
Initialize SystemTask, DisplayApp and HeartRateTask as global static variable instead of variables on the heap. We don't need them on the heap as we know their size at build time, it'll reduce memory fragmentation and it'll make memory analysis easier.
2021-06-06 15:56:03 +02:00
Avamander
8568b5f31b
Updated license header year
2021-05-17 02:16:50 +03:00
Avamander
f6f28a95f6
Used a macro for UUID generation, switched from C-style casts to reinterpret_cast, renamed callback
2021-05-17 02:08:12 +03:00
Avamander
6989854519
Changed access modified indentation
2021-04-24 12:00:45 +03:00
Avamander
40d45d923b
Reformatted all the files according to clang-format style
2021-04-24 11:39:53 +03:00
Jean-François Milants
63584b6561
Merge branch 'develop' into notification-title
...
# Conflicts:
# src/displayapp/screens/Notifications.cpp
2021-04-09 20:47:24 +02:00
Jean-François Milants
f8b9a7c060
Fix music app :
...
- Enable LVGL animation (and disable groups, which were not used), and set the speed.
- Fix disc animation and progress display by initializing lastIncrement at 0 (a random value will be used otherwise, in release build)
2021-04-04 17:19:41 +02:00
Jean-François Milants
3934e9bef2
Ignore notification with empty message.
2021-04-04 15:19:37 +02:00
Jean-François Milants
03de1c6739
Add support for notification title. The notification buffer must contain the title and the message separated by a '\0' character.
...
If the buffer does not contain any \0, the whole buffer is considered to be the message of the notification. A default title will be displayed in the notification app.
2021-04-04 12:10:47 +02:00
JF002
97a1c4b3d7
Merge pull request #182 from petterhs/warnings
...
Fix build warnings coming from HR implementation
2021-02-14 14:25:38 +01:00
Jean-François Milants
5fdfb2112e
Fix merge conflict.
2021-02-14 14:19:30 +01:00
JF002
4c3803450e
Merge pull request #161 from petterhs/calls
...
Call functionality with changed UUID for notification event characteristic
2021-02-14 12:03:49 +01:00
petter
1e2cc3ce91
add vibration toggle
2021-02-07 13:31:02 +01:00
Jean-François Milants
d90b7274fa
Update to nimble 1.3 master branch commit 82153e744833821e20e9a8b0d61c38b2b0dbcfe1
...
WARNING : heartbeat task is disabled!
2021-02-02 22:09:00 +01:00
petter
d4c31bcbbe
add mute button and functionality for call notification + new button icons
2021-01-27 17:07:46 +01:00
petter
169b861af1
fix build warnings in HR implementation
2021-01-25 14:53:44 +01:00
Jean-François Milants
219bafb01a
Handle call notification the same way than other notifications.
...
Display the call notifications in the Notification app, with buttons to accept/reject the call.
2021-01-24 17:22:39 +01:00
petter
6d76dbc911
change Notification Event base UUID
2021-01-21 23:36:17 +01:00
petter
2d90571f0d
change Notification Event UUID
2021-01-21 23:15:34 +01:00
Rasmus Schenstrom
10ba20876f
Add incoming call functionality
...
Add categories to AlertNotification
Add new alert notification screens bases
Add Incoming Call
Add Modal
Add event to AlertNotification
Co-authored-by: Robin Karlsson <robin.karlsson@protonmail.com>
2021-01-21 23:15:29 +01:00
Jean-François Milants
522a1eb0be
Merge branch piggz/nav into develop:
...
- fix conflict
- add a icon for the navigation app.
2021-01-20 21:34:09 +01:00
JF002
a0f2fa8469
Merge pull request #169 from JF002/heartRateSensor
...
Heart rate sensor
2021-01-20 20:11:56 +00:00
Jean-François Milants
ba03372f3b
Music UUID must start with 00000000 instead of 00010000 (copy/paste error)
2021-01-19 21:38:53 +01:00
Jean-François Milants
ccbe2e8e1b
Adapt the UUID of Music service according to new guidelines.
2021-01-19 21:27:44 +01:00
Jean-François Milants
68674cec53
Add heart rate BLE service.
2021-01-17 16:34:14 +01:00
petter
10376cd81c
fix MusicService UUID typo in comment
2021-01-08 15:35:43 +01:00
okaestne
1516573df4
Include cleanup: components
2020-11-16 01:35:45 +01:00
JF
29f8074fcb
Refactoring of BLE service discovery : it is now implemented into the classes of the services.
2020-10-29 16:06:01 +01:00
JF
f90f2254f5
Reset BLE services on disconnect, do not start advertising if a connection is already established.
2020-10-28 18:23:09 +01:00
JF
7de43a1660
Fix conflicts
2020-10-27 21:55:18 +01:00
JF
07b6812f61
Notifications : Fix copy when the messages is spread across multiple os_mbuf.
2020-10-22 10:43:42 +02:00
JF
cabf1168d4
Notifications : Fix display of notification index/number.
2020-10-21 22:15:02 +02:00
JF
440ae412b9
Increase max size of notification message to 100 char.
...
Fix bug in message handling that would ignore the last character of the notification.
2020-10-21 17:31:56 +02:00
JF
ef5670c7e0
Integrate new notification UI with notifications coming from BLE
2020-10-20 20:57:39 +02:00
Avamander
6f45c0f669
Unified MusicStatus enum constant capitalization with others
2020-10-15 22:45:53 +03:00
Avamander
2b9906184b
Refactored and improved the Music watchapp
2020-10-15 22:16:08 +03:00