Ganblejs
cd8fad29b1
Bangle.js:actTrk: reference ActivitySummaryEntries
2024-03-21 23:28:29 +00:00
Ganblejs
8715cc7e81
Bangle.js:actTrk:dont extend BangleJSDeviceSupport
2024-03-21 23:28:29 +00:00
Ganblejs
7182f4be67
Bangle.js:actTrk:cmnt out some faulty summary data
2024-03-21 23:28:29 +00:00
Ganblejs
35021f28fa
Bangle.js:actTrk: fix 'Reset fetch date' function
2024-03-21 23:28:29 +00:00
Ganblejs
c2a4eed13a
Bangle.js:actTrk: pckts out of order->stop timeout
2024-03-21 23:28:29 +00:00
Ganblejs
cd9fdca397
Bangle.js:actTrk: cmt re send "stop" on interrupt
2024-03-21 23:28:29 +00:00
Ganblejs
21882042c4
Bangle.js:actTrk: fix fastest/slowest pace
2024-03-21 23:28:29 +00:00
Ganblejs
9f2df0262f
Bangle.js:actTrk: refactor LOG.info to debug/error
2024-03-21 23:28:29 +00:00
Ganblejs
8060911d42
Bangle.js:actTrk: move private methods down
2024-03-21 23:28:29 +00:00
Ganblejs
70a7d8f8da
Bangle.js:actTrk: add private modifier
2024-03-21 23:28:29 +00:00
Ganblejs
546102f01f
Bangle.js:actTrk: accommodate "erase" keyword
2024-03-21 23:28:29 +00:00
Ganblejs
e7f8c9e7a6
Bangle.js:actTrk:upd cmt re fetch all then parse
2024-03-21 23:28:29 +00:00
Ganblejs
7734fbe4b0
Revert "Bangle.js:actTrk:fetch all logs, then parse them"
...
This reverts commit 6b941f9277f70d642cfaa430d3d917ba6b559d17.
2024-03-21 23:28:29 +00:00
Ganblejs
6936053734
Revert "Bangle.js:actTrk: try fix parsing after interrupt"
...
This reverts commit 638f12e96bdb44445902b3bbd477c742e1d88299.
2024-03-21 23:28:29 +00:00
Ganblejs
d93ef074c3
Bangle.js:actTrk: try fix parsing after interrupt
2024-03-21 23:28:29 +00:00
Ganblejs
46be3c47f9
Bangle.js:actTrk:fetch all logs, then parse them
2024-03-21 23:28:29 +00:00
Ganblejs
d8172295cb
Bangle.js:actTrk: note on postponing parsing
2024-03-21 23:28:29 +00:00
Ganblejs
ddca4ad90d
Bangle.js:actTrk: remove unrelated comments
2024-03-21 23:28:29 +00:00
Ganblejs
a077e867b4
Bangle.js:actTrk:rm newline on latest fetch string
2024-03-21 23:28:29 +00:00
Ganblejs
6ce8f336b4
Bangle.js:actTrk: break out file operations
2024-03-21 23:28:29 +00:00
Ganblejs
f1053c5b80
Bangle.js:actTrk: add private modifier
2024-03-21 23:28:29 +00:00
Ganblejs
f97dda37c7
Bangle.js:actTrk: simplify timeout
2024-03-21 23:28:29 +00:00
Ganblejs
c250a70196
Bangle.js:actTrk: remove public modifier
2024-03-21 23:28:29 +00:00
Ganblejs
0c10edb9f2
Bangle.js:actTrk: small refactor of return
2024-03-21 23:28:29 +00:00
Ganblejs
49bd363d0f
Bangle.js:actTrk: no timeout during data-parsing
2024-03-21 23:28:29 +00:00
Ganblejs
8ab77f148f
Bangle.js:actTrk: speed determines activity type
2024-03-21 23:28:29 +00:00
Ganblejs
466349fbe7
Bangle.js:actTrk: refactor a name
2024-03-21 23:28:29 +00:00
Ganblejs
2683fd9495
Bangle.js:actTrk:add LOG.warn re interrupted fetch
2024-03-21 23:28:29 +00:00
Ganblejs
6a9c037926
Bangle.js:actTrk: notify on fetch interrupted
2024-03-21 23:28:29 +00:00
Ganblejs
af740d4dc3
Bangle.js:actTrk: fix timeout for interruptions
2024-03-21 23:28:29 +00:00
Ganblejs
4f04b61dbd
Bangle.js:actTrk:unsuccessful try at fetch timeout
2024-03-21 23:28:29 +00:00
Ganblejs
49c4f34f42
Bangle.js:actTrk: refactor function names
2024-03-21 23:28:29 +00:00
Ganblejs
945a28c279
Bangle.js:actTrk: tweak start/stop messagaging
2024-03-21 23:28:29 +00:00
Ganblejs
40c3eade21
Bangle.js:actTrk:fix transfer notification
2024-03-21 23:28:29 +00:00
Ganblejs
bfa5d94587
Bangle.js:actTrk: Auto-reload when fetch done
2024-03-21 23:28:29 +00:00
Ganblejs
e492160531
Bangle.js:actTrk: fix packet counting
2024-03-21 23:28:29 +00:00
Ganblejs
8338b03b3b
Bangle.js:actTrk:try at packet counting
...
... might not be necessary. Since I got the fetching to work with
intervals on the the Bangle.js side it's been stable.
Didn't manage to make packet counting work yet.
2024-03-21 23:28:29 +00:00
Ganblejs
ddc2d7a34a
Bangle.js: remove imports marked as unused
2024-03-21 23:28:29 +00:00
Ganblejs
3ac3519f3e
Bangle.js:break out to class BangleJSActivityTrack
2024-03-21 23:28:29 +00:00
Ganblejs
9919bb2d6f
Bangle.js: actTrk- fix logic re requesting logs
2024-03-21 23:28:29 +00:00
Ganblejs
7146fce683
Bangle.js: actTrk- sync one log at a time
2024-03-21 23:28:29 +00:00
Ganblejs
ee274510ac
Bangle.js:actTrk- check if HRM could be exported
...
... to GPX track file. But commented out to avoid error.
2024-03-21 23:28:29 +00:00
Ganblejs
64b3468671
Bangle.js:actTrk- don't export GPX if no such data
2024-03-21 23:28:29 +00:00
Ganblejs
19ec7344ca
Bangle.js: comment out some LOG.info
2024-03-21 23:28:29 +00:00
Ganblejs
2c918f6a7c
Bangle.js: actTrk receive multiple lines per UARTRX
2024-03-21 23:28:29 +00:00
Ganblejs
d3229dea96
Bangle.js: clear fetched csv if refetching
2024-03-21 23:28:29 +00:00
Ganblejs
6255ff615d
Bangle.js: activity track logic tweak
...
... to make string sent from Bangle.js shorter. And some other changes.
2024-03-21 23:28:29 +00:00
Ganblejs
c572cae161
Bangle.js: use FileUtils to read/write files
2024-03-21 23:28:29 +00:00
Ganblejs
cba2cf38f6
Bangle.js:actTrck change stride unit to only meter
2024-03-21 23:28:29 +00:00
Ganblejs
2429f64412
Bangle.js: avoid infinities, cardiac arrest, etc.
2024-03-21 23:28:29 +00:00
Ganblejs
c2c53d5495
Bangle.js: actTrack reorder activity details
2024-03-21 23:28:29 +00:00
Ganblejs
e23c5f2dd4
Bangle.js: actTrack handle empty lines on analyze
2024-03-21 23:28:29 +00:00
Ganblejs
acdde68fab
Bangle.js: handle if time was given with decimals
2024-03-21 23:28:29 +00:00
Ganblejs
e39e67100e
Bangle.js: actTrk WIP
2024-03-21 23:28:29 +00:00
Ganblejs
bcd1fc8681
Bangle.js: more work on summary data
2024-03-21 23:28:29 +00:00
Ganblejs
e10fae00cf
Bangle.js: activity tracks summary entries
2024-03-21 23:28:29 +00:00
Ganblejs
eec3d2b89a
Bangle.js:don't show stride if not sufficient data
2024-03-21 23:28:29 +00:00
Ganblejs
6d82980cc3
Bangle.js: Activity tracks analytics
2024-03-21 23:28:29 +00:00
Ganblejs
70b9911153
Bangle.js: WIP adding summary data
...
Calculate distances from lat/long coordinates.
2024-03-21 23:28:29 +00:00
Ganblejs
b4879a92d9
Bangle.js: Activity tracks, addSummaryData
2024-03-21 23:28:29 +00:00
Ganblejs
517f9ac214
Bangle.js:Activity traks attempt (un-)setBusyTask
2024-03-21 23:28:29 +00:00
Ganblejs
6faa4452e2
Bangle.js:Act Tracks follow refactored code style
2024-03-21 23:28:29 +00:00
Ganblejs
c6cec7a0f8
Bangle.js:WIP add activity tracks support
...
Bangle.js: WIP add supportsActivityTracks
Bangle.js: testing flow of info
Bangle.js:WIP receive and store csv from Bangle.js
Bangle.js:store and transmit ID of last synced log
bangle.js:activity tracks, act on completed fetch
... of the recorder csv file.
Bangle.js: Activity tracks, now in database
... but not all data is persisted correctly I think. It's presented as
'Unknown activity'.
Bangle.js:Activity tracks, try to add gps info
I haven't tested with recordings where I have gps values, so far only
empty values. With empty values I currently get "This activity does not
contain GPX tracks" when trying to use the GPXExporter.
Bangle.js: Activity tracks, now adds GPS points
... to the activity to be shown when on the "Sport Activity Detail"
screen.
2024-03-21 23:28:29 +00:00
Vitaliy Tomin
6167f3f781
[Huawei] Initial AcceptAgreement packet and request
2024-03-21 19:06:03 +01:00
Damien 'Psolyca' Gaignon
924088e5a3
[Huawei] Check pinCode and authType not BondState
2024-03-21 19:06:03 +01:00
Damien 'Psolyca' Gaignon
d59b7c7bfa
[Huawei] Add SendExtendedAccountRequest
2024-03-20 13:41:49 +01:00
Gordon Williams
d3c16a1d40
Bangle.js ensure we don't try and use base64 to encode something that is actually UTF8
2024-03-19 13:36:55 +00:00
José Rebelo
ee6340c848
Amazfit Bip 3: Initial support
2024-03-17 13:06:31 +00:00
José Rebelo
ae05f7fd42
Xiaomi Watch S1 Pro: Enable charts for body temperature
2024-03-16 21:44:11 +00:00
José Rebelo
fcc930749e
Sony LinkBuds: Initial support
2024-03-15 23:36:50 +00:00
José Rebelo
5798466e55
Sony Headphones: Fix protocol v2
2024-03-15 23:34:17 +00:00
José Rebelo
0301d0e9a8
Sony Headphones: Merge V3 protocol into V2
...
The protocols are not actually different - the different messages only
depended on whether the devices supports wind noise reduction or not.
2024-03-15 22:56:11 +00:00
Gordon Williams
f91156cd3e
Bangle.js - fix issue where a newline right at the beginning of a received string could cause "String index out of range: -1" errors for all subsequent received data
2024-03-13 09:52:03 +00:00
José Rebelo
f9917851ef
Xiaomi: Fix NPE when notification lookup fails
2024-03-06 20:47:57 +00:00
Arjan Schrijver
08a8b6a8fd
Fossil/Skagen Hybrids: Remove activity fetching toasts and add finished signal
2024-02-27 14:36:28 +01:00
José Rebelo
ab41adbc7f
Xiaomi: Fix sleep samples when sleep stages are not found
...
We can at least show light sleep now.
2024-02-25 22:53:15 +00:00
José Rebelo
dd952e335f
Xiaomi: Implement complex activity details header parsing
...
This should improve activity parsing across all devices, as we now take
the header into account, which indicates what groups are actually
present.
Thanks to @opcode for figuring out the header structure and providing
the ImHex patterns for the activity data.
2024-02-25 22:27:20 +00:00
José Rebelo
0b0aedfb52
Revert Xiaomi steps and stress parsing fixes
...
- This reverts commit 789292d318
.
- This reverts commit 641eb1bee7
.
Further changes are required
2024-02-25 21:08:44 +00:00
José Rebelo
3902db5abd
Huami: Keep track of last debug logs titmestamp
2024-02-25 13:25:12 +00:00
José Rebelo
58d4ebf509
Huami: Refactor activity data fetching
...
Activity data fetching on Huami devices was filled with duplicated code,
and the handleActivityFetchFinish was called from multiple places where
it did not make sense. This made us signal to the band that activity
fetch was finished when it sometimes was not, causing some race
condititions that would make activity fetch fail or get stuck.
This refactor defines a clear "processBufferedData" that is called
upstream, signaling to the fetch operation that we have received all
data and the buffer can be processed. All handling of metadata and ack
messages is also delegated to the upstream class.
2024-02-25 13:10:25 +00:00
José Rebelo
9b0229cdf0
Huami: Split fetch, init and update operations
2024-02-25 13:10:25 +00:00
José Rebelo
5e068ee4ca
Huami: Extract activity fetch data types to enum
2024-02-25 13:10:25 +00:00
José Rebelo
789292d318
Xiaomi: Fix stress parsing
2024-02-25 00:04:03 +00:00
José Rebelo
641eb1bee7
Xiaomi: Fix steps and stress parsing for some devices
2024-02-25 00:02:52 +00:00
Martin.JM
71ea39efde
[Huawei] Hookup smart wakeup interval and update Coordinators
2024-02-24 09:56:56 +01:00
Martin.JM
51024f7b5e
Add smart wakeup interval
2024-02-24 09:56:56 +01:00
Arjan Schrijver
0383169767
Fossil/Skagen Hybrids: While syncing, mark device busy and show transfer notification
2024-02-23 20:59:01 +01:00
Gordon Williams
dd0dfb23ac
Bangle.js: Ensure we request a higher MTU if it's been enabled in settings (otherwise Android just uses the default). Really improves communication speed.
2024-02-22 12:00:33 +00:00
Martin.JM
9a388ca386
Updated according to review
...
Thank you José Rebelo!
2024-02-18 20:54:59 +00:00
Martin.JM
c66051f580
Cleanup of Huawei weather implementation
2024-02-18 20:54:59 +00:00
Martin.JM
1c2516186d
Small cleanup
2024-02-18 20:54:59 +00:00
Martin.JM
5ebfe9b39f
Add weather settings to forecast
2024-02-18 20:54:59 +00:00
Martin.JM
b231104a88
Add moon phase support
2024-02-18 20:54:59 +00:00
Martin.JM
242f3c6dbc
Add unit support and some cleanup
2024-02-18 20:54:59 +00:00
Martin.JM
043f839a4d
Fix tomorrow appearing twice
2024-02-18 20:54:59 +00:00
Martin.JM
6a2186919c
Always initialize weather before sending
2024-02-18 20:54:59 +00:00
Martin.JM
4b70f3fcdb
Hookup Huawei GPS values
2024-02-18 20:54:59 +00:00
Martin.JM
ee14b5d821
Small changes
2024-02-18 20:54:59 +00:00
Martin.JM
65aa5faec5
Implement Huawei weather icons
2024-02-18 20:54:59 +00:00
Martin.JM
f970b7482b
Set wind values
2024-02-18 20:54:59 +00:00
Vitaliy Tomin
287b720350
Send gps and time before forecast
2024-02-18 20:54:59 +00:00
Martin.JM
0b64408b33
Add outgoing parsing
2024-02-18 20:54:59 +00:00
Martin.JM
2b1c5b5819
Add weather forecast
2024-02-18 20:54:59 +00:00
Martin.JM
b2b176b65c
Add weather support for Huawei
2024-02-18 20:54:59 +00:00
Martin.JM
89b6ae9f24
Add more granular smart wakeup support
...
Specifically:
- Add position to smart wakeup support coordinator function
- Add interface to stop smart alarm checkbox from being changed
2024-02-18 17:24:29 +01:00
José Rebelo
ad256fade0
Test Device: Fix NPE when using the database
2024-02-16 23:09:46 +00:00
José Rebelo
a3bd7a297a
Test Device: Add fake features and data
2024-02-16 22:56:27 +00:00
Andreas Shimokawa
8b9462f521
fix tests
2024-02-12 18:31:48 +01:00
Damien 'Psolyca' Gaignon
fc857b8adb
[Huawei] Fix attribut keyword
2024-02-09 12:03:04 +01:00
Damien 'Psolyca' Gaignon
21b97a9276
[Huawei] Fix BondParamsRequest stopChain
2024-02-09 12:03:03 +01:00
Damien 'Psolyca' Gaignon
bb5fe00643
[Huawei] Change bond request behaviour
2024-02-09 12:03:02 +01:00
Damien 'Psolyca' Gaignon
05c11cbd14
[Huawei] Add HiChainLite firstKey handling
2024-02-09 12:03:01 +01:00
Damien 'Psolyca' Gaignon
270212a771
[Huawei] Rename authMode to deviceSupportType
2024-02-09 12:03:01 +01:00
Damien 'Psolyca' Gaignon
2880297c51
[Huawei] Fix pin code encoding
2024-02-09 12:02:53 +01:00
José Rebelo
944e0d92a7
Zepp OS: Fix AGPS uploads
...
Regression introduced by 34fd18885a
- UIHH upload is needed for AGPS
updates on older devices.
2024-02-02 20:51:06 +00:00
José Rebelo
3e08a754e0
Xiaomi: Fix indoor cycling recognition
2024-02-01 20:02:31 +00:00
Victor Kareh
b647631c07
pinetime: Fix weather forecast write
...
Fixes a typo in the weather forecast characteristic writer that causes
Gadgetbridge to send the current weather twice rather than sending the
forecast.
2024-02-01 18:59:06 +00:00
José Rebelo
dbfb8e5c38
Zepp OS: Improve logging
...
- Do not log characteristic changes handled by parent class
- Log discovered service names
- Request and log supported config groups
2024-02-01 18:48:15 +00:00
José Rebelo
34fd18885a
Zepp OS: Refactor firmware uploads
...
Zepp OS 3 firmware upgrades are big (200MB+). Gadgetbridge was crashing,
since the entire firmware file would be pulled into memory.
This commit unifies all the logic for Zepp OS firmware handling.
However, since the needed refactor was big, this commit duplicates some
of the code from Huami classes, namely:
- ZeppOsFirmwareUpdateOperation clones UpdateFirmwareOperation2020
- ZeppOsFwInstallHandler clones AbstractMiBandFWInstallHandler
This avoids changes to older device logic and introducing regressions.
Lost functionality:
- Repackaging firmwares as UIHH (does not seem to be needed, and was not
used anyway). Code can be recovered from this commit if needed in the
future
- Whitelisted firmwares by checksum (we do not have a lot of them at
this point anyway)
Other misc changes:
- Rename ZipFile to GBZipFile not to clash with the java class
Tested by updating the Amazfit GTR 4 to Zepp OS 3.
2024-02-01 18:47:28 +00:00
Martin.JM
4b38a67a58
Fix Huawei exceptions related to early packets
...
Also adds more robust tag checks for Huawei packets
2024-01-30 12:15:46 +01:00
José Rebelo
773132c4e1
Make all Zepp OS classes explicit
...
There are still some actual "Huami 2021" classes that are used in
non-ZeppOS devices, but this refactor improves the distinction.
2024-01-29 23:30:28 +00:00
Damien 'Psolyca' Gaignon
86461ada1a
[Huawei] Add new Crypto and authMode
2024-01-29 21:51:45 +01:00
Damien 'Psolyca' Gaignon
2b5a49641a
[Huawei] Fix clientNonce for HiChainLite
2024-01-29 21:21:20 +01:00
opcode
cf0e8be816
Xiaomi: Further sleep parsing fix
2024-01-28 21:01:20 +00:00
Damien 'Psolyca' Gaignon
a53d59f907
Add AW for bond request
2024-01-28 20:46:47 +01:00
Damien 'Psolyca' Gaignon
0ed9e5b1a8
Fix normal mode connection
2024-01-28 20:46:45 +01:00
José Rebelo
5999eb01d0
Nothing CMF Watch Pro: Initial support
2024-01-28 18:46:13 +00:00
Denis Pitzalis
207a2a9b01
initial support for sony WI-SP600N ( #3522 )
...
Initial support for sony wi-sp600n reported working . minor difference with the inspiring wf-sp800n
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3522
Co-authored-by: Denis Pitzalis <denics@free.fr>
Co-committed-by: Denis Pitzalis <denics@free.fr>
2024-01-27 23:21:11 +00:00
opcode
4dbe5744da
Xiaomi: Fix parsing sleep headers
2024-01-26 21:49:40 +01:00
José Rebelo
7955bdfb6f
Xiaomi: Improve sleep parsing
...
- Some devices send a random int 0, which would prevent sleep stage
parsing
- Some devices send the details as a file of type summary, but same
structure
- It is still not stable for all devices
Thanks to @opcode for the parsing logic
2024-01-20 23:16:36 +00:00
José Rebelo
6b2cb05027
Xiaomi: Fetch manual samples
2024-01-18 21:06:40 +00:00
José Rebelo
94c763ef99
Zepp OS: Ensure all communication respects service encryption flag
...
Not all communication was moved to services, and some might not be
respecting the encryption flag sent during initialization implemented
in 3a2b02df2
. Some services are encrypted or not across different
watches - see #3308 .
2024-01-17 20:43:17 +00:00
MrYoranimo
b395e889c3
Xiaomi: temporary fix for database errors when reconnecting
2024-01-17 20:16:38 +00:00
MrYoranimo
ae97e961b9
Xiaomi: add potential service and characteristic UUIDs
2024-01-17 20:16:38 +00:00
MrYoranimo
339859c829
Xiaomi: change BLE max chunk size with MTU changes
2024-01-17 20:16:38 +00:00
MrYoranimo
53a7cc5b30
Xiaomi: run data upload service finalization on respective queue
2024-01-17 20:16:38 +00:00
MrYoranimo
d217a0b15f
Xiaomi: fix only short-bytes from int nonce being used during encryption
2024-01-17 20:16:38 +00:00
MrYoranimo
b31d98c7a0
Xiaomi: add support for data uploading over SPP
2024-01-17 20:16:38 +00:00
MrYoranimo
e5c2bd51c2
Xiaomi: refactor XiaomiCharacteristic to use callback per message
2024-01-17 20:16:38 +00:00
MrYoranimo
592a52054f
Xiaomi: request battery level and charging state on an interval
2024-01-17 20:16:38 +00:00
MrYoranimo
429d717630
Xiaomi: recognize a full battery as a valid charger state
2024-01-17 20:16:38 +00:00
MrYoranimo
399248e22c
Xiaomi: allow forcing the connection type from connection settings
2024-01-17 20:16:38 +00:00
MrYoranimo
ce179a29ae
Xiaomi: introduce XiaomiSppSupport
2024-01-17 20:16:38 +00:00
MrYoranimo
98e8ec2329
Xiaomi: Introduce XiaomiConnectionSupport
...
Co-Authored-By: José Rebelo <joserebelo@outlook.com>
2024-01-17 20:16:38 +00:00
José Rebelo
4231e97cff
Sony Headphones: Allow choice of protocol version
2024-01-17 18:48:10 +00:00
Martin.JM
e6aa0afa7e
Fix huawei debug request
2024-01-17 14:55:13 +01:00
José Rebelo
3a2b02df2a
Zepp OS: Query supported services and encryption flag
2024-01-15 21:27:01 +00:00
foxstidious
ba59c62fa4
Add support for snooze alarm on CasioGBX100 devices
2024-01-14 20:29:30 +00:00
opcode
f5cf21bf05
Xiaomi: Parse SleepSummary
2024-01-14 17:02:42 +00:00
opcode
e06b2e1f95
Xiaomi: Implement sleep stage parsing
...
This allows sleep stage detection to work by parsing
some of the data sent in SleepDetails.
It's still missing parsing the summary contained inside SleepDetails.
and decoding the large amount of other mostly unknown data.
2024-01-14 17:02:42 +00:00