summaryrefslogtreecommitdiff
path: root/src/components/ble
AgeCommit message (Collapse)Author
2021-12-04Clarified a few commentsAvamander
2021-12-04Specified how values should be interpreted betterAvamander
2021-12-04Added new precipitation and obscuration typesAvamander
2021-12-04Fixed an incorrect decode in HumidityAvamander
2021-12-04Implemented parsing of all defined weather data typesAvamander
2021-12-04Improved UI and fixed a bugAvamander
2021-12-04Bunch of bugs fixed, improved error handling, debug UI additionAvamander
2021-12-04Improved error handling and fixed incompatibility with co.nstant.in:cbor libraryAvamander
2021-12-04Removed versioning because it's not necessaryAvamander
2021-12-04Changed UUID so it wouldn't conflict with MotionAvamander
2021-12-04Fixed a few compilation errors, fixed UUID.Avamander
2021-12-04Implemented a few functions.Avamander
2021-12-04Few formatting fixesAvamander
2021-12-04Started initial work on the UIAvamander
2021-12-04Brace style and whitespace fixesAvamander
2021-12-04Fixed a few bugs, enabled UsefulBuf library optimizationsAvamander
2021-12-04Minor style improvementAvamander
2021-12-04Skeleton of the receiving logicAvamander
2021-12-04Initial Weather service skeletonAvamander
2021-11-28Merge branch 'develop' into motionservice_fix_typo_in_includeJF
2021-11-28Merge branch 'restructure_includes' of ↵Jean-François Milants
https://github.com/NeroBurner/InfiniTime into NeroBurner-restructure_includes # Conflicts: # doc/contribute.md # src/displayapp/screens/BatteryInfo.h
2021-11-15Move up file header include to topReinhold Gschweicher
2021-11-15Add missing standard includesReinhold Gschweicher
2021-11-15Update includes to to be relative to src directoryReinhold Gschweicher
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-15fix Motion Service UUID in doc and code commentsmabuch
2021-10-30MotionService: fix not needed '/' in includeReinhold Gschweicher
2021-10-26Motion service : fix step notifications that were sent as a single byte ↵Jean-François Milants
instead of 4 (uint32_t).
2021-10-20Add mention to Call characteristic (which was missing in the doc) and change ↵Jean-François Milants
the UUID of the new Motion service from 00020000-* to 00030000-*.
2021-10-17Enable/disable notifications for motion service.Jean-François Milants
2021-10-17Add MotionService : expose step count and RAW X/Y/Z values to the host.Jean-François Milants
2021-10-17MotionService : fix typo and characteristic array size + send notification ↵Jean-François Milants
only if the host subscribed to them.
2021-10-09Merge pull request #522 from jonvmey/fix-nav-uuid-docsJF
Fix Navigation Service UUID docs
2021-10-09Merge pull request #524 from jonvmey/ble-uuid-c-castsJF
Remove unnecessary C-style casts with BLE UUIDs
2021-10-02Remove static declartion on batteryValue preventing read attribute from ↵Tim Keller
updating.
2021-09-14Merge branch 'develop' into disable_notif_onlyRiku Isokoski
2021-09-13Merge branch 'develop' into disable_notif_onlyRiku Isokoski
2021-09-13Merge branch 'refactor_adv' of https://github.com/evergreen22/InfiniTime ↵Jean-François Milants
into evergreen22-refactor_adv # Conflicts: # src/components/ble/NimbleController.cpp
2021-09-13docs: Fix a few typos (#606)Tim Gates
* 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-12Toggle notifications only, keep vibrations.Riku Isokoski
2021-09-05Advertise fast for at least 30 secs then slow downJames A. Jerkins
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-05Revert "Linear decrease of advert rate to conserve battery"James A. Jerkins
This reverts commit c32ba844e04017a3fd31444c384deb3542bd76be.
2021-09-04Linear decrease of advert rate to conserve batteryJames A. Jerkins
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-02Fix styles issues - no change to functionalityJames A. Jerkins
2021-09-02Fix race condition, connect->disconnect->discoveryJames A. Jerkins
2021-08-31Completely reset connection state on failJames A. Jerkins
2021-08-29WIP Refactor ble advertisingJames A. Jerkins
Refactor ble advertising based on ble standards and conventions. Changes are based on the bleprph example code, bluetooth docs, and nimble docs.
2021-07-24Move callback function into anonymous namespaceJonathan Vander Mey
2021-07-24Remove unnecessary C-style casts with BLE UUIDsJonathan Vander Mey
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-24Update nav service UUID macro to constexpr functionsJonathan Vander Mey
2021-07-24Set navigation service id is base UUID macroJonathan Vander Mey
Avoids the need to copy the same ID into every characteristic UUID genereated from it.