I do the same basic strength (maintenance) workout a couple of times/week. I use an Edge on bike rides and a Forerunner on runs but I have no device for strength workouts.
Entering these activities manually in Garmin Connect is a pain and (rather inexplicably) there appears to be no "duplicate/copy/clone this activity" capability. I probably couldn't stomach it even if I was only adding new workouts, but I have years of journaled strength training workouts that I'd like to add to the activities that I have already uploaded to GC from my Edge and Forerunner so that I can see the whole training picture in one place.
I downloaded the FIT SDK and cobbled together a little Java app that generates (encodes) a FIT activity file that simulates my basic maintenance workout. The activity file uploads to GC successfully, but there are some rough edges that I need help with. For example:
- In GC, in the detailed view of the activity from my generated/uploaded FIT activity file, the "event type" under the event name is always "uncategorized". I haven't figured out how to set this value. I've tried different ActivityMesg.setType(Activity.FOO) values and generating a SportMesg with msg.setSport(Sport.TRAINING) and msg.setSubSport(SubSport.STRENGTH_TRAINING), but no luck so far.
- In the same detailed view, each "set" in the uploaded activity (eg: 15 sit-ups) displays the expected Exercise Name*, Time, Reps and Weight** values, but the Rest time value is always zero no matter what I've tried. I've tried setMesg.setDuration(elapsedTime - 15) so that duration < elapsed time, setMesg.setSetType((short) SetType.REST), RecordMesgs with corresponding workoutStepMesg.setIntensity(Intensity.REST), generating (and NOT generating) EventMesgs*** to simulate lap button start/stop events and probably several other ideas with no luck so far.
- * Many of the exercise names in GC (available in pull-down lists in the manual activity editor) have no direct match to ExerciseCategory and FooExerciseName constants.
- ** I added a UserProfileMesg to the activity file, but the "bodyweight" exercises don't use the value in it. Adding this message had no discernible effect at all.
- *** EventMesgs have no discernible effect either - or at least not one that I've been able to observe. Is that expected?
- GC won't display the "muscles used" visual unless I edit the activity in GC. When I click to edit, the editor zeroes all of the weight values. I assuming that I haven't encoded something quite right, but I'm at a loss.
I don't have a device to which GC will export a manually-entered activity and the .FIT or .TCX files that it will export for such an activity are empty, so I can't generate my own example file to reverse-engineer.
I'm really hoping there's either some documentation that I haven't found that will help with my use case for the FIT SDK or maybe an example strength training FIT activity file that someone can share.
I'm willing share the code if needed. It's nothing special, but I'd have to clean it up first because it's rife with the artifacts of trying out so many different combinations...
Thanks.
-Jon