aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/ble
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'develop' into motionservice_fix_typo_in_includeJF2021-11-2820-37/+38
|\
| * Merge branch 'restructure_includes' of ↵Jean-François Milants2021-11-2820-35/+36
| |\ | | | | | | | | | | | | | | | | | | | | | https://github.com/NeroBurner/InfiniTime into NeroBurner-restructure_includes # Conflicts: # doc/contribute.md # src/displayapp/screens/BatteryInfo.h
| | * Move up file header include to topReinhold Gschweicher2021-11-151-1/+1
| | |
| | * Add missing standard includesReinhold Gschweicher2021-11-151-0/+1
| | |
| | * Update includes to to be relative to src directoryReinhold Gschweicher2021-11-1519-35/+35
| | | | | | | | | | | | | | | | | | | | | 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.
| * | fix Motion Service UUID in doc and code commentsmabuch2021-11-151-2/+2
| |/
* / MotionService: fix not needed '/' in includeReinhold Gschweicher2021-10-301-1/+1
|/
* Motion service : fix step notifications that were sent as a single byte ↵Jean-François Milants2021-10-262-2/+2
| | | | instead of 4 (uint32_t).
* Add mention to Call characteristic (which was missing in the doc) and change ↵Jean-François Milants2021-10-201-1/+1
| | | | the UUID of the new Motion service from 00020000-* to 00030000-*.
* Enable/disable notifications for motion service.Jean-François Milants2021-10-171-0/+3
|
* Add MotionService : expose step count and RAW X/Y/Z values to the host.Jean-François Milants2021-10-174-2/+171
|
* MotionService : fix typo and characteristic array size + send notification ↵Jean-François Milants2021-10-173-3/+30
| | | | only if the host subscribed to them.
* Merge pull request #522 from jonvmey/fix-nav-uuid-docsJF2021-10-092-41/+21
|\ | | | | Fix Navigation Service UUID docs
| * Move callback function into anonymous namespaceJonathan Vander Mey2021-07-241-5/+5
| |
| * Update nav service UUID macro to constexpr functionsJonathan Vander Mey2021-07-242-28/+20
| |
| * Set navigation service id is base UUID macroJonathan Vander Mey2021-07-242-13/+1
| | | | | | | | | | Avoids the need to copy the same ID into every characteristic UUID genereated from it.
| * Update Navigation UUID documentationJonathan Vander Mey2021-07-241-1/+1
| | | | | | | | | | | | 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
* | Merge pull request #524 from jonvmey/ble-uuid-c-castsJF2021-10-0910-63/+54
|\ \ | | | | | | Remove unnecessary C-style casts with BLE UUIDs
| * | Remove unnecessary C-style casts with BLE UUIDsJonathan Vander Mey2021-07-2410-63/+54
| |/ | | | | | | | | | | 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.
* | Remove static declartion on batteryValue preventing read attribute from ↵Tim Keller2021-10-021-1/+1
| | | | | | | | updating.
* | Merge branch 'develop' into disable_notif_onlyRiku Isokoski2021-09-142-45/+87
|\ \
| * \ Merge branch 'refactor_adv' of https://github.com/evergreen22/InfiniTime ↵Jean-François Milants2021-09-132-45/+87
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | into evergreen22-refactor_adv # Conflicts: # src/components/ble/NimbleController.cpp
| | * | Advertise fast for at least 30 secs then slow downJames A. Jerkins2021-09-052-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
| | * | Revert "Linear decrease of advert rate to conserve battery"James A. Jerkins2021-09-052-6/+0
| | | | | | | | | | | | | | | | This reverts commit c32ba844e04017a3fd31444c384deb3542bd76be.
| | * | Linear decrease of advert rate to conserve batteryJames A. Jerkins2021-09-042-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | Fix styles issues - no change to functionalityJames A. Jerkins2021-09-011-6/+6
| | | |
| | * | Fix race condition, connect->disconnect->discoveryJames A. Jerkins2021-09-011-1/+3
| | | |
| | * | Completely reset connection state on failJames A. Jerkins2021-08-301-0/+3
| | | |
| | * | WIP Refactor ble advertisingJames A. Jerkins2021-08-292-40/+60
| | |/ | | | | | | | | | | | | Refactor ble advertising based on ble standards and conventions. Changes are based on the bleprph example code, bluetooth docs, and nimble docs.
* | | Merge branch 'develop' into disable_notif_onlyRiku Isokoski2021-09-131-1/+1
|\| |
| * | docs: Fix a few typos (#606)Tim Gates2021-09-131-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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`.
* / Toggle notifications only, keep vibrations.Riku Isokoski2021-09-122-12/+1
|/
* Make firmware updating more foolproof (#469)Riku Isokoski2021-07-221-5/+4
| | | | | | | * 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
* Notify battery level every 10 minutes when connected to a BLE host.Jean-François Milants2021-07-114-4/+15
| | | | Refactor battery percent : only use uint8_t to store the battery % remaining.
* Inititialize members in class declarationJonathan Vander Mey2021-07-022-22/+12
| | | | Also added initializers for previously unintialized members.
* Move local-only function into anonymous namespaceJonathan Vander Mey2021-07-021-4/+3
|
* Make MusicService UUID objects static constexprJonathan Vander Mey2021-07-022-22/+31
|
* Eliminate reinterpret_castingJonathan Vander Mey2021-07-021-26/+26
|
* SPI flash sleep if bootloader >= 1.0.0 (#322)Neil O'Fix2021-06-261-0/+5
| | | | | | * 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
* Merge pull request #359 from Avamander/patch-2JF0022021-06-122-157/+95
|\ | | | | Used a macro for UUID generation, switched from C-style casts to reinterpret_cast, renamed callback
| * Updated license header yearAvamander2021-05-172-2/+2
| |
| * Used a macro for UUID generation, switched from C-style casts to ↵Avamander2021-05-172-155/+93
| | | | | | | | reinterpret_cast, renamed callback
* | Initialize SystemTask, DisplayApp and HeartRateTask as global static ↵Jean-François Milants2021-06-065-7/+7
|/ | | | 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.
* Changed access modified indentationAvamander2021-04-2416-36/+36
|
* Reformatted all the files according to clang-format styleAvamander2021-04-2431-1315/+1051
|
* Merge branch 'develop' into notification-titleJean-François Milants2021-04-091-1/+1
|\ | | | | | | | | # Conflicts: # src/displayapp/screens/Notifications.cpp
| * Fix music app :Jean-François Milants2021-04-041-1/+1
| | | | | | | | | | - 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)
* | Ignore notification with empty message.Jean-François Milants2021-04-042-4/+10
| |
* | Add support for notification title. The notification buffer must contain the ↵Jean-François Milants2021-04-046-2/+22
|/ | | | | | 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.
* Merge pull request #182 from petterhs/warningsJF0022021-02-142-5/+3
|\ | | | | Fix build warnings coming from HR implementation