I'm trying to develop a datafield that uses the new WorkoutStep, WorkoutIntervalStep and WorkoutStepInfo classes. I can't find any information other than what is in the API documentation, but by playing around a bit I have found the following:
My environment is an F6 running 11.10 firmware, Eclipse with SDK 3.2.2 and I am using a running interval workout that was downloaded on my watch from TrainingPeaks via the Garmin Training API. It has a couple warm up steps and then intervals repeating 4x with active and rest portions, followed by a cool down step.
1) There is no way to load a workout in the simulator. This is a hassle since it means I have to do all of my debugging on my watch, but that's fine -- lots of System.println() and looking at the error log has gotten me pretty far.
2) Toybox.Activity.getCurrentWorkoutStep() works correctly and returns null when there is no workload loaded and returns an Activity.WorkoutStepInfo instance when one is loaded.
3) The information in the WorkoutStepInfo instance looks correct. I mostly tested with the intensity attribute and it follows correctly as I progress through the workout.
4) Unless I am doing something wrong, the step attribute in the WorkoutStepInfo instance never has any information. When I try to read it, has:activeStep and has:restStep always return false. This may be due to the way that the workout file is constructed(?), but without having either of these attributes there is no way to get a WorkoutStep instance which has the detail information about the step including the target and duration information.
5) This may be user error on my part, but the WORKOUT_INTENSITY_xxxx enumerations aren't working. It compiles when I use them but crashes runtime. For my playing around I had to hardcode the values.
Thanks in advance for any guidance if anyone else has played with this new feature and been successful in getting it to work!