Developer fields in WKO4 and how to use them

Build 250 of WKO4 contained a completely-revamped file parser that enables WKO4 to read all data fields and records that exist in a .fit file, including dedicated data fields generated by apps and firmware such as Garmin IQ, Moxy, and Stryd. Under the FIT SDK 2.0 standard, developers are able to track unique and select data specific to their methodologies or interests, and until now these additional data fields have been difficult to analyze because unique code had to be customized for each appearance of the fields. WKO4's ability to recognize and analyze any and all fields present in a workout file makes it easy.

To see the developer fields contained in any workout file, open the Workout Details chart and review the Channels list. The developer fields will be listed first and will include the @ symbol at the beginning of the field name.


In the image above, we can see that this workout file contains three custom developer fields generated by either the recording device or firmware used to export the file. The three developer fields in this file are @distance, @form_power, and @leg_spring_stiffness.

It is important to understand the difference between developer fields and data channels native to the workout files. In the workout pictured above, there is a developer field for distance (@distance) but no distance channel (such as elapseddistance) recorded directly by the device. This does not mean that the workout's distance data was transferred into a developer field; it simply means that the file does not contain a native distance channel from the device. The @distance data is in a custom field generated by either the device firmware or the software used to export the file. For comparison's sake, take a look at the workout pictured below, which includes the native data channel elapseddistance (without the @ symbol):


This workout provides another example of the difference between developer fields and native device data channels. This file contains a custom developer field called @vertical_oscillation. This is not to be confused with the native data channel verticaloscillation, which is a standard data channel referenced in many of WKO4's charts and reports (and present in the first workout example above). If a workout file does not contain the data channel verticaloscillation, the charts set up to use it will of course display no data for that particular channel, even if the similarly-named @vertical_oscillation developer field exists in the workout. WKO4 does not change or modify any data fields, and in this workout WKO4 did not transfer the native channel verticaloscillation to a developer field called @vertical_oscillation. WKO4 simply reports whatever channels and fields are contained in the file.

Please note that the developer fields and channels contained in a workout may be altered by the workflow you use to export/transfer workout files for use in TrainingPeaks and WKO4. For example, some users find that exporting from certain apps or software causes vertical oscillation to be interpreted as a developer field (@vertical_oscillation) instead of the data channel verticaloscillation, which requires custom charts and reports since WKO4's default chart expressions use the channel verticaloscillation. Our WKO4 Power Users Facebook group has had many discussions on this topic; feel free to search the group to find recommendations.

Regardless of what fields exist in a workout, it is simple to build charts and reports with them all: simply build expressions using the exact appearance of the fields listed in Workout Details. For example, if you want to see the average Form Power for the workout above, simply use the expression avg(@form_power) when building your chart or report.


Was this article helpful?
1 out of 1 found this helpful