Feature request - 3s power on Garmin default workout page

Currently the TrainerRoad outside workout .FIT file defines lap power as the target type for the Garmin default workout page. Here is an example, where lap power is “Step Avg. Pwr.” at the top of the screen:

74

This is not very useful, and workouts from Garmin Connect and TrainingPeaks use 3-sec Power as shown here:

Default Workout Comparison z2

The FIT File SDK defines many types of targets:

Where TR is using POWER_LAP.

My enhancement request is for TrainerRoad to use POWER_3S when generating a workout as Garmin FIT file.

28 Likes

Proof of concept using info in FIT File SDK:

  • copy Echo -3 from my 530 to my computer
  • edit Echo -3 to change the layout of 2 workout steps
  • upload to Garmin into NewFiles folder
  • turn on Garmin, load Echo -3_enhanced, start workout, and take screenshots

TR default layout:

74

Echo -3 workout step using 10-sec power:

69

Echo -3 workout step using 30-sec power:

72

Boring technical details:

  1. Download FIT File SDK and located the WorkoutStepMesg class definition in fit_workout_step_mesg.hpp)
Click here for class definition

class WorkoutStepMesg : public Mesg
{
public:
class FieldDefNum final
{
public:
static const FIT_UINT8 MessageIndex = 254;
static const FIT_UINT8 WktStepName = 0;
static const FIT_UINT8 DurationType = 1;
static const FIT_UINT8 DurationValue = 2;
static const FIT_UINT8 TargetType = 3;
static const FIT_UINT8 TargetValue = 4;
static const FIT_UINT8 CustomTargetValueLow = 5;
static const FIT_UINT8 CustomTargetValueHigh = 6;
static const FIT_UINT8 Intensity = 7;
static const FIT_UINT8 Notes = 8;
static const FIT_UINT8 Equipment = 9;
static const FIT_UINT8 ExerciseCategory = 10;
static const FIT_UINT8 ExerciseName = 11;
static const FIT_UINT8 ExerciseWeight = 12;
static const FIT_UINT8 WeightDisplayUnit = 13;
static const FIT_UINT8 Invalid = FIT_FIELD_NUM_INVALID;
};

  1. I located the ENUM definition in fit_profile.hpp
Click here for ENUM definition

typedef FIT_ENUM FIT_WKT_STEP_TARGET;
#define FIT_WKT_STEP_TARGET_INVALID FIT_ENUM_INVALID
#define FIT_WKT_STEP_TARGET_SPEED ((FIT_WKT_STEP_TARGET)0)
#define FIT_WKT_STEP_TARGET_HEART_RATE ((FIT_WKT_STEP_TARGET)1)
#define FIT_WKT_STEP_TARGET_OPEN ((FIT_WKT_STEP_TARGET)2)
#define FIT_WKT_STEP_TARGET_CADENCE ((FIT_WKT_STEP_TARGET)3)
#define FIT_WKT_STEP_TARGET_POWER ((FIT_WKT_STEP_TARGET)4)
#define FIT_WKT_STEP_TARGET_GRADE ((FIT_WKT_STEP_TARGET)5)
#define FIT_WKT_STEP_TARGET_RESISTANCE ((FIT_WKT_STEP_TARGET)6)
#define FIT_WKT_STEP_TARGET_POWER_3S ((FIT_WKT_STEP_TARGET)7)
#define FIT_WKT_STEP_TARGET_POWER_10S ((FIT_WKT_STEP_TARGET)8)
#define FIT_WKT_STEP_TARGET_POWER_30S ((FIT_WKT_STEP_TARGET)9)
#define FIT_WKT_STEP_TARGET_POWER_LAP ((FIT_WKT_STEP_TARGET)10)
#define FIT_WKT_STEP_TARGET_SWIM_STROKE ((FIT_WKT_STEP_TARGET)11)
#define FIT_WKT_STEP_TARGET_SPEED_LAP ((FIT_WKT_STEP_TARGET)12)
#define FIT_WKT_STEP_TARGET_HEART_RATE_LAP ((FIT_WKT_STEP_TARGET)13)
#define FIT_WKT_STEP_TARGET_COUNT 14

