1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-09-27 16:56:57 +02:00
Commit Graph

10918 Commits

Author SHA1 Message Date
Daniele Gobbetti
9daadca3f9 Garmin: various minor changes
remove message placeholders referring to legacy code,
remove try-catch from the weather data message building method
lower the frequency of music control messages
2024-05-20 18:26:04 +02:00
Daniele Gobbetti
b453d8ef4c Garmin: fix protobuf chunked fragments handling
remove chunk from the map once it is complete if it is incoming, fix the removal of outgoing chunks
also return a warn log message if the protobuf status is not OK.
2024-05-20 18:09:24 +02:00
José Rebelo
579f6f1cfb Garmin: Fix edge case in sleep overlay
If the sleep session ends outside the queried time range, we need to
fetch the next sleep stage outside the range so that we can overlay it
properly.
2024-05-20 18:09:24 +02:00
José Rebelo
129b48893a Garmin: Fix overcounting of steps in some cases
We need to take into account the previous sample that is outside the
range that was queried, so that we can correct the first sample in the
range.
2024-05-20 18:09:24 +02:00
José Rebelo
295e2b2707 Garmin: Improve transaction logging 2024-05-20 18:09:24 +02:00
José Rebelo
cfb6cc3d15 Garmin: Ignore agps request if etag matches
Some watches reboot on http 304
2024-05-20 18:09:24 +02:00
José Rebelo
58c30ee441 Garmin: Configure contacts 2024-05-20 18:09:24 +02:00
José Rebelo
5d34660b66 Garmin: Fix COBS encoding of long non-zero sections 2024-05-20 18:09:24 +02:00
José Rebelo
81fcde2d40 Garmin: Improve logging during file downloading 2024-05-20 18:09:24 +02:00
José Rebelo
13635b6ad7 Garmin: Implement etag for agps requests 2024-05-20 18:09:24 +02:00
Daniele Gobbetti
d719f013f8 Change java package of garmin protobuf files 2024-05-20 18:09:24 +02:00
Daniele Gobbetti
0edf454326 Remove all the legacy vivomove HR code.
Also replaces support for device through the new garmin code path.
The Entities are preserved to enable on-demand database migration in case some user had previously synchronized data.
2024-05-20 18:09:24 +02:00
José Rebelo
1f27a463b9 Garmin: Allow agps updates for multiple URLs 2024-05-20 18:09:24 +02:00
lorddavidiii
63398ed377 Initial support for Garmin Vivoactive 4 2024-05-20 18:09:24 +02:00
José Rebelo
8268b65764 Garmin Venu 3: Fix device name 2024-05-20 18:09:24 +02:00
José Rebelo
6c7f85102f Garmin: Set default icon to a round watch 2024-05-20 18:09:24 +02:00
José Rebelo
b314258ab4 Garmin: Fix overcounting of steps
When going past midnight we were not resetting the number of steps,
resulting in a negative value, which would cause the next sample to
overcount.
2024-05-20 18:09:24 +02:00
Daniele Gobbetti
211fb06f30 Garmin: fix spurious protobuf messages 2024-05-20 18:09:24 +02:00
Daniele Gobbetti
4ebb3afdd4 Garmin: improve weather information
Add Aqi Field Definition and field to today weather and daily forecast, as both are available in WeatherSpec.
Add Feels like temperature to hourly forecast but populate with the forecasted temperature as the field is not available in Weatherspec for hourly.
Use temperature Field Definition for dew point and add it to today's weather.

