Data Field: AppBuilder

By user request, this app lets you define your own data field, based on a simple math formula like cadence / 2.

If you want to get fancy, there's conditional expressions (like IF in Excel), functions for data analysis (like MIN and AVG), and the data field can also display the text of your choice. The resulting data can be (optionally) written to the activity FIT file.

With AppBuilder, you can implement almost any field that involves math, such as: calculating normalized power and saving the data to the FIT activity file, showing the average pace for even-numbered laps, or recording the amount of time you sprinted.

Full documentation and examples here:
http://ciq-appbuilder.blogspot.com/

AppBuilder 5:
Now with new features! AppBuilder 5 is a completely new app, so please check it out in the store if you are interested in any of the new features.
https://apps.garmin.com/en-US/apps/fd690281-9c22-4fee-a81e-3b7f39aa67c5

- Store up to four formulas per app. Switch between formulas directly on the watch, without using a phone or PC. With four clone apps, you can store up to 16 formulas total
- User variables. Allows for powerful formulas where information can be stored at one point, like the start of a lap, and used later. e.g. Lap elevation change
- Improved timeavg() options. Allows for simpler, more flexible normalized power function
- More functions and variables

4 clones of AppBuilder are available in the store, so you can have 2 formulas in the same activity
  • I am using Garmin Express on a PC. I've configured other apps OK this way.

    I'll have a look at using Connect Mobile.

    I'm surprised the field label says AppBuilder because that isn't in the configuration settings by default, so it's as if it's not looking at the config at all.

  • Have you installed more than one „Appbuilder 5“ datafields?

  • Although I don’t think, the following is your problem... but you have to consider the difference between configuring via GE or GCM:

    the maximum length of a formula or string configured by Garmin Express is 256 characters (at least with WinPC), whereas Garmin Connect Mobile lets you define up to 1024 characters.

  • My formula is much less than that! But whatever the cause, configuring via the app (Android) worked. So I have a solution. Don't know why GE didn't work, but I will just use the app from now on.

    Thanks.


  • Is it possible to use the record, recordlap, and recordsummary functions only with fields from the Activity File Messages section? Specifically I would like to use recordsummary with two fields from the Monitoring File Messages sections:

    MONITORING FILE MESSAGES
    33 moderate_activity_minutes uint16 minutes
    34 vigorous_activity_minutes uint16 minutes

  • thanks Flow.

    Today i test it.

  • Hi FlowSate - been watching this cool app for a while but never had a need to actually do anything with it until now.  Running my first Back yard Ultra type race next weekend - 5.5k loops on very hilly technical trails with a 1 hr limit and loop start "everyone but one will DNF".  

    I wanted a field that would give me a running estimate of how long each loop would take given distance left and the last 30 sec pace average.  I also did not want to fiddle with both lap buttons and pause buttons so only need to hit the lap button when I complete a loop and when I start the next.  During the "rest period it will count down to the next loop start.  Not really trusting the actual length of the course (as per most trail races), I decided to use the stated distance for the first loop then the actual first loop distance for the rest.  So far in testing this seems to work:

    setv(1,ifs(lapcount eq 1,lastlap(distance),lapcount eq 0, 5.5,lapcount gt 1, getv(1)));if((lapcount +2) mod 2 eq 0,(laptime +3600*((getv(1)-lapdistance)/timeavg(speed, 30))),(3600-lastlap(timer)-laptime))

    Also added a second field to show actual lap status (as the internal counter will be double):

    If((lapcount +2) mod 2 eq 0,'On: ' + (round(lapcount/2)+1),'Rest: ' + (round(lapcount/2))) + ' laps done'

    I'll see how it works out!  Thanks for all your effort with this app!

     

     

     

  • A question just out of curiosity:

    Why does not Garmin Connect show the label one gives an AppBuilder5 datafield? The fit-file has the right label as column-header.

    In fit-file the label is: "Gang"

    In Garmin Connect the label is: "App Builder 5"

  • The internal label in the FIT file is determined at run time, so it can be anything you want. Some third-party sites/apps like Smashrun or Stryd Power Center use this label to determine the type of the data, although there's another way to do that (the "native number" which associates developer data with standard "native" data such as power or cadence.)

    The label displayed by Garmin Connect is a string resource (with optional multiple languages) that’s fixed when the app is submitted. 3rd-party sites don’t have access to this label, since it’s not written to the FIT file. 

    Similarly, the colour of the graph is fixed when the app is submitted. 

  • Sorry, I don’t think that’s possible. AFAIK CIQ apps can only write the 3 kinds of messages corresponding to those functions: activity, lap, and summary.