Can I upload custom workouts to my Garmin without using the workout creator built into Garmin Connect?

Hi,

I like creating my own custom workouts.  I usually go onto the Training and Planning Menu on Garmin Connect; Workouts and then on my workouts I click on Create a workout.  I later add these workouts to my calendar and sync them to my watch so that they are available there when I am ready to do the workout.

My question is:  Can I create my workouts as FIT files and upload them to my Garmin connect so that I don't have to manually create a new workout all the time?

Thanks,

Top Replies

All Replies

  • I can also report there doesn't seem to be an indication in the watch's UI that the last rest step will be skipped, when you preview a workout. Pretty frustrating omission imo. (It does work as expected when you actually do the workout.)

    Also, I compared two workout FIT files (one with skip last recover enabled, one without) after converting them to CSV. As you might guess, the difference is the former has an "unknown" field with value 1, while the latter has an "unknown" field with value 0. (Yes, I am using the latest version of the FIT SDK, released May 15, and, yes, I have seen unknown fields many other times, both in this case and in the case of activity files.)

    This really highlights the biggest weakness of the FIT CSV Tool and why it's useless for "editing" FIT files (as some ppl suggest) by converting FIT files to CSV and back to FIT again - any unknown fields/messages are simply presented in the CSV as "unknown" (which means they'll be discarded in the conversion back to FIT). It would've been a lot better if there had been a scheme to preserve the numerical IDs of any unknown fields or messages. e.g. "unknown (42)"

    (I will also say the new-ish fit file repair tool in the fit sdk throws away a lot of data, too)

    Having said all that, there are a few 3rd party FIT to JSON decoders, but none of them provide an easy way to go from JSON back to FIT iirc.

    I used one of the decoders (https://github.com/polyvertex/fitdecode) and found the following difference in the workout repeat step message's field values:

    // skip last recover
    {
        "name": "unknown_18",
        "value": 1,
        "units": "",
        "def_num": 18,
        "raw_value": 1
    }

    // don't skip last recover
    {
        "name": "unknown_18",
        "value": 0,
        "units": "",
        "def_num": 18,
        "raw_value": 0
    }

    The corresponding field definition is:
    {
        "name": "unknown_18",
        "def_num": 18,
        "type_name": "enum",
        "base_type_name": "enum",
        "size": 1
    }

    I think it goes without saying that this unknown field (with definition number 18) is not in the workout cookbook, the linked workout fit file format page, or the C# workout cookbook project. (And obviously the FIT CSV tool doesn't know about it, either.)

  • Otherwise, you can avoid the last Rest in the Repeat by excluding the last round explicitly from the repeats.

    For example:

    1. Warm up
    2. 3 x repeat 19 min run + 5 min rest
    3. 19 min run
    4. Cool down

    I've done that before, but it's also easy to just define the workout normally and manually skip the last rest step using the LAP button.

    I think the actual feature that Garmin implemented is nice (and probably something people have been requesting for years), it's just too bad that it's not really reflected in the watch UI (or in some cases, the Connect UI, apparently.)