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 really like your app. Thank you so much. I would like to have a formula for counting the number of strokes during a bike workout. Can you help me?

  • I have Edge 830 and di2 connection . So i know Gear wheel combination ( fe 50/17 ) and i know y speed (fe 30 km/h).. how can i calculate my cadans ??

  • Priceless app! Is there any possibility to show Strava live segment elapsed time?

  • Appbuilder5+ is really great. Thanks a lot.

    I wanted a way to approx track my resistance on a spin bike in my gym. I know that during a spinning workout, I turn the resistance wheel about 3/4 of a turn and if I could divide that into 4 'levels' it would be great.

    I figured that I could use the lap key, one lap within 5 sec-> increase the level, two laps-> decrease the level, three laps-> reset to level 1. Then I also save the percentage for each level with recordsummary. I then use power field to calculate some kind of effort based on this resistance level and cadence.

    Anyone else tried to do anything like this? My formulas are not perfect, feel free to comment with suggestions to improve them. For instance now when doing a double press to decrease, the level first increase by 1 and then decrease by 2...

    Now I just hope that has some time over and still has some love for appbuilder5+ to upgrade it to fenix6x, so I can sell my beloved 5x:)

    Level +1/-1
    recordsummary(
    sum(getglobal(4) eq 1)/max(timer));
    record(
    Setglobal(4,
    If(getglobal(4) eq null, 1,
    if(lapcount-prev(lapcount) gt 0,
    ifs(
    setv(1,lapcount-prevt(lapcount,5)) eq 1, getglobal(4)+1,
    Getv(1) eq 2, getglobal(4)-2,
    Getv(1) eq 3, 1),
    getglobal(4) ))))

    Power
    recordsummary(
    sum(getglobal(4) eq 2)/max(timer));
    Record(Cadence*(
    if(laptime lt 1 and lapcount gt 1, 0, 1)+Getglobal(4)),7,"power")

    Cad
    recordsummary(sum(getglobal(4) eq 3)/max(timer));
    norecord();
    Cadence+' '+hr

    Laptime
    recordsummary(sum(getglobal(4) eq 4)/max(timer));
    norecord();
    Laptime

  • Hi flow,

    can giù give me a formula ?

    I would like to have NP*torqueeffectivness while Cycling and of it's possibile i Need It in decimali and not  in percentage.

    Thank you

  • Hi flow,

    can giù give me a formula ?

    I would like to have NP*torqueeffectivness while Cycling and of it's possibile i Need It in decimali and not  in percentage.

    Thank you

  • Would you also want to be able to follow during and analyze after your strength workout your active/rest periods? For instance, in what set did your hr spike?

    With appbuilder you can create a set counter and a field that show zero for rest and 1 for active which does it easy to find your sets post-workout.

    Active1/Rest0

    Recordsummary(sum(getv(1) eq 1)/max(timer));setv(1,(Lapcount+1) mod 2)

    Sets

    Recordsummary(max(getv(1)));setv(1,Lapcount div 2 + 1)

  • The data that AppBuilder displays is standard data exposed to apps by Garmin's Connect IQ API.

    Unfortunately, not all data is available to apps in the manner. Particularly, PulseOX is not available.