Mostly copied from the Buds Pro as those earbuds have a similar feature set and mostly the same protocol.
Working:
- Pairing
- Earbud and case battery level
- Finding lost device
- Settings:
- Noise control:
- ANC/ambient/off
- With one earbud
- Voice detect and timeouts
- Ambient sound during calls
- Touch options:
- Touch lock
- Switch noise control, voice assistant, Spotify and volume actions
- Double tap edge
- Equalizer
- Sound balance
- Seamless earbud connection
Can be improved:
- ~~ANC level and ambient sound volume do nothing, and don't seem to be supported on this model as there is no toggle for either in the official app.~~ (fixed: 26a9d274ae)
- Ambient sound customization has more options than on previous models, but I can't implement it properly as I can't really hear any difference between the options (my buds might be the issue though).
- ~~The touch lock toggle is once again inverted, like on the [Buds2](d2c4990c48)~~ (fixed: 21db5390c1).
Untested:
- Settings:
- In-ear detection for calls
- Ambient sound customization
- Game mode
This PR also makes some visual changes to the settings of various Galaxy Buds models.
I'd also like to be added to the wiki's allow list. I want to add the Buds2 and Buds2 Pro to the list of supported devices.
---
And sorry for creating this many pull requests. This is mostly due to Codeberg breaking the reference to the branch.
Co-authored-by: Narek <narek.email@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3049
Reviewed-by: José Rebelo <joserebelo@noreply.codeberg.org>
Reviewed-by: Andreas Shimokawa <ashimokawa@noreply.codeberg.org>
Co-authored-by: narektor <narektor@noreply.codeberg.org>
Co-committed-by: narektor <narektor@noreply.codeberg.org>
Mostly copied from the Buds Pro as those earbuds have a similar feature set and mostly the same protocol.
Co-authored-by: narektor <narektor@noreply.codeberg.org>
Co-committed-by: narektor <narektor@noreply.codeberg.org>
- adds initial device support
- can control driving forward/back/left/right
- probably could be implemented further:
- battery reading
- device name?
- lights on
- fast/slow speed mode
Add basic initial support for the Amazfit GTS 3 based on Xiaomi Smart Band 7 support.
What was already tested (other features might work too):
**Implemented features**
Connection
Reconnect after Airplane mode
Set time
Notifications
Send to band
Delete notifications on phone/band when deleted on the other
Calls
Custom notification icons
Handle + ack notification replies from band
Music (with youtube music)
Music Info
Volume
Music buttons
Find Phone from band / stop on band when stopped on phone
Battery Info (request, parse)
Flash Watchface
Night mode (mode, schedule)
Lift wrist (mode, schedule, sensitivity)
(Not) working features might be similar to Miband 7.
Tested on
FW: 7.42.5.1
HW: 0.76.17.4
Co-authored-by: Andreas Sedlmayer <sedlmayer.andreas89@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2871
Co-authored-by: sedy89 <sedy89@noreply.codeberg.org>
Co-committed-by: sedy89 <sedy89@noreply.codeberg.org>
This PR adds support for the flipper zero device.
It's main purpose currently is to provide an Intent-based API to Tasker and similar apps to play sub-GHz files.
In the future, file management and other features might be useful.
Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2840
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
this PR aims to add device for multiple connected devices at once.
A lot of stuff already works, some things need to be done:
- [x] change DeviceCommunicationService to hold multiple devices and supports
- [x] implement connect / disconnect logic
- [x] widgets, not really suited for multiple devices, so far
- [x] change the notification to show multiple devices
- [ ] change GBDeviceService#onFindDevice and similar API functions to target individual devices, not all connected.
- [x] move auto-reconnect setting to device settings
- [x] fix music event crash
- [x] work out behaviour when pressing "connect" from notification
- [ ] handle service crashes
- [ ] suit coordinator methods for multiple devices of same kind
- [x] change ACL_CONNECTED receiver to connect to devices that are not currently registered in DeviceCommunicationService
- [ ] adjust after-boot auto-connection logic
- [ ] fix hanging device support. Device says disconnected, GB says connected
- [x] firmware updater doesn't work
My attempt to make onFindDevice work was to change the arguments to ```EventHandler#onFindDevice(GBDevice device, boolean start)```.
The Problem is that this forces the device-specific implementations to also accept GBDevice as an argument.
Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Co-authored-by: Andreas Shimokawa <shimokawa@fsfe.org>
Co-authored-by: dakhnod <dakhnod@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2526
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
This really seems to be the same device, but it does have a different firmware
and a different bluetooth name.
Do this to prevent cross flashing - which might actually be okay but we do not know.
New Huami Amazfit GTS 2 Mini activity for Outdoor Trekking/Hiking.
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2528
Co-authored-by: Sebastian Krey <skrey@noreply.codeberg.org>
Co-committed-by: Sebastian Krey <skrey@noreply.codeberg.org>
Adds Support for BLDC controller VESC connected to a BLE serial device like an HM10.
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2491
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
This PR adds not only the device Bose QC35,
it also adds the following autop-reconnect feature:
When the headphones are turned on, the initiate a connection with the phone.
With this change, GB is notified about said change, and tries to establish a connection to the newly connected device, if the appropriate device setting is set.
The QC35 headpones always have NC turned on after boot, thus the main feature of this implementation is to turn off NC as soon as the headphones are turned on and connected to the phone.
I am open for discussion regarding the implementation, but this seems like a good first proposal.
What is missing is the ability to connect to multiple devices, since in many cases headphones can be connected to the watch simultaniously to a smartwatch or other gadget.
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2520
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
- this tries to address a common request to display user data up front
- i would make this via a fragment, but RecyclerView doesn't like Fragments
- (fragments would make it much easier to also add a charts like view,
like we use on the Activity list tab)
- i added configuration that allows to disable it partially or fully
Co-authored-by: Petr Vaněk <vanous@noreply.codeberg.org>
Co-committed-by: Petr Vaněk <vanous@noreply.codeberg.org>
Nothing Ear (1) are wireless earbuds that support active noise
suppression, transparency mode and several gestures.
This initial commit adds support for:
- reading battery level
- setting audio mode
- setting in-ear auto detection
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2403
Co-authored-by: daniele <daniele@noreply.codeberg.org>
Co-committed-by: daniele <daniele@noreply.codeberg.org>
fixup! huamni: send windspeed in beaufort
BipS: send windspeed as km/h
huami: Always send sunrise and sunset
There is no need to look at send_sunrise_sunset, this is peble spesific
because it could be annoying on that platform (an extra line in the
timeline). On huami devices, the watchface desides what to show.
Signed-off-by: Robbert Gurdeep Singh <git@beardhatcode.be>
Mi5: set supportsSunriseSunsetWindHumidity to true
Signed-off-by: Robbert Gurdeep Singh <git@beardhatcode.be>
huamni: send windspeed in beaufort
Signed-off-by: Robbert Gurdeep Singh <git@beardhatcode.be>
Co-authored-by: Robbert Gurdeep Singh <git@beardhatcode.be>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2247
Co-Authored-By: beardhatcode <beardhatcode@noreply.codeberg.org>
Co-Committed-By: beardhatcode <beardhatcode@noreply.codeberg.org>
wasp-os is an open-source firmware, based on MicroPython, for smart
watches that are based on the nRF52 family of microcontrollers.
Currently this includes the hacker friendly PineTime from Pine64 as
well as the Colmi P8, which is a popular device with watch modders.
For GadgetBridge integration wasp-os is very similar to handling
Espruino/BangleJS: the watch will interact with the bridge by
providing REPL-over-BLE via the Nordic UART service.
wasp-os implements the same JSON-wrapped-in-GB()-function-call
protocol used for BangleJS buy the differences in capability
between the two firmwares lead us to introducing a different
device type... and also a different icon since the lead devices
for wasp-os are square!
I plan to keep as aligned as possible with the BangleJS device
type, however at present the major differences include:
1. Specify the bonding style (wasp-os currently does not support
bonding... so no need to ask).
2. Disable some of the not-yet-implemented features.
3. Reduce the minimum packet size to fix communication reliability
issues with the MicroPython NUS implementation.
4. Switch the date/time setting syntax from JavaScript to MicroPython.
Merge branch 'master' into master
Added support for Amazfit GTR 2e.
Co-authored-by: Jochen S <tsalin@noreply.codeberg.org>
Co-authored-by: arisel <arisel@arisel.de>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2182
Co-Authored-By: Jochen S. <tsalin@noreply.codeberg.org>
Co-Committed-By: Jochen S. <tsalin@noreply.codeberg.org>
Merge branch 'amazfit_neo' of codeberg.org:xaos/Gadgetbridge into amazfit_neo
updated menu items and settings, also disabled music info
added some classes, strings, etc. for Amazfit Neo (shows up but does not connect)
Merge branch 'amazfit_neo' of codeberg.org:xaos/Gadgetbridge into amazfit_neo
Merge branch 'master' into amazfit_neo
updated menu items and settings, also disabled music info
Merge branch 'authkey_errmsg' into amazfit_neo
refined error message for invalid authentication keys
added some classes, strings, etc. for Amazfit Neo (shows up but does not connect)
Co-authored-by: xaos <xaos@xaos.tech>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2117
Co-Authored-By: xaos <xaos@noreply.codeberg.org>
Co-Committed-By: xaos <xaos@noreply.codeberg.org>
This fixes the Verge Lite id back to 29 and changes Amazfit Bip U Pro to 30 (and Live View to 320)
Liveview has no activity data and proably has very few if any users. So re-pairing should be acceptable
- make layout transparent rather then red, update the preview image
- move battery to top row to reduce size, add status indicators with icons
- add preference settings, to choose for which device this widget is
- data is no longer calculated for all devices but for a selected device
- add debug items to view and erase widget settings and registrations
(debug items are intentionally not translatable yet)
- makes nicer dashboard, unify with design in Activity List
- dashboard is now part of the sports activities list (had to overcome
some hurdles, because of the multiselect for sharing)
- add icons to Spinners in Sports Filter
Add possibility to pick individual SportsItem items into filtered view
Add quick time range selector
add deviceFilter for devices that supportsActivityTracks
add baseAltitude
add average speed, calculated from from distance/active time
make Activity Details layout scrollable
Merge branch 'master' into master
Merge branch 'master' into master
Added available languages for Mi Band 5.
This one's for fixing the step counter but the daily count is always a little bit different compared to what's shown on the smartband.
Extending Mi Band 5 support! Every display item can be showed on the smartband now.
Cleanup
FW related test code
FW related test code
FW related test code
FW related test code
Adding Mi Band 5 test support
Co-authored-by: cristian <c.alfano@outlook.it>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/1930