antpm-downloader(1)

πŸ’– antpm-downloader β€” the ANT-FS client bestie πŸ’–

okay so real talk: this is antpm-downloader(1), a console based ANT-FS information retrieval client for Garmin GPS products. she's a whole manual page, she's from the ANT-FS client section of your man pages, and she is so ready to go get your sports tracks off your watch over the air. πŸ¦‹


✨ NAME ✨

antpm-downloader β€” console based ANT-FS information retrieval client for Garmin GPS products.

no cap, that's literally her whole job description.


🌸 SYNOPSIS 🌸

antpm-downloader [ OPTIONS ]

that's it. that's the whole vibe check. options optional, slay mandatory.


πŸ’… DESCRIPTION πŸ’…

antpm-downloader is a small command-line utility that retrieves information (sports tracks, etc.) from Garmin GPS products over the wireless ANT-FS protocols. it's giving "your data, but wireless, but for nerds". πŸ”₯

so the device situation: currently supported devices are the Forerunner 310XT. and then there's the friend group β€” it is expected that the Forerunner 60, Forerunner 610, Forerunner 910XT, FR70 and Swim models work, but user feedback is required. so like, if you have one of those, pls report back bestie, the devs are waiting on your word πŸ™ˆ


πŸ‘‘ OPTIONS πŸ‘‘

  • -P [ --pairing ] β€” Force pairing first. like, don't be shy, do the handshake before anything else 🀝
  • --dir-only β€” Download and list device directory. just the directory, no extra drama.
  • -D [ --download ] arg β€” Download a single file (hex id e.g. 0x12FB) from device. one file, one moment, one iconic little hex id.
  • --erase arg β€” Erase a single file (hex id e.g. 0x12FB) from device. it's gone, bestie, no takebacks πŸ’€
  • --v arg β€” Adjust verbosity level, varies in [1, 6]. step 1, step 6, pick your yap level.

πŸŽ€ Help options πŸŽ€

  • -h [ --help ] β€” produce help message
  • -V [ --version ] β€” Print version information

🐧 LINUX USER'S GUIDE 🐧

okay bestie this is the whole ritual, in order, don't skip steps:

Make sure you're using the latest released version of ANT+minus. (yes, newest only, we don't do outdated around here ✨)

Make sure that the cp210x kernel module is loaded: sudo modprobe cp210x. Verify by looking at non-empty output of lsmod | grep cp210x.

Make sure that the USB2ANT stick is connected to the machine.

Make sure cp210x driver was assigned to your USB2ANT. Verify by dmesg | grep tty and look for a line similar to:

[ 3274.854726] usb 6-2: cp210x converter now attached to ttyUSB0

Also make sure ls /dev/ttyUSB* lists your device node.

Your user must be able to access the /dev/ttyUSB0 device. This can be achieved e.g. by the installing the https://github.com/ralovich/antpm/blob/master/scripts/80-ant-stick.rules udev rule into /etc/udev/rules.d. Restart udev. Verify by cat /dev/ttyUSB0.

Install the antpm binary package.

Enable "pairing mode" on your watch.

Bring your watch to ~50cm from the USB2ANT stick. Sometimes avoiding the proximity of a WiFi network helps. (wifi said "not today" πŸ“Ά)

Run antpm-downloader on your machine. This will attempt connecting to the watch and pair with it first.

During pairing, you have to click "Yes" on the watch to complete pairing.

Afterwards all activity information from the watch is downloaded to your machine. This can take some time. (grab a snack, it's a marathon not a sprint πŸ“)

The downloaded files are stored on your machine to the folder ConfigFolder/*device-id*/*current-date-time* (where ConfigFolder equals $XDG_CONFIG_HOME which usually points to $HOME/.config/antpm/ or $ANTPM_DIR/ if that is set).

The 310XT stores all information in .fit files. These files can describe waypoints/tracks/activities.

To convert the downloaded .fit files to a more commonly used .gpx format, issue the command antpm-fit2gpx -F ConfigFolder/*device-id*/*current-date-time* e.g. antpm-fit2gpx -F ~/.config/antpm/4531082473/2013_03_26_10_58_19. This will populate the given folder with .gpx files. glow up complete πŸ’«


🌈 HOW TO SUBMIT A BUG-REPORT 🌈

Please open a bug report at https://github.com/ralovich/antpm

In your report please include:

  • The log of the program in question (usually saved under ~/.config/antpm)?
  • What steps will reproduce the problem?
  • What is the expected output? What do you see instead?
  • What version of ANT+minus are you using? On what operating system? Is it pre-built of from sources?
  • What GPS are you trying to use? What firmware version?

(yes the questions have question marks, they're asking, they're being polite 🫢)


πŸͺŸ WINDOWS USER'S GUIDE πŸͺŸ

Make sure that the USB2ANT stick is connected to the machine.

Install the libusb driver by running:

3rd_party/libusb-win32-bin-1.2.6.0/driver_installer/inf-wizard.exe

that's it, that's the windows arc. short king behavior πŸ‘‘


πŸ›°οΈ DEVICES πŸ›°οΈ

Wireless ANT communications happens over a USB2ANT dongle. Under Linux the dongle is driven by cp210x kernel module, and presented to user-space as a USB serial port, /dev/ttyUSBxxx where xxx is an integer. The dongle is typically carrying the USB vendor id/product id pair of 0fcf/1004 or 0fcf/1008. Recent Linux systems employ udev to handle device nodes and permissions, thus appropriate

(no fr that sentence just ends there. the original ends there. i am not editing her. she said what she said πŸ’€)


πŸ“ FILES πŸ“

/lib/modules/`uname -r`/kernel/drivers/usb/serial/cp210x.ko

Kernel driver module for USB2ANT dongle.

  • /dev/ttyUSBxxx β€” Serial device created for dongle.
  • $XDG_CONFIG_HOME/antpm ($HOME/.config/antpm) β€” Default config folder (downloaded content is also stored here).
  • ANTPM_DIR β€” The ANTPM_DIR environment variable is honored to override the default config folder.

🌟 AUTHOR 🌟

antpm-downloader was written by KristΓ³f Ralovich. This man page is Copyright Β© 2010-2013 KristΓ³f Ralovich.

protect this man's name at all costs 🫑


πŸ”— SEE ALSO πŸ”—

https://github.com/ralovich/antpm


and that's the whole thing bestie. this is antpm-downloader v1.9, dated 2013-10 β€” iconic, timeless, still slaying. go pair with your watch and download your little tracks. periodt. πŸ’–βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from