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
  • Yesterday evening i have test the formula on one climb of 5 minutes lenght:

    (1-(2/100))^-1*(9.8067*(UserWeight+10) * (IF(Speed_raw GTE 1, TIMEAVG((Altitude_raw - PREVN(Altitude_raw, 14,1)) / (Distance_raw - PREVN(Distance_raw, 14,1)), 3), 0)+0.005)+(0.5 * 0.63 * 0.509 * 1.22601 * Speed_raw^2)) * Speed_raw

    but result of average value are too low (213 watt). Infact for calculate average Lap value is 235 Watt and i use another formula with first version of Appbuilder.
    I upload file FIT also in Strava for another analisys, but Strava it's not much exactly.
    In the graph we can see red line is this formula and blue line average Lap.



  • Today i try SETGLOBAL for set variable but this formula return to me Syntax Error!:

    SETGLOBAL(1, IF(Speed_raw GTE 1, (Altitude_raw - PREVN(Altitude_raw, 14)) / (Distance_raw - PREVN(Distance_raw, 14)), 0))


  • Former Member
    Former Member over 5 years ago
    BortoloS Difficult to say without knowing exact weight, speed and grade whether the value is in the right ballpark or not. But at least you got a graph recorded. :)

    As for SETGLOBAL it will only work with AppBuilder5+ and you need a Fenix5+ series watch. Sorry for the confusion. I thought you said you had installed AppBuilder5+ from your previous posts.

    Can I ask what watch are you currently using?

    You can't really use complex variable combinations on lower end watches running AppBuilder5, but the formula you just used should work similarly regardless. The only thing SETV or SETGLOBAL would bring is the ability to chop the formula to smaller parts and share the results to calculate additional metrics like AVG LAPAVG etc.

    Either way regarding the base formula that's as good as it's going to get I'm afraid so wouldn't invest too much time playing around with it if it doesn't work satisfactory.
  • JTH9 i use Garmin Edge 520.

    Today and next days i want to learn to use SETV and SETGLOBAL if works fine on Edge 520.
    Is not problem for the formula, i think I solve the problem. For me now it's much important learn the use of Appbuilder.
    Thanks much!
  • Former Member
    Former Member over 5 years ago
    Only Edge 520 Plus is supported by AB5+

    But on Edge 520 you can still have four IQ fields so up to four copies of AB5. I'll see if can make example formulas that would work on separate instances of AB5.
  • Former Member
    Former Member over 5 years ago
    Here are formulas you could use on AppBuilder5.

    SETV(1,(1-(2/100))^-1*(9.8067*(UserWeight+10)*(((Altitude_raw - PREVN(Altitude_raw, 14)) / (Distance_raw - PREVN(Distance_raw, 14)))+0.005)+(0.5*0.63*0.509*1.22601*Speed_raw^2))*Speed_raw) ;

    You will also need to add one of the following after the ; mark, depending what you want to display:

    Display and record power with nativenum (if you don't have a cadence sensor you should remove "AND Cadence GT 0" from the formula):

    RECORD(IF(GETV(1) GT 0 AND Cadence GT 0, GETV(1), 0),7)

    Display lap average power:

    LAPAVG(IF(GETV(1) GT 0 AND Cadence GT 0, GETV(1), 0))

    Display average power:

    AVG(IF(GETV(1) GT 0 AND Cadence GT 0, GETV(1), 0))

    Display normalized power:

    AVG(TIMEAVG(IF(GETV(1) GT 0 AND Cadence GT 0, GETV(1), 0),30,1)^4)^0.25
  • Thanks much Jth9, today i try.
    Now first i must remove APB5+ and install APB5 on my Edge 520.
    I have cadence sensor.
  • Now first i must remove APB5+ and install APB5 on my Edge 520.


    Not sure what I'm missing here, but you should not be able to install AppBuilder 5+ on Edge 520 (non-plus model)....

    (I checked the revision history of all 4 clones, and I don't see any point in the past where I had Edge 520 on the supported devices list by accident.)
  • Not sure what I'm missing here, but you should not be able to install AppBuilder 5+ on Edge 520 (non-plus model)....

    (I checked the revision history of all 4 clones, and I don't see any point in the past where I had Edge 520 on the supported devices list by accident.)



    Yes Flow!
    excuse me...it's my mistake.
    I have check fine now. Are all Appbuilder 5 (not +).

    But why these difference from APB5 and APB5+ ?
    why Garmin 520 cannot install AP5+ ?
    it's a memory problem ?

    thanks
  • But why these difference from APB5 and APB5+ ?
    why Garmin 520 cannot install AP5+ ?
    it's a memory problem ?



    Yes.