Fields dew point and air quality could have been removed from the hourly weather definition but are kept in to test compatibility of these changes with watches.
2024-05-20 18:09:24 +02:00
Daniele Gobbetti
9e03f61de4 Garmin: Remove handling of legacy cache directory 2024-05-20 18:09:24 +02:00
Daniele Gobbetti
448df06d09 Garmin: adjust test after adding distance field 2024-05-20 18:09:24 +02:00
José Rebelo
564e7730b9 Garmin: Map all supported workout types 2024-05-20 18:09:24 +02:00
José Rebelo
2ff0000df8 Garmin: Overwrite files if local size is 0, omit date if equal to garmin epoch 2024-05-20 18:09:24 +02:00
José Rebelo
4567752d88 Garmin: Fallback to session for workout type 2024-05-20 18:09:24 +02:00
José Rebelo
1f6a8b8f64 Garmin: Fix overcounting of steps 2024-05-20 18:09:24 +02:00
José Rebelo
8b819eff30 Garmin: Throttle notification updates on fit parsing 2024-05-20 18:09:24 +02:00
José Rebelo
1567e5f276 Garmin: Fetch fit files HRV status 2024-05-20 18:09:24 +02:00
José Rebelo
9a5c692327 Garmin: Process downloaded fit files asynchronously
Fixes occasional ANR while syncing activity data.
2024-05-20 18:09:24 +02:00
José Rebelo
44313c8400 Activity Summary: Draw fit file if available 2024-05-20 18:09:24 +02:00
José Rebelo
69c78d61a7 Garmin: Persist and display activity
- Steps, hr, intensity
- Sleep stages
- Stress
- SpO2
- Workouts
2024-05-20 18:09:24 +02:00
José Rebelo
b3f0bc7cf9 Garmin: Improve computed timestamp parsing
timestamp16 must be applied against garmin epoch.
2024-05-20 18:09:24 +02:00
José Rebelo
c49de390e7 Garmin: Map more global fit messages
* Events
* Goals
* Gps Metadata
* Laps
* Record
* Respiration rate
* Sessions
* SpO2
* Time in Zone
2024-05-20 18:09:24 +02:00
José Rebelo
da44bd0c40 Garmin: Fix logging during tests 2024-05-20 18:09:24 +02:00
Lolek
e2805c3d20 Initial support for Garmin Swim 2 2024-05-20 18:09:24 +02:00
hrdl
2e39ba2dcd Add AGPS for Garmin Forerunner 245 2024-05-20 18:09:24 +02:00
Daniele Gobbetti
8c23ff003a Garmin: enable AGPS update for all Instinct 2 devices 2024-05-20 18:09:24 +02:00
kuhy
34ea6866ef Garmin protocol: show AGPS data status in settings 2024-05-20 18:09:24 +02:00
kuhy
9dfe3a52a0 Garmin protocol: add AGPS data checks 2024-05-20 18:09:24 +02:00
kuhy
905fd5b5e6 Garmin protocol: install AGPS data as firmware 2024-05-20 18:09:24 +02:00
kuhy
d54569b857 Garmin protocol: improve detection of successfully sent files (DataTransferHandler) 2024-05-20 18:09:24 +02:00
kuhy
5a50ad08a6 Garmin protocol: add support for AGPS data retrieval 2024-05-20 18:09:24 +02:00
Daniele Gobbetti
596d53e618 Fixup: Introduce device specific writable directory (MAC address)
Add logic to not fetch again files which had the previously defined name
2024-05-20 18:09:24 +02:00
Daniele Gobbetti
903bdc639c Introduce device specific writable directory (MAC address)
Also adds temporary method to move the fetched files from the legacy path to the new one which does not include the device name.
Also moves the FileIndex to the end of the cached files to allow for easier sorting.

Cherry-picked from 525b395c01ce57449ee9a8f74af663595223279e and adapted
2024-05-20 18:09:24 +02:00
José Rebelo
822f1a8584 Garmin: Make fit header crc optional 2024-05-20 18:09:24 +02:00
Daniele Gobbetti
8f500adbae Garmin: enable unicode Emoji for all devices
This seems to be widely supported by garmin devices, hence enable it in the base coordinator. Specific devices not supporting Unicode Emojis can override this method and return false.
2024-05-20 18:09:24 +02:00
Daniele Gobbetti
66da70db4f Garmin: harmonize device names
All device name strings start with manufacturer name.
Normalized the usage of accented i.
2024-05-20 18:09:24 +02:00
Andreas Schneider
b9460bd94b Garmin: add coordinator for Instinct Crossover 2024-05-20 18:09:24 +02:00
Daniele Gobbetti
7feff165a4 Garmin: fix regression in call handling
Add a fictitious action to the notification to enable reply/hangup/reject from the watch.
Also fixes the behavior on sms reply, which should also reject the incoming call.

Change the log level in case some of the canned messages types are left as default to info, as this is a supported scenario.
2024-05-20 18:09:24 +02:00
Daniele Gobbetti
8560dd8137 Garmin: encode unknown weather codes as invalid 2024-05-20 18:09:24 +02:00
meskio
cb7608efce Initial support for Garmin Instinct Solar 2024-05-20 18:09:24 +02:00