Commit Graph
13858 Commits
Author SHA1 Message Date
Andreas Shimokawa ed5de171e8 ATC_BLE_OEPL: support newly added HS 260 BWRY JD (needs firmware V105) 2025-07-04 19:18:42 +02:00
José Rebelo 848454c871 Amazfit Active 2 Square: Experimental support 2025-07-04 10:02:03 +01:00
Thomas KuehneandJosé Rebelo 83db1c98ff logging: use Runtime.addShutdownHook to flush the log
This should have a better chance to write the last log lines than doing it in UncaughtExceptionHandler.
2025-07-04 10:49:40 +02:00
Andreas Shimokawa b4277e7bd2 ATC_BLE_OEPL: Support black/white/yellow displays 2025-07-04 02:34:47 +02:00
Andreas Shimokawa b0bb0f0eb5 Rename ATC_TLSR_Paper to ATC_BLE_OEPL
It seems the old github repo is named ATC_TLSR_Paper, but the firmware (without published source) we use now is called ATC_BLE_OEPL

At least the author calls it ATC_BLE_OEPL now

https://www.youtube.com/watch?v=9oKWkHGI-Yk
2025-07-03 23:57:54 +02:00
Andreas Shimokawa 7e7f554045 ATC_TLSR_Paper: support enabling/disabling oepl protocol, fix setting BLE advertising interval 2025-07-03 20:49:57 +02:00
José RebeloandJosé Rebelo 8916555044 BT Classic/BTBR: Fix concurrency issues on connection 2025-07-03 19:59:00 +02:00
Andreas Shimokawa c34885974a ATC_TLSR_Paper: support getting/setting the ble advertising interval 2025-07-03 15:36:17 +02:00
José RebeloandJosé Rebelo d2981a7ec8 BT Classic/BTBR: Enable periodic reconnection 2025-07-03 15:00:39 +02:00
Andreas Shimokawa 34bde9ce30 bump gradle plugin 2025-07-03 14:56:14 +02:00
Thomas KuehneandJosé Rebelo 8820f64d69 concurrency: AtomicBoolean and volatile boolean
when multiple threads may be involved
AtomicBoolean: at least once code location tests and then sets the value
volatile boolean: test and set are in different code path
2025-07-03 10:17:33 +02:00
Andreas Shimokawa b610f7720f ATC_TSLR_Paper: support HS 154 BWRY JD
This sends a full configuration instead of a single id because it is not supported officially by the firmware it seems

