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.

20 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:

6 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

3 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.

2 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.

3 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

3 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)

6 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:

3 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.

4 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

It is. It’s your target power and it’s that bar on your power reading, around which your power bar changes color.

Lap power is the average interval power.

Lap power/interval power, is also very present in the workout summary, which shows for the lap/interval, the NP, avg power and target power.

Not arguing for or against, just stating that it is front and center.

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.

You need to pedal to start the workout. Just sitting there with no devices isn’t going to do it.

This is on iOS, Android, and MacOS. Also noting that Target is there as well, which is the lap power.

I get your point. It really just needs another field. In comparison to all the apps, which has immediate/3s power, lap power, etc. There are fields missing.

But, just wanted to point out that it is there. It’s just that you prefer to see the 3s power instead of where you are relative to the target. So, in essence you could come up short on the interval but have 3s be in range.

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

yeah, I did. Is it relevant, for highlighting that interval target is front and center?

I can kind of see the momentary power, in the power-graph, as you mentioned. But, it’s a coarse graph. I can see when I’m close, and I can see when I’m not.

I’d think in some cases it’s the target, and other cases it’s not. But, given that Garmin hasn’t exposed a way to specify 4 fields instead of 3, which is the priority? I think it varies on the scenario.

I think the argument of being well over the range to make up for it, is dependent on the duration of the interval and how far under you are.

To extrapolate the emphasis being placed on that argument (“well over the target RANGE”), my guess is that you’re saying target is not important for a long interval and you can drift under the target, and that rest breaks in the interval are OK. It could be traffic lights, or it could be that you’re tired and need to stop (and fill out the survey that it was traffic lights. :stuck_out_tongue: ).

I’d guess that interval power is one of the metrics being used to determine if you pass/fail the workout. Just like if you stop in the middle of a VO2 interval. Fail. Stop in Z2, don’t care.

Interpretation of the interval target, and reaction to the target, is what you’re arguing about in the latter posts. I get that. I still think it’s an either/or scenario, and varies. You might want 3s, someone else may want the interval range. On a VO2 power interval, I’d want to see my lap power. 3s doesn’t really cut it there, IMO, as it’s probably going all over the place. Maybe I want 10s or 30s, if it must be some form of instant power.

I get that, but that’s not the point I am making in a selected response to you. That was that it is not on any of the apps. My point is that it is on the apps. Nothing more than that.

There’s no need to move the goal posts and to try and convince me. I’m pretty rational about it, and would just make another screen as I see the value of both. It’s situational.

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