1
0
Fork 0
Commit graph

142 commits

Author SHA1 Message Date
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
JF002
b0bdd2be1c
Merge pull request #549 from hubmartin/pinmap
Put all duplicated GPIO pin definitions to a single file
2021-09-13 20:05:43 +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
hubmartin
73d3e41cea Merge branch 'develop' into pinmap 2021-09-13 10:19:07 +02:00
JF002
c9aeef94ea
Merge pull request #617 from ColinKinloch/wake_up_mode_setting_change
Correct change test for wake up mode setting
2021-09-12 18:41:26 +02: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
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
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
Colin Kinloch
b45d7c372d Correct change test for wake up mode setting 2021-08-26 19:42:02 +01:00
hubmartin
2a299fe275 Merge branch 'develop' into pinmap 2021-08-22 22:11:57 +02:00
Kieran Cawthray
30b32e4c8a Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker 2021-08-15 17:50:56 +02:00
Riku Isokoski
044036e884 Merge branch 'develop' into timer_battery_reading 2021-08-14 23:02:23 +03:00
Jean-François Milants
0eeed5ac33 Merge branch 'call-improvements' of https://github.com/Riksu9000/InfiniTime into Riksu9000-call-improvements
# Conflicts:
#	src/displayapp/screens/Metronome.cpp
2021-08-14 21:54:00 +02:00
Riku Isokoski
23bde0d18e Make battery reading periodic. Add events. Disable pullup 2021-08-14 21:18:11 +03:00
Kieran Cawthray
52ee25e551 Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker 2021-08-12 21:26:51 +02:00
hubmartin
0d083a2bea Merge branch 'develop' into pinmap 2021-08-11 22:00:55 +02:00
JF002
9fb3755088
Merge pull request #483 from Riksu9000/fix_adc
Fix misconfigured ADC and remove now unnecessary filtering
2021-08-10 12:32:09 +02:00
Jean-François Milants
c086520c97 Code cleaning in Clock, WatchFaceAnalog, WatchFaceDigital and PineTimeStyle, inspired by PR #232 by nscooling. 2021-08-10 11:39:25 +02:00
hubmartin
abd8f343e4 Rename backlight level pins 2021-08-04 14:43:04 +02:00
hubmartin
b3e6da7514 Cleanup, set Pinetime as default 2021-08-03 20:40:27 +02:00
hubmartin
b7aa04e1f5 PinMap with namespace and constexpr 2021-08-03 20:32:23 +02:00
hubmartin
28abeae21b DRAFT: Put gpio pins to separate file 2021-08-02 21:37:48 +02:00
Riku Isokoski
09aaa58710 Remove floating point calculation 2021-08-01 16:19:09 +03:00
Riku Isokoski
e6dcb3009f Improvements 2021-08-01 13:05:48 +03:00
Riku Isokoski
5bdef365f2 Merge branch 'develop' into HEAD 2021-08-01 11:47:26 +03:00
Riku Isokoski
79ee65bfd5 Increase ADC precision 2021-07-27 22:41:48 +03:00
Riku Isokoski
a0a05553cf Merge branch 'develop' into fix_adc 2021-07-27 21:57:21 +03:00
Kieran Cawthray
e6bc485679 Increment settings value, remove old hacky fix 2021-07-25 22:18:39 +02:00
Kieran Cawthray
1ddb1f0832 Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker 2021-07-23 15:03:28 +02: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
Kieran Cawthray
db784fc2fb Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker 2021-07-20 15:30:07 +02:00
Kozova1
57b3397078
Multiple wakeup sources (#290)
* Allow multiple wakeup modes at the same time.

This commit adds multiple wakeup modes support.
It does so by storing them as a uint8_t bitfield enum.
It changes the following functions:

Since multiple modes can be on now, older version would not cut it:
WakeUpMode getWakeupMode() -> std::bitset<3> getWakeUpModes()
Where each bit corresponds to a WakeUpMode

We still need a way to check whether a specific wakeup mode is on, so:
bool isWakeUpModeOn(const WakeUpMode mode)

This function was changed to work correctly with the new implementation.
setWakeUpMode(WakeupMode mode, bool enable)

Previously, systemtask would exit SystemTask::OnTouchEvent() if the wake
up mode was None or RaiseWrist, to prevent waking up when a touch was
received. However, after enabling using multiple WakeUpModes, this
caused a bug where when RaiseWrist was checked with SingleTap or
DoubleTap, the tap detection wouldn't work.

This commit fixes that bug.

Next commit will update the settings WakeUpMode select UI to reflect these changes.

Signed-off-by: Kozova1 <mug66kk@gmail.com>

* Updated UI to reflect multiple WakeUp sources being available.

Signed-off-by: Kozova1 <mug66kk@gmail.com>
2021-07-14 20:51:51 +02:00
Riku Isokoski
b5eabf6604 Merge branch 'develop' into fix_adc 2021-07-13 22:11:46 +03:00
Riku Isokoski
7efe2b7c51 Fix misconfigured ADC and remove now unnecessary filtering 2021-07-12 23:07:05 +03:00
Kieran Cawthray
db99ac88d9 Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker 2021-07-12 13:01:11 +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
joaquim.org
084123b752
Using littlefs (#438)
* add submodule littlefs
* base fs
* Save settings using littlefs
* Small fixes and suggestions from PR
* More small fixes from PR suggestions
* Code clean up
* Change SpiNorFlash functions to be private in FS
2021-07-11 15:06:06 +02:00
Avamander
ab59b9b830
Whitespace and brace fixes (#456)
* Brace style and whitespace fixes

* Additional whitespace fixes
2021-07-04 20:06:50 +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
Riku Isokoski
38f40034b0
Float voltage to int (#444)
* Change voltage float to millivolt integer
* Explain the ADC to milliVolts conversion
2021-07-02 17:30:32 +02:00