Tested with 1.54 inch Hanshow Nebular Pro 154Q-N (200x200 px)
2025-07-02 22:54:42 +02:00
Andreas Shimokawa cb03fb18bf ATC_TSLR_Paper: allow setting the display type
This will reboot the system and load a preset from the firmware
Some displays still need tweaks which is not supported yet.
2025-07-02 21:31:13 +02:00
Thomas KuehneandJosé Rebelo 9976d396ec ble: BtLEQueue optimizations for CompanionDevice auto connect (#5019) 2025-07-01 23:30:29 +02:00
Thomas KuehneandJosé Rebelo d98e51190d ble: always use the TransactionBuilder provided to createTransactionBuilder
The use of initializeDevice's TransactionBuilder was inconsistent:
onServicesDiscovered used the input argument
performInitialized used the return
2025-07-01 23:04:03 +02:00
José Rebelo cb9db98480 Garmin Venu X1: Experimental support 2025-07-01 20:35:55 +01:00
José Rebelo 52a30561fd Mi Band 10: Experimental support 2025-07-01 20:34:09 +01:00
Thomas Kuehne 0d4e64ca85 fix: AbstractMethodError CompanionDeviceService.onDeviceDisappeared (#5028)
In older Android versions this is method is abstract.
2025-07-01 19:27:28 +02:00
Andreas Shimokawa 30ccb07698 ATC_TSLR_Paper: scan also for service, to not interfere with Mijia devices 2025-07-01 18:10:12 +02:00
Andreas Shimokawa 125dd289a3 ATC_TLSR_Paper: Support firmware update 2025-06-30 14:03:50 +02:00
Andreas Shimokawa 0c2dad6f89 ATC_TLSR_Paper: Initial support
This is for epaper devices with a TLSR8359 chip, running a fork of openepaperlink that enables BLE

The firmware that has to be flashed is this one:

https://atc1441.github.io/ATC_BLE_OEPL.bin
(there seems to be no source for that)

It also has to be configured already to match your screen, so you should already see the openepaperlink screen on the device before using Gadgetbridge

Works:
- getting screen configuration
- sending images to epaper displays with black/white or black/white/red/yellow

TODO:
- allow configuration of screen type and parameters through Gadgetbridge
- firmware update
2025-06-30 12:25:25 +02:00
José Rebelo 37c4972cb2 Garmin Forerunner 945: Initial support 2025-06-29 18:35:38 +01:00
José Rebelo a844bdc37b Amazfit Helio Strap: Enable HRV 2025-06-29 18:20:51 +01:00
José Rebelo cb1d0c2eb0 Garmin: Split fit files per type / year 2025-06-29 16:48:20 +01:00
José Rebelo 5df1e0b467 Zepp OS: Map some unknown menu items and shortcut cards 2025-06-29 16:32:49 +01:00
José Rebelo cb5e611fbf Zepp OS: Make device info parsing more resilient 2025-06-29 16:23:20 +01:00
José Rebelo ba1c9ddf2f Zepp OS: Request only supported config groups 2025-06-29 16:23:20 +01:00
José Rebelo c619506057 Amazfit Helio Strap: Initial support 2025-06-29 16:23:20 +01:00
Thomas KuehneandJosé Rebelo 071c7529ba use Build.VERSION_CODES instead of magic numbers
The available codes only depend on compileSdk.
minSdk and targetSdk are not relevant.
2025-06-29 16:32:27 +02:00
Thomas KuehneandJosé Rebelo 6728e87393 DeviceCommunicationService - stress test connect/dispose (#5020)
only effective in debug builds:
Test if a DeviceSupport is ready for multiple connect triggers (manual, AutoConnectIntervalReceiver, BluetoothConnectReceiver, GBCompanionDeviceService)

Device specific debugging preferences:
1) optionally call DeviceSupport.dispose() twice
2) optionally call DeviceSupport.connect() multiple times in series or in parallel
2025-06-29 16:31:53 +02:00
José Rebelo 8c91b5dd3f CalendarManager: Close event reminder cursor 2025-06-29 13:31:01 +01:00
Thomas KuehneandJosé Rebelo 4723115356 enable StrictMode with penalty log for debug builds (#5022) 2025-06-29 14:26:32 +02:00
José Rebelo 75b8f7178a Huami: Fix support class reuse 2025-06-29 13:07:12 +01:00
José Rebelo 676b861c40 Zepp OS: Fix support class reuse 2025-06-29 13:07:12 +01:00
José Rebelo 0e25d9ca81 AAWireless: Fix support class reuse 2025-06-29 13:07:12 +01:00
José Rebelo d97177dea6 Xiaomi: Fix support class reuse 2025-06-29 11:58:19 +01:00
José Rebelo 79d9f99ed0 Update changelog 2025-06-28 18:49:46 +01:00
dependency-botandJosé Rebelo b84d282586 Update dependency org.jsoup:jsoup to v1.21.1 2025-06-28 19:43:43 +02:00
Thomas KuehneandJosé Rebelo f732ff582a ble: add ReadPhyAction, SetPreferredPhyAction, onServiceChanged and onReliableWriteCompleted 2025-06-28 19:34:22 +02:00
Thomas KuehneandJosé Rebelo e40608dcf6 ble: enable BtLEQueue to log to-be-written values 2025-06-28 19:28:22 +02:00
Thomas KuehneandJosé Rebelo 95d163e8c3 casio gbx100: distinct transaction names for better debugging (#5008) 2025-06-28 16:40:02 +02:00
José Rebelo c8e34040db Redmi Watch 5: Initial support 2025-06-28 15:36:50 +01:00
dependency-bot 7889c7fd6e Update dependency org.robolectric:robolectric to v4.15.1 2025-06-28 08:03:07 +00:00
José Rebelo 61b8ea7c35 Renovate: Fix matchFileNames (#5009) 2025-06-28 08:56:49 +01:00
José Rebelo 748f3e2b7c Garmin/Zepp OS: Fix HTTP requests on Android < 13
Partially reverts 79a6ee2c9
2025-06-27 21:51:44 +01:00
José RebeloandJosé Rebelo ae32b7b1e4 PebbleIoThread: Fix connection 2025-06-27 15:49:22 +02:00
José Rebelo 533ecb9ee3 CMF Watch Pro: Firmware update
Tested by updating to 11.0.0.57
2025-06-27 00:05:18 +01:00
Arjan SchrijverandArjan Schrijver d0b85358b6 Yawell Ring: Add support for Yawell R10 and R11 2025-06-26 21:24:58 +02:00
Arjan SchrijverandArjan Schrijver 9fce6e1c8d Colmi R0x: Rename to Yawell Ring
As discussed in https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/4872, these rings and the app QRing are actually made by Yawell.
2025-06-26 21:24:58 +02:00
Thomas KuehneandJosé Rebelo 868bc0bd7e BtBR+BtLE: adjust DeviceSupport's isConnected to check the queue's status
DeviceSupport asks BtBRQueue/BtLEQueue for the connectivity status as the queue knows best.
This enables the queue implementation to sidestep multi-threading issues.
2025-06-26 20:42:49 +02:00