Commit Graph
1592 Commits
Author SHA1 Message Date
José Rebelo 3c848e6ac0 Moondrop Space Travel 2 Ultra: Initial support 2026-05-19 20:26:16 +01:00
José Rebelo a6a1188a11 Huawei Watch Fit 5 / 5 Pro: Initial support 2026-05-18 22:10:12 +01:00
José Rebelo 61f4396805 Garmin GPSMAP H1: Initial support 2026-05-18 21:49:00 +01:00
José Rebelo 6961ff77db Sinilink: Initial support
Developed and tested against the XY-AP50L
2026-05-17 09:13:29 +01:00
José RebeloandJosé Rebelo c1f5647b6f Huawei: Allow encryption to be enabled / disabled 2026-05-17 00:46:18 +02:00
José Rebelo 122f0bacb7 Anker Soundcore Sport X20: Reuse some equalizer strings 2026-05-16 21:11:24 +01:00
duhowandJosé Rebelo b8f5440a59 Anker: Add new device Soundcore Sport X20 (#5987)
This is an almost full implementation for [Anker](https://gadgetbridge.org/gadgets/headphones/anker/) [Soundcore Sport X20](https://www.soundcore.com/products/a3968-sport-x20-earbuds) earbuds.

Provides:

- Firmware version and serial number
- Display battery life when sent by earbuds
- ANC Settings
- Find Device
- Equalizer with Presets
- 3D Surrounding Sound
- Toggle "Touch Tone" (sound when button is pressed)
- Set the behavior of button actions
- Set Auto Power-Off Timer
- Enable discovery/pairing to add a second device to use the earbuds

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/5987
2026-05-16 22:11:02 +02:00
José Rebelo c1d8fce4d3 Add setting to enable TRACE log level 2026-05-16 18:48:03 +01:00
José Rebelo d1f5531217 Prevent crash on devices without GPS 2026-05-16 18:09:57 +01:00
José Rebelo 37ad178dac Redmi Buds 6: Initial support 2026-05-16 17:54:51 +01:00
Davide GessaandJosé Rebelo 491f214611 Casio GBD200 device support (#6070)
In this pull request I separated the implementation of the GBD200 from the common implementation of GBX100 since during protocol reverse engineering (done here: github.com/dakk/casio-gshock-bt-proto/) I've found some discrepancies in the BLE protocol, and in my opinion it is better to separate since they are too different in many ways.
The flow works from initial pairing, connection, workout / step sync, configuration sync.

The following feature has been implemented and tested:
- [x] Watch connection and handshake
- [x] Config sync
- [x] Goal settings
- [x] Phone finder
- [x] Sport activity start and stop events
- [x] Sport activity sync with segment data
- [x] Step data sync
- [x] Notifications
- [x] Sport activity and OpenTracks
- [x] Alarm setting

Non Casio related edit:
- OpenTracksController.saveToGpx now handles empty activity (since gbd200 has no gps, and cannot handle gps data, running GBLocationService would be useless)

It should also address some of the following issues:
- https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/5529
- https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/2634
- https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/2597
- https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/5096
- https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/3395
- https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/2602
- https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/4095
- https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/4092
- (test all the GBD200 related issues https://codeberg.org/Freeyourgadget/Gadgetbridge/issues?state=open&type=all&labels=&milestone=0&project=0&assignee=0&poster=0&sort=relevance&q=GBD-200)

Todo:
- [x] Test for some day on my wrist

![image](/attachments/4e4fff71-bbff-43a9-8d0e-1c6fef9e6d67)
![image](/attachments/61eaefdd-b36f-4334-bd05-e999edc31570)
![image](/attachments/821ba2a2-0dd1-4cc0-9e46-8f7a21acbe5c)
![image](/attachments/532c7e6b-7fb4-4166-a8d6-d63ace16afd2)

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/6070
2026-05-15 21:28:35 +02:00
José Rebelo 22859347f8 Redmi Watch Move: Initial support 2026-05-15 18:23:24 +01:00
Vitaliy TominandJosé Rebelo 519b17647b igpsport: Add BSC300 2026-05-13 23:33:24 +02:00
Michael PlattnerandJosé Rebelo bad96e4f75 feat: add binavi air 2026-05-13 23:33:24 +02:00
Vitaliy TominandJosé Rebelo ad1ff7250d igpsport: Split iGS630S to its own coordinator
* minor log fix
2026-05-13 23:33:24 +02:00
Vitaliy TominandJosé Rebelo 6255057772 igpsport: Removed all RuntimeException from igpsport and minor fixes 2026-05-13 23:33:24 +02:00
Vitaliy TominandJosé Rebelo 5f9114c221 igpsport: Mark device names non-translatable 2026-05-13 23:33:24 +02:00
Vitaliy TominandJosé Rebelo 0046666f19 igpsport: update strings s/IGPSPORT/iGPSPORT/ 2026-05-13 23:33:24 +02:00
Richard NauberandJosé Rebelo 78494a6877 igpsport: add BCS200S support 2026-05-13 23:33:24 +02:00
Vitaliy TominandJosé Rebelo c0bcee6ba7 igpsport: Add iGS800 2026-05-13 23:33:24 +02:00
Thomas KuehneandJosé Rebelo 014b180a30 igsport: rebase device code to master ad34fec706 2026-05-13 23:33:24 +02:00
José Rebelo cbe4226a76 Experimental support for Amazfit Active 3 Premium, Cheetah 2 Pro, T-Rex Ultra 2 2026-05-10 15:48:18 +01:00
José Rebelo ced5f2f680 Merge pull request 'Moondrop: add support for Moondrop Space Travel 2 and its audio curation modes (ANC)' (#6062)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/6062
2026-05-09 23:57:37 +02:00
Thomas Kuehne 3781924351 Garmin: improve workout parsing
- add initial / final / min stamina handling for session summary
- add fractional cycle and cadence handling for session summary
- add fallback handling for diving summary
2026-05-08 09:36:57 +00:00
Dominik Riebeling 10f438aef7 CMF Buds: Enable EQ / Ultra Bass / low latency for Buds 2 Plus
- Update EQ preset values for Buds 2 Plus
- Enable for Buds 2 Plus
2026-05-03 22:02:56 +02:00
Thomas Kuehne d45bcd4db3 Garmin: add basic Send Waypoint activity
- available in device specific settings for supported gadgets
- supports pasting common text formats (e.g. 27°59′18″N 86°55′31″E)
- supports geo: URIs (e.g. geo:27.988333,86.925278,8848)
2026-05-03 16:11:55 +00:00
José Rebelo c40d3e63a8 CMF Buds 2a: Add equalizer and ultra bass 2026-05-03 16:44:35 +01:00
Dominik RiebelingandJosé Rebelo aaf5b3011f CMF Buds: Support more ANC modes
Some Buds support additional ANC modes "medium" and "adaptive".
Add them to the available modes.

- Buds 2 Plus
- Ear(a) (see #3994)

Likely also applies to other models.
2026-05-02 19:50:44 +02:00
Dominik RiebelingandJosé Rebelo 5ba0f6bf71 CMF: Initial support for Buds 2 Plus 2026-05-02 19:50:44 +02:00
Jan64X f616c3159c Moondrop: Split ST2 into its own device coordinator and device type 2026-05-02 15:20:13 +02:00
Jan64X ce85474e0a Moondrop: add support for Moondrop Space Travel 2 and its audio curation modes (ANC) 2026-05-02 12:31:24 +02:00
José Rebelo 666252de1a Huawei Watch Ultimate 2: Initial support 2026-05-01 15:43:08 +01:00
liberodarkandJosé Rebelo 79763f0228 Add Huawei Watch GT Runner 2 2026-04-26 14:56:34 +02:00
José Rebelo 19660a69ab CMF Buds 2a: Initial support 2026-04-26 10:00:38 +01:00
José Rebelo 3623dde207 Garmin Forerunner 570: Initial support 2026-04-25 13:38:32 +01:00
Thomas Kuehne e01599a9e3 Garmin: enhance activity summaries
- add fallback sources for HR_AVG, TOTAL_ASCENT, TOTAL_DESCENT, AVG_POWER, BODY_ENERGY_AT_START and BODY_ENERGY_AT_END
- fallback to lap average speed if the lap enhanced average speed isn't available
- ensure that paces/speeds are only rounded by WorkoutValueFormatter and not also by GarminWorkoutParser
- add diving lap summary for apnea
- add scuba tank summary
- fix diving summary gaps when CNS, N2 load or O2 toxicity values are 0
2026-04-25 00:16:16 +00:00
Thomas Kuehne f0c5748eaa Garmin: add more sport / subsport codes 2026-04-24 20:50:55 +00:00
José Rebelo e581eb34c4 Round large work values to kJ 2026-04-23 22:39:59 +01:00
José Rebelo 2380f98815 Adjust default sleep range to 18:00
This is a saner default than 12:00, which cuts off sleep sessions that
go past noon. We keep the previous noon-to-noon setting as an option, in
case that is a better option for some users.
2026-04-23 20:49:47 +01:00
José Rebelo b95ad084d6 Sony WH-1000XM3: Disable unsupported preferences when Audio HD enabled 2026-04-19 16:24:38 +01:00
duhowandJosé Rebelo 0e85d47cc8 Sony: WH-1000XM3 add support for LDAC and NC/AMBIENT button switch (#5990)
Implements missing features from [WH-1000XM3](https://gadgetbridge.org/gadgets/headphones/sony/#device__sony_wh-1000xm3):

- Sound Quality Mode (SBC Codec / HD codecs)
    - Added as a switch (boolean) in UI
    - Note that LDAC option can appear in Andoid Bluetooth Device settings as well as unselected. Some Android devices (eg. Samsung) will also allow changing the BT Codec in Developer Settings, but if this is not enabled, the change won't apply.
- Function of NC/AMBIENT button
    - Allows using either Google Assistant or Alexa Assistant.
    - This model does not support "system assistant", used for other non-Google/Alexa assistants.

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/5990
Co-authored-by: duhow <contacto@duhowpi.net>
Co-committed-by: duhow <contacto@duhowpi.net>
2026-04-19 17:17:16 +02:00
José Rebelo dd46ba54be Polar H10: Add configuration settings 2026-04-18 17:44:19 +01:00
José Rebelo 8a1cd4adfc Add FossWallet support 2026-04-15 21:46:59 +01:00
José Rebelo 0e704a9c35 Use grams for weight values under 1kg 2026-04-15 21:43:13 +01:00
José Rebelo 7e240be379 Add hint about subdomain 2026-04-14 23:41:05 +01:00
José Rebelo 5b7ad07e05 Merge pull request 'Garmin: enhance activity summaries' (#5996)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/5996
2026-04-14 22:27:18 +02:00
Thomas Kuehne 426a88f020 Garmin: enhance activity summaries
- prioritise names: workout name > session sports profile > sport name
- gracefully fallback from Enhanced Respiration to plain Respiration
- gracefully fallback from Enhanced Speed to plain Speed
- add gear info showing last battery reading of connected devices
- add altitude min/max/avg
- add user heart rate (min/max/resting)
- add workout feel (0 - 100%)
- add device battery state (initial / final)
- add ebike battery state (initial / final)
- add more recovery, work, energy statistics
- diving: add SAC (Surface Air Consumption)
- diving: add water density with fallback to water type
- diving: ignore disabled gases
2026-04-14 05:00:58 +00:00
José Rebelo ad57864dcc Sony WH-1000XM6: Experimental support 2026-04-13 23:34:03 +01:00
Thomas KuehneandJosé Rebelo 9344940260 extend support for non-GPS activities
This enhances the general GB code _without_ the device specific adjustments required to actually display values:
- chart elevation even if the activity has no GPS recording (e.g. treadmill and floor climbing)
- added distance chart
- added stride chart
- added step length chart
- added body energy chart - 24/7 energy level
- added stamina chart - activity specific endurance capacity
- added N2 load (Nitrogen) chart for diving
- added CNS toxicity (Central Nervous System) chart for diving
- added oxygen toxicity summary for diving
- added surface interval summary for diving
2026-04-11 01:43:45 +02:00
José Rebelo cede254fd8 Huawei Band 11 Pro: Initial support 2026-04-10 23:28:15 +01:00