Custom interval fields

Hi, David! How can I program data “max HR - min HR” to view my HR recovery in intervals?

Tks!!

I just added an “HR Range” custom interval field. Click “Fields” and then the search button and you should find it.

{
   interval.max_heartrate - interval.min_heartrate
}
1 Like

Hi, I was unable to find these field as they’re exactly what I’m looking for. Are they still available?

Try Activities>>Costum>>Field and search for “Running Time”

Its not a Interval Field, its an Activity Field.

Hi, it looks like I had marked them private while editing them and forgot to make them public again. They are public now and should show up if you search “Time Running” in interval fields. Both versions - the activity field and the interval field should be available.

2 Likes

Awesome! Thank you.

1 Like

Hi, I have some custom fields in my .fit file
Lap field name: “Lap Run Effectiveness”, field definition number: 201
Record field name: “Run Effectiveness”, field definition number: 200

Can you please help me to expose this data in the custom interval field?

You need to create a custom activity stream for the record field to get it into a trace, then a custom interval field to calculate it for each interval:

Thanks David, was able to bring in the Record field (1 second recording), however I’m still at a loss on how to bring in a Lap / Interval field. Can you help me out with that?

The interval value is calculated from the stream, the laps value from the file is not used. I added an average run effectiveness field for you. The script looks like this:

{
  let data = icu.streams.RE
  let tot = 0, n = 0
  for (let i = interval.start_index; i < interval.end_index; i++) {
    let v = data[i]
    if (v !== null) {
      tot += v
      ++n
    }
  }
  n > 0 ? tot/n : null
}

To create new interval fields click Fields and then Add Field. You should already see the “Avg RE” I created in the fields list. You can edit it to change colour, label etc…

1 Like

Hello and thank to you all for such amazing work on this site!

I am trying to add a Ground Contact Time (GCT) field to my intervals from data from my Garmin Forerunner 265. I’ve followed some examples but it seems that this data is not available in the stream via the ‘GCT’ key as it’s throwing a null error:

I know that the data is there for each interval as it can be seen via Garmin Connect

and via the garmin FIT file download (but here it seems to be referenced via avg_stance_time):

Does anyone have any guidance how to get this working for Garmin Forerunner FIT interval data?

Thanks much!

Just Activity Reanalyze

Hi, thanks for the suggestion!

Apologies if I’m being dense, but I’ve tried re-analyzing and re-processing the activity (with the Processes fit file messages checkbox both ticked and unticked – not sure how messages are different from other info in the FIT file) and still the same result: a blank GCT field in interval list data and the TypeError: Cannot read property "data" from null error when testing the script in the edit field dialog.

I’m curious if @david or others have any input? Thanks much!

Did you create a “GCT” custom stream, based on FIT file record message “stance_time”?

Ah, thanks for the tip! No, I did not realize that was necessary. I’m searching through the forum posts for how to create a custom stream and am not finding that info. Is there a step-by-step guide somewhere?

Activity>>Charts>>Custom Streams choose as exemple Garmin GCT, or others

1 Like

Yes, that was it! I added the custom stream and re-processed the activity and the GCT values have shown up. I did finally find some posts on Custom Streams (eg this one) but the relationship between the Interval Field and the Activity>>Charts>>Custom Streams wasn’t clear to me. Thanks again for the help @pepe :pray:

Keep in mind that Garmin FIT files have the following messages (beside others):

Session messages: Totals and Averages for the Activity
Lap messages: Totals and Averages
Record messages: 1s Stream Metrics and elapsed time metrics

1 Like