The S4 is a rather popular phone, and if you plan to use it with my app (Uploader for Garmin) there are a few things you need to know.
If your ROM version is less than 4.2, your phone works just fine with most Garmin devices. If you plan to connect an ANT+ forerunner (310xt, 610, 910xt, 405, 405cx, 410) you need an OTG adapter, so that you can plug in the Garmin USB ANT+ dongle. Just follow the instructions here
If your ROM version is 4.2.x, you may have troubles. That version basically breaks the USB, and if you connect an old Forerunner 305 you'll get a security warning when you run my app; if you connect an ANT+ key, you'll get a security warning about the dynastream driver, and you'll probably never get to step 3 in the instructions above. Unfortunately, it's not something that can be fixed by an app. You have to wait for version 4.3.
Version 4.3 is a huge step forward. For old devices, well, it's just a good step backward :-), that is, the Forerunner 305 will simply work again as before (OTG adapter needed). However, if you have an ANT+ forerunner, you no longer need the ANT+ key
, as Samsung has finally enabled the internal ANT+ chip in the S4. Simply follow the instructions I wrote for the xperia
and you'll be set (in a nutshell: you don't need the ant+ usb service anymore, and you need to set a flag in the app).
By the way: the S3 has the same internal ANT+ chip, but it is not clear if Samsung is going to enable it in a later version.
The Uploader for Garmin version 5.1 and Sportablet 6.0 can share your activities on Runtastic (for some Garmin devices).
A few notes:
- like sharing on Endomondo, this feature will be in permanent beta. Runtastic does not officially allow third party apps like mine to upload. Therefore, I need to go through some alchemy to make it works. If they change something on their side, my app will break.
If it happens, tell me. Be nice, thanks. If you can't be nice, don't use my app.
- Runtastic does not accept FIT files, and FIT is the native format for many Garmin devices. I'm working on a high-fidelity FIT-TCX converter, but meanwhile, you can already use the app on several Garmin models not based on FIT (like the good old FR305, or the FR405, etc). If you Garmin uses FIT internally, you'll get an error message at this time.
Once again: the right thing to do is to have patience, understand that I'm working on this stuff in my spare time, help the app to grow by spreading the word, perhaps add a +1 in a comment here to let me know that you need it.
The loser thing to do is to go to Google Play and complain. So don't :-).
I'm not a Runtastic user, so I would appreciate if you guys could tell other people in the community that now they can upload from their Garmin to Runtastic using their phone / tablet, no PC involved anymore.
The Uploader for Garmin 5.0
and Sportablet 5.9
can now send tracks
to some Garmin models (Forerunner 205, Forerunner 305, Edge 205, Edge 305), straight from your Android tablet / phone.
It's the first step of a long journey. All details here
Tell me what you think here, and don't forget to leave a positive review on google play, tell your friends, etc. The app needs you : ).
Some Garmin devices are actually flash drives in disguise. That includes the Edge 605, 705, 500, 800, 510, 810, the Forerunner 10, 110, 210 and the Garmin Fenix. In theory, a flash drive should simplify the process of getting your activities into your phone / tablet, but given the Android fragmentation when it comes to the USB, the practice is quite different.
Over time, I've added a few options to my apps to deal with common issues related to flash drive devices. Since they've been added over time, they're not necessarily minimal or easy to understand in combination. So here is a short tutorial explaining common issues you may have with the devices above (or when you have no device at all, see case 4 below) and how to set the options in different cases.
In all cases, it helps having a file explorer app. I normally use Astro. It also helps to know how to look for a Garmin device. As a first cut, you can simply ask Astro to look everywhere for a folder called Garmin. Please leave 20-40 seconds to the device to actually mount as a drive (some models are slow).
Case 1) You have one of the Garmin models above, it is mounted properly as a flash drive (you can see the files with a file explorer) but the app says "no device found"
My apps look for a USB Garmin device or for an ANT+ dongle by scanning USB devices. Some Android devices (that's more common with old ROMs) will recognize the Garmin as a flash drive, mount it as such, but hide it as a USB device. In that case, the app will just say "device not found" and won't get any further. To fix this, you simply have to check "Force flash drive scan". The app will look around for a Garmin device filesystem, and use it.
Case 2) The app finds the "wrong" place when scanning the file system. This may happen with or without the setting of Case 1.
In this case, if you enable diagnostics, you'll see something like:
T trying xml device file
T trying fit device file
Mounting path not found
error reading device file
Now, there are actually two possible reasons for this error. The first is that your Garmin has actually lost the device file. It has been reported several times in the Garmin forums over time (well before my apps existed :-), and happened to a few people using my apps as well. A Garmin device is identified by a couple of files (GarminDevice.XML and Device.FIT for some models). Sometimes those files get erased, but it's enough to turn off / on the Garmin, connect it to your PC, and the Garmin will re-create those files, as they're just a copy of data stored in its ROM. So this is actually the first thing you may want to try.
The second possible reason is that you have an sd card in your Garmin (Edge), and the sd card is being found before the real device, and (at this time) my app gets confused. If this is the case, use the file manager to find the place where your Garmin is actually mounted. For example, say that your tablet is mounting the Garmin sd card at /storage/UsbDriveB/Garmin, and the real device as /storage/UsbDriveA/Garmin, but the app gets confused as is looking only in the sd card (where you don't have a device file). In this case, you can click "force flash drive path" and set it to /storage/UsbDriveA (of course, this is just an example, and might be different in your case). Note that the path is case sensitive (as usual in Android) and that you have to leave the Garmin part out.
Now the app will look in the "right" place, find the device files, and read the activities from the internal memory.
Case 3) You actually keep your activities in the sd card, not in the internal memory.
That's different from the above. If you use the technique of Case 2, the app will find the device files, but will also try to read from the internal memory. That's a bit of a catch-22, because the app is looking for the device file to understand which device is connected, the folder structure (some Edge models keep the activities in a History folder, some in the Activities folder), etc. However, if you save to sd card, the device file is in the wrong place, so to speak. Enter the last setting :-). Say that your sd card is mounted under /storage/UsbDriveB/Garmin, and that your activities are in the Activities subfolder. Click "force files path" and set it to /storage/UsbDriveB/Garmin/Activities (again, it's just an example, it's case sensitive, and you have to provide the entire path down to Activities or History this time ).
Case 4) You just have a bunch of files you want to import
This is relatively rare, but I've got a few requests in this sense, from people who get their TCX through some app, and want to use the ability of my apps to upload to many web applications with a few clicks. This is rather simple: again, click "force files path" and set it to the folder where you keep your files. The app will load all the new TCX and FIT files, where "new" means it has now loaded a file with the same name before. GPX is not handled at this time, but it will be at some point.
Case 5) You have a Nexus 7 or 10, or another Android device which won't mount flash drives unless rooted, and you don't want to root your tablet
This is not particularly straightforward, but a workaround is to use the Nexus Media Importer to copy your FIT or TCX files from the Garmin to any place of your choice in your tablet. After that, it's just like Case 4.
Did I forget any reasonable case? Let me know : )
By the way: there is also the opposite case, where the Garmin is recognized as a USB device but not mounted as a flash drive; that's a different issue [did I mention Android fragmentation? :-)] and I'll deal with that in a different tutorial.
Lately, Endomondo has made changes to the upload workflow, breaking my apps. That was a know risk when I decided to support Endomondo, even though they do not officially support third party apps, which is why I said Endomondo support will be in permanent beta
Anyway, after you guys told me yesterday night, I've modified my apps today, and I've just pushed a new version on Google Play. Sportablet 5.8 and the Uploader for Garmin 4.8 can upload to Endomondo again :-).
Today, Dynastream released version 4.01 (although they call it 4.1) of their ANT+ Radio Service, which I'm using in both Sportablet and the Uploader for Garmin as ANT+ transport layer. Like version 4.0 did, that release broke both my apps.
Sportablet 5.7 and the Uploader for Garmin 4.7 have been fixed to work with the new release of the Radio Service. However, while I managed to keep the previous version compatible with versions 2.x, 3.x and 4.0 of the Radio Service, this is proving too complex, and is causing every version of the Dynastream driver to break my apps. Therefore, beginning from this version, I'm only supporting the Dynastream ANT+ Radio Service version 4.01 (4.1). Of course, while I hope they won't break it again in the next release, I'll always do my best to update the app if anything happens.
Short story: if you get the new ANT+ service, you need the new app; if you get the new app, you need the new ANT+ service.
Sportablet 5.6 supports direct upload to RunningAHEAD. Data is sent in compressed form so to speed up the transfer; compression has also been added to the Uploader for Garmin, version 4.5. For details on uploading to RunningAHEAD, please see my previous post
.Guys, please take a moment to spread the news :-)
The Uploader for Garmin 4.4, just pushed to Google Play as I'm writing this, uploads directly to RunningAHEAD.
RunningAHEAD uses open authentication
, so the first time you try to upload, you'll be redirected to runningahead.com, where you'll have to sign in and approve my app to access your training data. That should only be needed once.
Thanks to Eric @ RunningAHEAD for his support, and to Adam for his help gauging interest in the RunningAHEAD community.
Sportablet 5.5 and the Uploader for Garmin 4.3 support direct upload to SportTracks, so you don't need to export to SD card, log in, upload manually anymore.
Thanks to the guys at Zone Five Software for their support; really appreciated your extensions to the API.
Thanks to Neil Catley as well, who has been the real catalyst here. Neil first put a video on youtube to help others upload manually, then asked for a more direct integration. That's the spirit :-).
Just like with Garmin Connect, at the end of the upload process the app shows an hyperlink, so that you can jump to the activity on sporttracks.mobi with one click (Uploader 4.4 and up, Sportablet 5.6 and up).
I've just pushed a new version of Sportablet to Google Play, with a direct upload option for Endomondo. This feature is going to be in permanent beta
(see my previous post
for details). Guys, please share this news with your Endomondo friends, thanks :-)
With some luck, next week I'll add one more direct upload option