Commit Graph

98 Commits

Author SHA1 Message Date
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