  1. Retreived TR’s Echo -3 from my Garmin 530 and because I’m old school:
  • pulled out a hex editor
  • visually located workout steps 7 and 8 using the info from 1 and 2 above
  • changed workout step 7 to 10sec power
  • changed workout step 8 to 30sec power

Result of editing as seen in fitfileviewer.com, look in target_type column:

7 Likes

That would be nice to have 3sec power in that screen.

Nice work with the in depth description and helping start on a potential solution

6 Likes

I would recommend creating a second workout screen and just ignoring the default for the time being. I don’t find the visuals particularly compelling or effective myself even if a 3s power was made available. I really like my second screen however, I have everything I need at a glance. TR has created a tutorial for this as well.

4 Likes

The default Garmin workout page is compelling for me. All about focus and being in ‘the zone’ (mental) without distractions.

I’ve posted soooo many custom screens on the forum over the last year. Seriously. I’ve been using Garmin to do outside workouts since 2016, first with the 520 and then 530. Previously a heavy user of creating workouts in Garmin Mobile, TrainingPeaks, and a bit in TR’s WorkoutCreator.

Currently I have a coach and workouts are assigned in TrainingPeaks and I don’t have any issues, everything works very well pre-ride, during ride, post-ride. The TP UI could use a facelift but honestly there are too many features for me to give it up and commit to using TrainerRoad even if I dropped my coach.

I’d like to see TR up its outside workout game (pre- and during- and post-), for the day I go back to self-coaching.

7 Likes

Failing to see how this is mutually exclusive to my statement. In the interim, you could create a functional screen that does exactly what your asking for. The flex isn’t necessary. Garmin workout screen that has the same key visuals and simplicity in the short term. :woman_shrugging:t3:

6 Likes

Cool :+1: what is the name of the field in the centre?

It’s under workouts and it’s called target. Make sure you’re using the 4-b layout. The field size in 4a is too small

4 Likes

TR is all about the user experience. Why create something that should simply work out of the box? If lap power was so important it would be front and center of the Desktop and Mobile apps. Its not, and for good reason. Same applies for running workouts on Garmin.

No interim is required in my use case.

Here is the same screen on a Garmin 530:

Custom Page Recording

(sorry I didn’t load a TR workout, so its showing 3-sec power)

7 Likes

Like I said in the other thread…I don’t think it will be a difficult thing for TR to implement.

I doubt it will have been super clear when the Garmin versions of the TR workouts were created what difference that setting made.

1 Like

+1. I noticed that today

I totally get it. I think for people roaming around and dissatisfied, the custom solution works and might even be better, I like HR as a sanity check for instance. I think Garmin’s default workout screen that can’t be overridden is crap. TR missed on the redunt step average field for sure, you can see at a glance how you track on the comparison graph which is more valuable than a number for sure. But Garmin should let you populate your own custom workout screen that would apply to any platform’s workout. I’m a garmin die hard, but sometimes they piss me right off. :rofl:

4 Likes

In addition to my focus and out-of-box experience arguments, on the 530 you need to be on the default workout page to pause/rewind intervals.

6 Likes

I think this is a no brainer. I didn’t even notice the target type for a while the first time I was using the field and was all confused by the data I was seeing. I am also relatively technology impaired with a cheap cell phone and no functional computer (damn right I have an 830 an Fenix 6 though!), so that probably doesn’t help.

4 Likes

Well it’s not really front and center, and desktop only?

I use the mobile app, but haven’t done an inside workout with it in a long time. Here is a workout without any sensors connected:

Maybe the bar/ball would appear if I had a sensor?

No matter, hoping I made my point.

Thanks. You left off the real-time power graph in that pic. Look at it from a design point-of-view, what information is given the most pixels? Ok now shrink it down to the size of a Garmin 530. Why should interval power be given pixels on a tiny screen, at the expense of knowing 3 or 10 second power and seeing that in a red/yellow/green target RANGE? Outside you can’t precisely hit a target power number, not much value in that if you can keep the dancing triangle in the green and yellow ranges.

(somewhat off-topic: it took many workouts before I figured out the meaning of the TR app’s bar/ball)

Its like Alex said on the podcast recently (paraphrasing), if you put interval power on a bike computer and due to traffic/terrain you are low, then quite often the first reaction is to go well over the target RANGE in order to make lap power get back into a proper range.

2 Likes

Without trying to beat a dead horse I think @bbarrera is correct on this.

I get that the average interval target is “front and center” but the “measured average interval power” is only secondary on the TR app - the actual numerical value shown is that of current power - not average. The numerical power on the default garmin screen when a TR workout is loaded is the average - so there is indeed an inconsistency there.

Of course it would be nice if we could just configure the default workout screen ourselves…

6 Likes

The way that users are supposed to execute the workout is to spend as much of the interval time as possible in the target power range. If you are off on power for part of the interval, you are supposed to NOT try to hit the right average, but the right instantaneous power. If you missed a lot of the interval you are supposed to rewind and repeat the interval.

Given that, I 100% agree with @bbarrera. Show 3s power, not interval average power. If you give a target number, people will infer that they are supposed to hit that target, which would lead to the unintended behavior of going way above target power to make up for low power earlier in the interval.

9 Likes

3 sec (or 10 sec) power would be so much better.
I’m doing WO’s on a 520+ that has (at least) another year of service left in it. The default Garmin WO screen is the only way to see any WO instructions during the WO and I end up having to shuffle between two screens.


Step Avg. Pwr. is great when the step starts and you get the instructional overlay. It’s totally useless after that overlay vanishes and you’re doing the step itself.

3 sec (or 10 sec) power for the win.

4 Likes

I don’t know much about IQ apps, but couldn’t Trainerroad make an IQ app that was as close to the native app as possible considering the screen real estate?

3 Likes