Commit Graph
100 Commits
Author SHA1 Message Date
Andreas Shimokawa c31f4e7c82 Pebble TimeStyle: support night icons finally 2025-11-09 09:52:27 +01:00
Andreas Shimokawa f898eb912c Penble 2: Fix crash (regression) 2025-11-06 20:17:09 +01:00
Andreas Shimokawa da7c7181f1 Pebble: support fetching debug logs
Those are only displayed in logcat. And really disappointng

Guess I need to build a debug firmware to figure out why this is so.
2025-11-03 12:13:06 +01:00
Andreas Shimokawa fd2627caee Pebble 2 Duo: Fix getting inital battery level (for the rest still rely on datalog 2025-11-02 13:06:36 +01:00
Andreas Shimokawa 876f5c8050 Pebble 2 Duo: request battery level though battery service when connecting
Also cleanup code a bit.

Problem is that the battery level vanishes for some reason after being displayed for a split second
2025-11-02 12:27:15 +01:00
Andreas Shimokawa d0c9878934 Pebble 2/Duo: Fix random crash on disconnect. 2025-11-02 07:57:08 +01:00
Andreas Shimokawa d5d21f531c Do not open discovery activity for new installs, there is the + button, and previously that was only for Android 6 an earlier anyway 2025-11-02 07:43:59 +01:00
Andreas Shimokawa ae0aa6df63 Pebble 2 Duo: react to MTU changes though the official BLE way 2025-11-02 07:38:45 +01:00
Andreas Shimokawa 75035f26c3 Pebble: Remove firmware 1.x and 2.x support
All pebbles ever released support Firmware >=3.x
And it got really old by now
2025-10-31 13:58:28 +01:00
Andreas Shimokawa 25cc9294be Pebble: bump app version to report to pebble to 4.4.2 (last official)
Also change magic values to actual flags for protocol caps
(looked up in libpebble3)
2025-10-31 12:55:15 +01:00
Andreas Shimokawa 0ab9cacd7f Pebble 2 Duo: prefer flint/ and diorite/ folders over aplite/ when installing apps
(Elso only OG binaries will be insalled which make TimeStyle for example much worse)
2025-10-31 11:26:52 +01:00
Andreas Shimokawa 9f751725e9 remove unneccessary checks for Android M 2025-10-30 22:12:47 +01:00
Andreas Shimokawa be23263a16 Pebble: small code cleanup 2025-10-30 22:06:49 +01:00
Andreas Shimokawa c722170b76 Pebble Time 2: recoginze as obelix 2025-10-30 19:27:52 +01:00
Andreas Shimokawa 0698380a1d Pebble 2 Duo: allow activating health 2025-10-30 18:35:04 +01:00
Andreas Shimokawa 09a99f934a use native method of setting MTU on Pebble 2 Duo 2025-10-30 17:40:11 +01:00
Andreas Shimokawa 346bb208d5 Pebble: try to fix pebble time regession 2025-10-30 16:54:38 +01:00
Andreas Shimokawa ba0647b9dd recognize Pebble 2 Duo hw rev code as asterix
Firmware update works!!!!
2025-10-30 15:51:15 +01:00
Andreas Shimokawa 9c5980617d Pebble: Make connection to new Pebble 2 Duo work in recovery mode
This is just a first hack, it is unclear how to deal with MTU etc yet.
I was able to pair and connect after some tries, which is better than nothing
2025-10-30 15:03:50 +01:00
Andreas Shimokawa b054bc62a4 README: do not mention Android version. Remove Pebble, Mi Band mention, more generic wording 2025-09-22 12:03:32 +02:00
Andreas Shimokawa 74a0b391a9 remove lollipop version guard 2025-09-22 11:58:21 +02:00
Andreas Shimokawa 76102a3f4e README: move stuff around again 2025-09-14 12:36:19 +02:00
Andreas Shimokawa 2b9417de85 link "get it on codeberg" to release page, move rb badge 2025-09-14 12:34:23 +02:00
Andreas Shimokawa 6df6e741da add rb badge 2025-09-14 12:32:21 +02:00
Andreas Shimokawa 3b900f3aef ATC_BLE_OEPL: add support for WO 260 BWRY JD V2 2025-08-20 16:46:22 +09:00
Andreas Shimokawa 6de321239f Fossil: when fetching activity, Do not calculate CRC32C which is never used 2025-07-22 00:45:45 +02:00
Andreas Shimokawa a490288b14 Fossil Hybrid HR: some code cleanups 2025-07-21 23:36:12 +02:00
Andreas Shimokawa f5642092c8 ATC_BLE_OEPL: Fix keeing aspect in some cases 2025-07-07 21:36:45 +02:00
Andreas Shimokawa e1c3bf3e64 ATC_BLE_OEPL: use printer icon 2025-07-07 14:40:39 +02:00
Andreas Shimokawa 6a04734f9c ATC_BLE_OEPL: apply dithering using PnnLABQuantizer
This involves making PnnLABQuantizer::dither public and abusiung it to be able to use dithering with a predefined palette
2025-07-07 10:56:13 +02:00
Andreas Shimokawa 165a78f99c ATC_BLE_OEPL: Keep aspect ratio when scaling 2025-07-05 15:13:01 +02:00
Andreas Shimokawa ed5de171e8 ATC_BLE_OEPL: support newly added HS 260 BWRY JD (needs firmware V105) 2025-07-04 19:18:42 +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
Andreas Shimokawa c34885974a ATC_TLSR_Paper: support getting/setting the ble advertising interval 2025-07-03 15:36:17 +02:00
Andreas Shimokawa 34bde9ce30 bump gradle plugin 2025-07-03 14:56:14 +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
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
Andreas Shimokawa aabfd91cf8 update changelog, bump version 2025-02-23 13:51:16 +01:00
Andreas Shimokawa 66adda46ec Marstek B2500: fix inverted logic for connection 2025-02-23 13:47:13 +01:00
Andreas Shimokawa 038bada484 Marstek B2500: decode more values and show debug in dashboard, improve colors for gauge 2025-01-10 00:37:59 +01:00
Andreas Shimokawa a6e4adc442 Marstek B2500: Fix setting pass-through mode 2025-01-02 01:27:28 +01:00
Andreas Shimokawa e661a4661a Marstek B2500: decode more unknown values, display temperature values in activity 2025-01-02 00:15:07 +01:00
Andreas Shimokawa 151f633247 Marstek B2500: also display current battery change level in Wh, not only percentage 2024-12-26 13:31:37 +01:00
Andreas Shimokawa 122108ec6d Marstek B2500: Fix wrong gauge display for panel 2 and output 2 2024-12-25 11:52:27 +01:00
Andreas Shimokawa b83aeb0f35 fix typo
Signed-off-by: Andreas Shimokawa <shimokawa@fsfe.org>
2024-12-22 16:07:25 +01:00
Andreas ShimokawaandHosted Weblate 495fb01fd4 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.5% (3459 of 3475 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-12-22 12:44:39 +01:00
Andreas Shimokawa 891db1eb96 add xml and fastlane changelogs 2024-12-22 12:22:14 +01:00
Andreas Shimokawa 2b56fb1307 Marstek B2500: improve gauges (show gray if a value is 0, not red or green) 2024-12-22 12:13:12 +01:00
Andreas Shimokawa 2dff32a4dc Marstek B2500: Improve initalization sequence to be more reliable 2024-12-22 12:06:00 +01:00
Andreas Shimokawa 1cd30c29c6 bump version update changelog 2024-12-22 00:03:27 +01:00
Andreas Shimokawa 4a2d09c4c8 remove some remaining lollipop checks 2024-12-21 23:59:35 +01:00
Andreas Shimokawa b220a2553c Marstek B2500: Remove duplicate logging, add copyright header 2024-12-21 23:26:30 +01:00
Andreas Shimokawa 6c8950209d Marstek B2500: add status activity which shows current inputs, outputs and charge level 2024-12-21 23:26:30 +01:00
Andreas Shimokawa f77a60a14c Marstek B2500: add copyright header 2024-12-21 23:26:30 +01:00
Andreas Shimokawa ef4743d554 Marstek B2500: decode more stuff and improve debug output
Known now:
- P1/P2 active (unclear yet if that means connected or actually outputting, will see in the night)
- Input in W from solar panels (Connector pairs 1+2)
- Output to inverter (Connector pairs 1+2)
2024-12-21 23:26:30 +01:00
Andreas Shimokawa 899f283a1b Marstek B2500: support battery pass-though, cleanups 2024-12-21 23:26:27 +01:00
Andreas Shimokawa 3ef6f092b3 Marstek B2500: allow setting and getting manual/automatic mode
we do not support the smartmeter though
2024-12-21 23:25:41 +01:00
Andreas Shimokawa 225ee7a248 Marstek B2500: set as experimental 2024-12-21 23:25:41 +01:00
Andreas Shimokawa 916368c05f Marstek B2500: support battery level display and reboot. Decode some more stuff 2024-12-21 23:25:41 +01:00
Andreas Shimokawa f79930fad9 Marstek B2500: initial support
Supported
- setting the time
- setting/getting the minimum charge of the battery that shall remain
- setting/getting 5 time intervals with output wattage and enable/disable switch
- getting the firmware version

TODO:
- check if times overlap
- check if we can output less than 80W (offical app only supports 80-800)
- research about the "automatic mode"
- research about unknown values we get from the two info calls

This has been tested with Firmware V220
I only have a very brief capture of V210 which obviously had less feature. I tried to somehow support it but I am not sure
2024-12-21 23:25:38 +01:00
Andreas Shimokawa de37e5b6fd bump version, add xml changelog 2024-11-11 23:29:47 +01:00
Andreas Shimokawa 1e0117727e fix xml 2024-10-29 11:49:59 +01:00
Andreas Shimokawa 3a152978d7 bump version, update changelog
trim changelog_master.xml to include changes for the last 2 years only
2024-10-29 11:45:00 +01:00
Andreas Shimokawa 4cc00144b6 bump version add xml and fastlane changelog 2024-06-28 16:54:30 +02:00
Andreas Shimokawa 7fe619c976 BLEScanService: Allow supported ScanSettings on Android API level 23 2024-03-25 10:34:44 +01:00
Andreas Shimokawa 668ed5ab71 update changelogs, bump version 2024-03-25 09:46:40 +01:00
Andreas Shimokawa 8d6110e9b3 update changelog again 2024-02-22 17:49:36 +01:00
Andreas Shimokawa 59dcea5d94 bump version, update changelogs 2024-02-22 13:38:22 +01:00
Andreas Shimokawa 8b9462f521 fix tests 2024-02-12 18:31:48 +01:00
Andreas Shimokawa 5b804bfb17 update changelogs, bump version 2024-02-12 15:36:50 +01:00
Andreas Shimokawa baaee8f589 update fastland and xml changelog 2024-01-14 22:55:22 +01:00
Andreas Shimokawa aae820a6e7 make changelog smaller, bump version 2024-01-14 22:42:05 +01:00
Andreas Shimokawa 177fa56bb9 Pixoo: Quick hack to "install" any image on the pixoo 2023-12-26 20:38:13 +01:00
Andreas Shimokawa f4d7a6b490 Pixoo: implement sending bitmaps
Not really used right not - mapped to "test new functionality"
2023-12-26 01:14:16 +01:00
Andreas Shimokawa 4f75141d76 pixoo: add missing settings xml file 2023-12-20 15:05:23 +01:00
Andreas Shimokawa 81c9aa5faf Pixoo: support "clap hands to turn off screen" and "sleep after silence" settings
Also fix crc calculation :P
2023-12-19 21:08:25 +01:00
Andreas Shimokawa 198800e087 Pixoo: Decode alarms from device, support sending alarms
This is probably not quite right yet.

Also we need to properly chunk incoming protocol messages before decoding them
2023-12-19 10:58:49 +01:00
Andreas Shimokawa ea0817f7b6 Use TextUtils.join intead of String.join, to make at least the linter happy
It is not clear to me if this would get desugarized anyway, but linter says needs API 26
2023-12-16 19:37:40 +01:00
Andreas Shimokawa c58d45423e bump version, update fastlane and xml changelog 2023-12-16 18:28:01 +01:00
Andreas Shimokawa b4aca410b4 Pixoo: implement some protocol for testing 2023-12-07 21:07:52 +01:00
Andreas Shimokawa b44b0fec7e Divoom Pixoo: Initial experimental support
Works:
- notifications
- call notification
- set time
- setting brightness
- setting 24h/12h format
- sending weather

Note
- this is implemented using using the classic bluetooth serial protocol, the
  device can do BLE, but I don't know how to use it, as I did not have the
  offical app to sniff.
- The information about the protocol comes from here
  https://github.com/jfroehlich/node-p1x3lramen/blob/main/source/devices/pixoo.js

TODO:
- Enable beep? Possible? I heard it beep once at least when switching it on
- Getting out of factory mode? Why does it always play animations even when I
   switch to the clock?
- Implement switching modes (can be done with the button)
- Implement sending own images and animations
- Firmware update?
- ...
2023-12-06 15:56:18 +01:00
Andreas ShimokawaandJosé Rebelo 776346d311 Xiaomi: guard against null pointer crash 2023-12-05 18:20:02 +00:00
Andreas Shimokawa 1b2a9ac140 Xiaomi: When sending contacts, use correct command to replace the ones already on the watch 2023-12-01 20:07:32 +01:00
Andreas Shimokawa 81e24e53ed Xiaomi: WIP implementation for sending contacts
This is not useful yet because contacts just get added when sending them, instaed of replacing.
Should be fixed or disabled before the release
2023-12-01 12:40:53 +01:00
Andreas Shimokawa 6e5bedb365 Xiaomi: Implement Screen On on Notification setting
Works on Redmi Watch 3 Active
Does not work on Mi Watch Lite
2023-12-01 07:52:08 +01:00
Andreas Shimokawa 6f2876fa66 Mi Watch 3 Lite: Fix firmware update
(not enabled yet)
2023-11-26 00:22:37 +01:00
Andreas ShimokawaandJosé Rebelo 84cf8efb59 Redmi Watch 3 Lite: Initial support
This is just using mi band 8 code, some feature work
2023-11-25 21:16:53 +00:00
Andreas ShimokawaandJosé Rebelo 50f086b03a Xiaomi: Implement daily forecast
Works on Mi Watch Lite
2023-11-25 21:16:53 +00:00
Andreas ShimokawaandJosé Rebelo e2f60b38c9 Xiaomi: fix NPE when no air quality is available 2023-11-25 21:16:53 +00:00
Andreas ShimokawaandJosé Rebelo 0e3e406320 Xiaomi: Send AQI
Todo: map to strings
2023-11-25 21:16:53 +00:00
Andreas ShimokawaandJosé Rebelo 9749716c23 Xiaomi: add two more fields to current weather (seen on Mi Band 8) 2023-11-25 21:16:53 +00:00
Andreas ShimokawaandJosé Rebelo 929ea7ae57 Xiaomi: Implement sending current weather
TODO: Support °F, find out about unknown values

Tested on Mi Watch Lite
2023-11-25 21:16:53 +00:00
Andreas ShimokawaandJosé Rebelo 27fba50283 Xiaomi: move emoji conversion to base class
This works on Mi Watch Lite from FW 4.1.12
2023-11-25 21:16:53 +00:00
Andreas ShimokawaandJosé Rebelo cef4b62458 Mi Watch Lite: enable install handler
Does not work as is because we do not recognize watchfaces and firmware yet
2023-11-25 21:16:53 +00:00
Andreas ShimokawaandJosé Rebelo 9ea7b48e0c Xiaomi: Add outdoor running subtype to enum. 2023-11-25 21:16:53 +00:00