Mormegil
3a58314db6
Garmin Vivomove HR support
...
- communication protocols
- device support implementation
- download FIT file storage
Features:
- basic connectivity: time sync, battery status, HW/FW version info
- real-time activity tracking
- fitness data sync
- find the device, find the phone
- factory reset
Features implemented but not working:
- notifications: fully implemented, seem to communicate correctly, but not shown on watch
Features implemented partially (not expected to work now):
- weather information (and in future possibly weather alerts)
- music info
- firmware update: only the initial file upload implemented, not used
Things to improve/change:
- Device name hardcoded in `VivomoveHrCoordinator.getSupportedType`, service UUIDs not available
- Download FIT file storage: Should be store (and offer the user to export?) the FIT data forever?
- Obviously, various code improvements, cleanup, etc.
2023-07-20 20:30:14 +00:00
José Rebelo
258023a05d
Zepp OS: Fix reminder creation
...
Regression introduced by 9d3c480414
2023-07-12 23:27:15 +01:00
José Rebelo
525f1567c1
Huami: Prevent activity data fetch if there is no data to fetch
...
More information in #3201
Fixes #3196
2023-07-12 23:21:56 +01:00
José Rebelo
ccfc112e2b
Huami: Persist workout raw details even if gpx has no points
2023-07-12 23:18:31 +01:00
Richard de Boer
8e270fcbf7
Bangle.js: refactoring
...
Extract handling of packet types with large code blocks.
Incidentally fixes "intent" packets launching a full calendar sync if
intents are disabled in GB settings.
2023-07-11 20:46:50 +02:00
José Rebelo
298dbbe777
LeFun: Broadcast when HR samples are received
2023-07-09 14:29:39 +00:00
José Rebelo
da5f91f05b
Huami/Zepp OS: Improve music info stability
2023-07-09 15:16:37 +01:00
José Rebelo
708cb0c617
Zepp OS: Attempt to parse raw sensor values
2023-07-05 17:47:19 +01:00
José Rebelo
fea3bf50a4
Zepp OS: Add loyalty cards integration with Catima
2023-07-03 23:19:19 +01:00
José Rebelo
e95c8a3775
Add PAI charts
2023-07-02 16:05:10 +01:00
Gordon Williams
88e0b9543d
Bangle.js: HTTP request XPath can now return Arrays.
...
More robost toJSON that deals with unicode and null
Log messages when converting words to images so we can debug when words are being converted that shouldn't be
2023-06-30 11:34:53 +01:00
Gordon Williams
0e0f72410a
Bangle.js: fix mixup of navigation left slight&sharp icons
2023-06-29 14:49:22 +01:00
Gordon Williams
d82ba7a04c
Bangle.js: Send the timestamp of our last activity sample to the Bangle on connect, so that it can update us on missing activity samples
2023-06-26 11:39:29 +01:00
Gordon Williams
2aac797dec
Remove some build warnings in BangleJSDeviceSupport
2023-06-26 11:20:50 +01:00
Gordon Williams
8e010bc6dd
Stop BangleJSDeviceSupport repeatedly calling GBLocationManager.stop and spamming the log with "Stop location updates"
2023-06-26 11:15:54 +01:00
Gordon Williams
94cd7523db
Ensure we now escape chars in the unicode start range. With Bangle.js ~2v18.20+ we added Unicode support, but if we're sending non-unicode chars in the unicode range it will confuse Espruino
2023-06-26 11:07:38 +01:00
Lukas
6e3ce89ae5
add attribute to set the source of the gps signal
2023-06-22 21:37:55 +00:00
Lukas
6da6baa5e6
Add switch to control if the GPS chip should be used to locate the location
2023-06-22 21:37:55 +00:00
Arjan Schrijver
7c5cd4c032
Fossil/Skagen Hybrids: Increase accuracy of workout distance calculation
2023-06-19 15:57:09 +02:00
Arjan Schrijver
2081463a4f
Fossil/Skagen Hybrids: Add UV index and chance of rain widgets
...
Note: this needs support from weather apps, for example:
https://github.com/TylerWilliamson/QuickWeather/pull/69
2023-06-18 22:11:07 +02:00
Arjan Schrijver
ff563022f5
Fossil/Skagen Hybrids: Fix weather icons day/night status
2023-06-17 22:54:41 +02:00
José Rebelo
88b7cd5756
Add stress charts
2023-06-17 17:28:11 +01:00
José Rebelo
9d3c480414
Zepp OS: Refactor config, display items, reminders and http to standalone services
2023-06-16 20:43:07 +01:00
José Rebelo
8f5bbec881
Zepp OS: Only cache apps and watchfaces
2023-06-15 22:07:08 +01:00
José Rebelo
fad7fa395b
Zepp OS: Show watchfaces in app management
2023-06-15 22:04:01 +01:00
José Rebelo
9b7d5eee42
Zepp OS: Cache apps for app management
2023-06-15 21:59:16 +01:00
José Rebelo
853470a2bd
Revert "Zepp OS: Unify support class and fw handling"
...
This reverts commit d59e8c3f62
.
We need to refactor the Huami classes too, otherwise this needs a lot of
hacks to work properly.
2023-06-15 21:39:22 +01:00
José Rebelo
d59e8c3f62
Zepp OS: Unify support class and fw handling
2023-06-15 20:50:15 +01:00
José Rebelo
b3db9b7768
Zepp OS: Add screenshot support
2023-06-14 21:02:27 +01:00
José Rebelo
531aef61fd
Move screenshot encoding to PebbleProtocol
2023-06-14 21:02:27 +01:00
José Rebelo
55cecceb38
Zepp OS: Add support for compressed file transfer
2023-06-14 21:02:27 +01:00
José Rebelo
d29e092ce7
Zepp OS: Fix file transfer service incoming file size parse
2023-06-14 21:02:27 +01:00
José Rebelo
3217e4a2dd
Zepp OS: Add missing ack on file transfer service
2023-06-14 21:02:27 +01:00
José Rebelo
74dac3f5cd
Huami 2021: Handle chunked ACKs
2023-06-14 15:45:49 +00:00
Andreas Shimokawa
f80b873866
Prefs: make allow high MTU default to true.
...
It is 2023, it should work, if not it can be turned off.
For newer devices with big firmwares and apps (like Mi Band 7), people just wonder how slow Gadgetbridge installs stuff...
2023-06-14 16:44:51 +02:00
Damien 'Psolyca' Gaignon
a3c0e10330
Add GBDevice argument to getAlarmSlotCount
2023-06-13 23:10:55 +02:00
Damien Gaignon
be575af314
Add BTBR service
2023-06-13 12:06:13 +00:00
Gordon Williams
b2aa61e182
Changed NavigationSpec's distance into a String.
...
Previously we used an integer (in meters) but when using
Google Maps navigation, Google Maps picks units based on locale *and*
the distance - it might report "100m" or "20km". Then we carefully undo
all that work, and for PineTime we just as "m" so you may well have "20000m"
or more displayed, which is not ideal.
I imagine at some point that will change, but we probably want to
be able to handle that in the OSMAnd side of Gadgetbridge so all watches
that implement navigation will benefit (and won't duplicate code).
2023-06-13 07:32:12 +00:00
José Rebelo
5c3b76b838
Add missing mutability flags to PendingIntents
2023-06-13 00:14:04 +01:00
José Rebelo
9e09fe15bf
Huami: Fix stress sample timestamp increment
2023-06-12 08:58:10 +01:00
José Rebelo
9393d2c28f
Zepp OS: Add service to query supported services
2023-06-11 18:34:40 +01:00
José Rebelo
c3c4c2ce74
Zepp OS: Add watch app logs developer option
2023-06-11 18:23:54 +01:00
José Rebelo
d38afe60c2
Zepp OS: Add incoming file support to file transfer service
2023-06-11 15:21:39 +01:00
José Rebelo
8ff3ce0477
Zepp OS: Add experimental app management
2023-06-10 23:31:38 +01:00
José Rebelo
d77a32a430
Zepp OS: Add code to toggle raw sensor data
2023-06-10 19:07:00 +01:00
José Rebelo
a3c59b0e0e
Zepp OS: Add experimental sync of SpO2, stress, PAI, HR stats and sleep respiratory rate
2023-06-10 17:19:22 +01:00
José Rebelo
58704a0eec
Zepp OS: Make Alexa an experimental feature
2023-06-10 17:15:36 +01:00
José Rebelo
3716a031ce
Zepp OS: Implement Alexa service protocol
2023-06-10 17:05:09 +01:00
José Rebelo
42c37c04a0
Zepp OS: Display watchface and app preview on install
2023-06-10 13:34:48 +01:00
José Rebelo
003246ae1c
Zepp OS: Fix zpk compatibility detection
2023-06-10 12:41:10 +01:00
Ganblejs
20de001e49
Bangle.js: Add more weather data sent to watch
...
Specifically UV Index, the day max and min temp, probability of rain.
Inspired by PR #3095
Bangle.js:Send UV Index with one decimal point
2023-06-09 20:55:32 +02:00
José Rebelo
1730064f11
Zepp OS: Match zpk compatibility by deviceSource
2023-06-09 18:35:29 +01:00
Gordon Williams
1fa8936544
Google Maps: Added more recognised icons - needed another enum for going all the way around a roundabout
2023-06-09 13:59:05 +01:00
Gordon Williams
735f27d5bf
Add Navigation handling to Bangle.js
...
Add extra 'ETA' field to NavigationInfoSpec
Allow Local Notifications from Google Maps to be parsed into NavigationInfoSpec by GoogleMapsNotificationHandler
Moved notification handling after blacklist check as per https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3136#issuecomment-920095
Ensure we don't create a nav message for 'Location Shared with you' messages.
Recognise 'ft' as a distance unit and convert accordingly
Google Maps navigation: Adding new recognised icons, and removing warnings/errors from file
2023-06-09 08:50:40 +01:00
kieranc001
9c682da4cc
Fix typos for Pinetime weather expiry time
...
The expiry time should be 6h (60 * 60 * 6), but has been set to 6 minutes (60 * 6) unintentionally in 3 places.
This change sets the expiry to the correct value throughout the file.
Signed-off-by: kieranc001 <kieranc001@noreply.codeberg.org>
2023-06-08 14:30:10 +00:00
José Rebelo
dd01c77aca
Zepp OS: Support flashing zab files
2023-06-08 14:22:15 +01:00
José Rebelo
594a611065
Zepp OS: Fix update operations on Zepp OS 2.1+
2023-06-08 13:36:53 +01:00
Gordon Williams
b334773856
Bangle.js: fix the rare case where we're converting an emoji/unicode to a bitmap but it doesn't have a width/height - we just create a bitmap of min. 1px
2023-06-08 12:36:12 +01:00
Gordon Williams
e59375242e
Bangle.js: Allow an activity sample to have a time specified - first steps in allowing Bangle.js to send 'missed' health data
2023-06-06 20:25:58 +01:00
Enrico Brambilla
93e8996b52
Fossil/Skagen Hybrids: Add support for ultraviolet index and rain probability
...
Updates WeatherSpec to v3 to add fields for UV index and precipitation probability
Co-authored-by: Enrico Brambilla <enricobilla@noreply.codeberg.org>
Co-committed-by: Enrico Brambilla <enricobilla@noreply.codeberg.org>
2023-06-05 19:52:26 +00:00
Richard de Boer
7e1685f5f9
Bangle.js: fix memory leak from HTTP requests
...
Every call to Volley.newRequestQueue() creates a new global thread pool,
which isn't automatically cleaned up once the request completes.
With this commit we create a RequestQueue around on first use, and reuse
it for subsequent requests.
2023-06-05 10:09:28 +00:00
José Rebelo
eb7366c7e3
Huami 2021: Prevent duplicated payload logging
2023-06-03 20:25:23 +01:00
José Rebelo
ed3ce6fa9d
Huami: Fix stress timestamp off by 1 minute
2023-06-02 23:31:47 +01:00
José Rebelo
7e15462593
Huami: Migrate activity fetching to repeated fetch operation
2023-05-29 20:11:42 +01:00
José Rebelo
e55a35eced
Huami: Persist sleep respiratory rate data
2023-05-27 19:03:43 +01:00
José Rebelo
a1e07b5d1b
Huami: Persist PAI samples
2023-05-27 19:02:01 +01:00
José Rebelo
24f78655c2
Huami: Persist heart rate max, resting and manual samples
2023-05-27 18:59:12 +01:00
José Rebelo
347048dae5
Mi Band 7: Whitelist firmware 2.0.0.2
2023-05-24 23:33:02 +01:00
José Rebelo
9d966c8179
Huami: Add max HR fetch operation (no db persistence)
2023-05-23 22:35:24 +01:00
José Rebelo
c79a833bbf
Huami: Add PAI fetch operation (no db persistence)
2023-05-23 22:25:58 +01:00
José Rebelo
733e5dd290
Huami: Map UTC offset in HR and respiratory rate fetch operations
2023-05-23 00:05:03 +01:00
Martin Boonk
fd9efdcb72
Bangle.js: Match default interval from resource file
2023-05-22 22:17:10 +00:00
Martin Boonk
88161bed91
Bangle.js: Inform user if GPS set to off in settings
2023-05-22 22:17:10 +00:00
Martin Boonk
d4bcbc52fb
Bangle.js: Fix typo
2023-05-22 22:17:10 +00:00
Martin Boonk
a57a8cc7ca
Bangle.js: Fix location listener not being cleaned up when waiting for reconnect
2023-05-22 22:17:10 +00:00
José Rebelo
3f87bfadd4
Huami: Add queued fetch operations
2023-05-22 22:15:35 +00:00
José Rebelo
23e9a3deb1
Huami: Persist stress and SpO2 data
2023-05-22 22:15:35 +00:00
Ernst
56e1efaa3d
Fixed typo in "continue" turn and added roundabout left,right and offroute turns
2023-05-21 22:50:52 +02:00
Andreas Shimokawa
e7c048551f
Infinitime: Fix icon mapping
2023-05-21 22:50:52 +02:00
Andreas Shimokawa
4cad3b3837
InfiniTime: support navigation app
2023-05-21 22:50:52 +02:00
José Rebelo
3a5d5dfbb0
Huami: Add sleep respiratory rate fetch operation (no db persistence)
2023-05-21 21:14:29 +01:00
José Rebelo
07357305cb
Huami: Unify recorded data fetching in HuamiSupport
2023-05-20 20:44:18 +01:00
Gordon Williams
757e36ebd6
Bangle.js: Add message size limitation to Calendar and Messages - stops huge data streams being sent out esp for calendar events
2023-05-19 10:46:37 +01:00
José Rebelo
36d2fde49b
Zepp OS: Improve weather models
2023-05-18 23:39:24 +01:00
José Rebelo
2b6a79f462
Zepp OS: Manage contacts on watch
2023-05-17 23:43:29 +01:00
José Rebelo
f68e4c865b
Huami: Add stress, SpO2, heart rate fetch operations (no db persistence)
...
Introduce a reusable abstract logic for repeated fetch operations.
Add fetch operations for the following:
- Stress (manual and automatic)
- SpO2 (normal and sleep)
- Heart rate (manual and resting)
2023-05-17 21:56:54 +01:00
Arjan Schrijver
0bba156bec
Deduplicate icon retrieval code
2023-05-17 14:09:17 +02:00
José Rebelo
76d99f1c33
Zepp OS: Start new GPX segments on pause/resume
2023-05-14 16:22:32 +01:00
José Rebelo
9851493cf1
Zepp OS: Add gpx route file upload
2023-05-14 14:20:39 +01:00
José Rebelo
e1cccd6953
Zepp OS: Refactor code for alarms, notifications, calendar, canned messages
2023-05-10 23:33:23 +01:00
Arjan Schrijver
f727f2fdcb
Fossil/Skagen Hybrids: Pair watch to phone, fixes repeating confirmation request
2023-05-08 22:44:43 +02:00
José Rebelo
e0d481bb36
Sony WH-1000XM5: Add power off, fix battery, fix speak-to-chat fetch
2023-05-06 17:41:10 +01:00
José Rebelo
7b3fbeb4af
Sony WH-1000XM5: Initial support
2023-05-06 16:03:48 +01:00
José Rebelo
e4933a0b42
Sony Headphones: Improve unit tests
2023-05-06 14:41:28 +01:00
José Rebelo
880bf9e1b1
Amazfit GTR 3 Pro: Initial support
2023-05-03 20:49:02 +01:00
José Rebelo
483ef27a4f
Zepp OS: Set region on user info
...
This affects available features (eg. Alexa). Defaults to the previous
value of "unknown" for now, and no UI. Alexa requires a region where it
is available, such as Germany ("de").
2023-04-30 17:03:05 +01:00
José Rebelo
6c0a276441
Zepp OS: Add code for AQI shortcut card
2023-04-30 11:55:34 +01:00
José Rebelo
1d0b10ed0f
Zepp OS: Refactor services config and init logic
2023-04-30 11:42:34 +01:00
José Rebelo
94c7b43ad4
Zepp OS: Map known watchfaces to human-readable names
2023-04-26 09:51:14 +01:00
José Rebelo
9a8e95bd18
Zepp OS: Set watchface from phone
2023-04-24 20:20:43 +01:00