Commit graph

2121 commits

Author SHA1 Message Date
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
Riku Isokoski b31b2425f8 Use percentage instead of IsFull 2021-09-03 16:57:00 +03:00
Riku Isokoski ac2ccaeff6 Auto realign battery icon in Analog watch face 2021-09-03 14:57:07 +03:00
Riku Isokoski fd52ca8fe6 Detect full charge and improve watchface display 2021-09-03 14:35:38 +03:00
Tim Keller 28fdc376b2 Add some comments 2021-09-02 23:01:12 +00:00
Itai Nelken bd1a571399
Update Settings.cpp 2021-09-02 23:20:25 +03:00
Jean-François Milants 6f9f0e8b0e Set version to 1.4.0. 2021-09-02 20:32:50 +02: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
JF002 f6248a88ba
Merge pull request #579 from mabuch/fix-github-build
fix Github Action build Firmware
2021-09-01 20:53:28 +02:00
Jean-François Milants 1635bfafb3 Fix notifications that wouldn't auto close when the timeout elapsed (in preview mode). 2021-08-31 21:56:21 +02:00
James A. Jerkins 00a3f84ea7 Completely reset connection state on fail 2021-08-30 23:17:16 -05:00
Riku Isokoski 21d37d1e23 Merge remote-tracking branch 'upstream/develop' into timer_battery_reading 2021-08-30 10:15:19 +03: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
hubmartin 8390d0ef72 Merge branch 'develop' into pinmap 2021-08-29 11:43:50 +02:00
Riku Isokoski e57ff28231 Let lvgl control queueTimeout 2021-08-29 12:40:48 +03:00
Jean-François Milants 6c023785e5 Fix wake on tap/double tap. 2021-08-28 21:30:31 +02:00
Jean-François Milants 31bc47d1cb Settings : use enums instead of ints to store colors. Group all PTS settings into a struct.
PTS/SettingsPTS : Convert to/from LVGL color and Settings::Color, add functions to reduce code duplication.
Adapt SettingPineTimeStyle with the last Screen Interface
2021-08-28 21:02:11 +02:00
JF002 ef9f809e14
Merge pull request #458 from kieranc/pinetimestyle-colorpicker
Add color picker for PineTimeStyle watchface
2021-08-28 20:56:34 +02:00
JF002 2870d3ae6c
Merge pull request #497 from Riksu9000/refresh_rework
Rework Refresh
2021-08-28 16:39:48 +02:00
Riku Isokoski c2fae47391 Merge branch 'develop' into refresh_rework 2021-08-28 17:25:50 +03:00
Riku Isokoski d2d97319e0 Merge branch 'develop' into update_touch_driver 2021-08-28 17:19:49 +03:00
Riku Isokoski c78177eedf Merge branch 'develop' into fit_more_tasks 2021-08-28 17:10:01 +03:00
Riku Isokoski 085c9ab2e1 Merge branch 'develop' into timer_battery_reading 2021-08-28 16:54:40 +03:00
Jean-François Milants fab49f8557 Fix recovery firmware since last changes in DisplayApp. 2021-08-28 15:23:13 +02:00
Jean-François Milants 0313277ae6 Fix touchinfo typo in SystemTask. 2021-08-28 15:10:14 +02:00
Jean-François Milants f895da8634 Merge branch 'Riksu9000-twimaster_rework' into develop 2021-08-28 15:09:16 +02:00
Jean-François Milants 45e7638fc2 Merge branch 'twimaster_rework' of https://github.com/Riksu9000/InfiniTime into Riksu9000-twimaster_rework
# Conflicts:
#	src/systemtask/SystemTask.cpp
2021-08-28 15:08:50 +02:00
JF002 969de9a8bc
Merge pull request #492 from Riksu9000/new_touch_handler
New touch handler
2021-08-28 15:06:03 +02:00
Colin Kinloch b45d7c372d Correct change test for wake up mode setting 2021-08-26 19:42:02 +01:00
Fabien Benetou d7293a44df
Infini-iOS 2021-08-26 15:11:20 +02:00
Tim Keller 110c82c225 Move noinit to after BSS segment,
Now dynamically allocates noinit area size
stores it after the bss before the heap and stack.
2021-08-23 20:13:26 +00:00
hubmartin db50131ed4 Remove commented commands completely 2021-08-23 15:02:40 +02:00
hubmartin d832a6c908 Merge branch 'develop' into wake-time 2021-08-23 15:00:56 +02:00
hubmartin 51c5257548 Update startup SCL toggling pinmap definitions 2021-08-22 22:17:57 +02:00
hubmartin 2a299fe275 Merge branch 'develop' into pinmap 2021-08-22 22:11:57 +02:00
Kieran Cawthray 8ac1ae70cc Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker 2021-08-19 15:14:04 +02:00
Riku Isokoski 2b30ff4fc6 Remove unused variables 2021-08-19 11:12:34 +03:00
Tim Keller c9dedfd402 Add some VSCODE stuff to gitignore...
Allow settings to stop naggin me that it has added assosiation types
2021-08-19 00:51:42 +00:00
Tim Keller 4f6d7e2c63 Move Backup to the system task. 2021-08-19 00:51:12 +00:00
Tim Keller 2dd7b8ba2c Add clearing of noinit segment on bad word
Code readability cleanup
2021-08-19 00:44:22 +00:00
Tim Keller 16502b788f Add MCUBOOT linker changes
use better linker constant names
2021-08-19 00:14:42 +00:00
Riku Isokoski 85c99797da Merge branch 'develop' into new_touch_handler 2021-08-18 22:07:02 +03:00
Riku Isokoski 40392d7b91 Use highest frequency and move mutex creation to Init 2021-08-18 21:40:27 +03:00
hubmartin df8ea7fe52 Add memory print usage 2021-08-18 20:21:10 +02:00
Riku Isokoski b91100573e Fix music app buttons 2021-08-18 20:19:02 +02:00
Riku Isokoski 780a811f05 Automatic error detection 2021-08-18 15:23:30 +03:00
Tim Keller 55f8908769 Make Clock Persistant. 2021-08-17 23:53:57 +00:00