-
Notifications
You must be signed in to change notification settings - Fork 45
Description
Hi there,
Firstly thanks for your great work on this project!
If I understand correctly from your README and from Tigge/openant#1, in the Linux Garmin syncing world, there seem to be 4 distinct challenges:
- Downloading from devices by using the Garmin Device Interface Spec over an ANT-FS transport (necessary for FR405/410)
- Downloading from devices via ANT-FS (necessary for FR60/310/610/910xt)
- Uploading
.fit
/.tcx
files to Garmin Connect - Building a user-friendly wrapper for the above operations, which offers a daemon mode and/or similar UX to the Garmin ANT Agent.
Bearing these in mind, it seems the following observations are true:
- This project currently addresses 1., 3., and 4., but not 2.
- GcpUploader currently addresses 3.
- https://github.com/Tigge/Garmin-Forerunner-610-Extractor currently addresses 2. but is being split into two parts:
- https://github.com/Tigge/openant is a lower-level library for the ANT, ANT+ and ANT-FS which should make it easier to address 1. and 2. but will still require additional code which consumes the library API in order to implement full download support.
- This additional code will be
antfs-cli
, which by use of a plugin system will address 1., 2., 3., and 4.
- There are other projects such as tapiriik which address 3.
Forgive me if I misunderstood something, but it seems to me that even though there is a large overlap in goals between this project and @Tigge's work, there is very little opportunity for code sharing, even though all the existing code is Python. I feel that the Linux part of the Garmin community is relatively tiny, and IMHO it would be a shame if this tiny community split into two fragments rather than working together on a universal solution. Is there a way that the two projects could be united so that we can progress much faster? Here are a few architectural suggestions:
- keep upload to Garmin Connect (3.) functionality as a separate project with interfaces which can be used by both projects (e.g. could be CLI or Python module)
- keep download from Garmin devices (1. and 2.) as separate projects
- standardize on a API for 1. and 2. so that any implementations of (1. and 2.) can be used as plugins by both this project and by the upcoming
antfs-cli
I realise that in the short term this would require a bit more work, but in the longer term I think it could benefit our small community a lot.
Thanks for listening!
(This suggestion was prompted by the discussion in Tigge/antfs-cli#96. See also Tigge/openant#1.)