braiden/python-ant-downloader

Garmin Swim

Closed this issue · 2 comments

Hello, does your tool support Garmin Swim? I have this device and can assist you with your questions if that is convenient for you.

When installed on Ubuntu 12.04.2 using pip:
$ sudo ant-downloader
Seems to initiate download since I can see 'data transfer' note on the watch itself. However, it cannot complete successfully and produces the log below:

[MainThread] 2013-04-08 19:55:54,154 DEBUG Got ANT-FS Beacon. device_number=0x577f Beacon{'auth_type': 3, 'pairing_enabled': 0, 'data_available': 32, 'device_state': 0, 'period': 4, 'descriptor': 67035, 'upload_enabled': 16, 'data_page_id': 67, 'data': '', 'status_2': 0, 'status_1': 60}
[MainThread] 2013-04-08 19:55:54,154 INFO Device has data. Linking.
[MainThread] 2013-04-08 19:55:54,154 DEBUG Setting period to match device, hz=8
[MainThread] 2013-04-08 19:55:54,279 DEBUG Linking with device. freq=2454mhz
[MainThread] 2013-04-08 19:55:54,528 INFO Pairing with device.
[MainThread] 2013-04-08 19:55:54,812 DEBUG Got client auth string. Auth{'auth_string': 'GARMIN SWIM\x00', 'beacon': <antd.antfs.Beacon object at 0x322f6d0>, 'op_id': None, 'response_type': 0, 'client_id': 3858847615, 'host_id': 15407, 'data_page_id': 68, 'command_id': 132}
[MainThread] 2013-04-08 19:55:54,812 DEBUG Device secret known.
[MainThread] 2013-04-08 19:55:55,048 DEBUG Device accepted key.
[MainThread] 2013-04-08 19:55:55,165 INFO Saving raw data to /home/kudret/.antd/0xe601577f/raw/20130408-195555.raw.
[MainThread] 2013-04-08 19:55:55,165 DEBUG A000: executing product request
[MainThread] 2013-04-08 19:56:00,398 WARNING Caught error while communicating with device, will retry.
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/antd/main.py", line 98, in downloader
dev = antd.Device(host)
File "/usr/local/lib/python2.7/dist-packages/antd/garmin.py", line 312, in init
self.init_device_api()
File "/usr/local/lib/python2.7/dist-packages/antd/garmin.py", line 343, in init_device_api
product_data = self.get_product_data()
File "/usr/local/lib/python2.7/dist-packages/antd/garmin.py", line 318, in get_product_data
return self.execute(A000())[0]
File "/usr/local/lib/python2.7/dist-packages/antd/garmin.py", line 415, in execute
pkt = self.stream.read()
File "/usr/local/lib/python2.7/dist-packages/antd/antfs.py", line 409, in read
direct_reply = GarminSendDirect.unpack(self.channel.read())
File "/usr/local/lib/python2.7/dist-packages/antd/ant.py", line 918, in read
return self._session._send(ReadData(self.channel_number, ReadData), timeout=timeout).data
File "/usr/local/lib/python2.7/dist-packages/antd/ant.py", line 680, in _send
raise cmd.error
AntTimeoutError: No reply to command. ReadData(channel_number=0)
[MainThread] 2013-04-08 19:56:00,399 INFO Searching for ANT devices.

Thank you,
Kudrettin

If you've tried to run the program more than once and continue getting this error, the device is probably does not support the older Garmin Device Interface Spec implemented by my program.

Give this project a try (not mine) which implements ANT-FS, the newer Garmin interface:
https://github.com/Tigge/Garmin-Forerunner-610-Extractor

Thank you for the suggestion. Forerunner-610-Extractor appears to work better in my case.