AppBuilder 5+
· v5.26
About
Build your own datafield! No coding necessary.
AppBuilder 5+ is the full-screen data field version of AppBuilder 5, for cutting-edge watches, and Edge cycling computers.
If your watch isn't supported or you just want a non-fullscreen data field, get AppBuilder 5: https://apps.garmin.com/en-US/apps/fd690281-9c22-4fee-a81e-3b7f39aa67c5
Watches have the choice of 2, 4, or 6 data fields.
Documentation and examples: https://ciq-appbuilder.blogspot.com/p/examples.html
NOTE: If you need to configure complex math formulas (e.g. 300+ characters) in AppBuilder 5+, you may wish to enter your formulas at: https://ciq-appbuilder.blogspot.com/p/5plus.html. The webapp will give you code that you can paste into the app settings. This allows AppBuilder to handle several complex formulas without crashing.
If you are only using simple formulas, you don't need the web app. However, if AppBuilder crashes on startup, you might want to consider using the code from the web app.
Discussion and updates: https://forums.garmin.com/developer/connect-iq/f/showcase/5428/data-field-appbuilder
━━━━━━━━━
AppBuilder5+ is one of four clones, so you can have two full-screen data fields in your running or cycling activity. All of my apps, including clones, are here:
https://apps.garmin.com/en-US/developer/8545c609-c030-4c0c-b3d8-4bc63ebdc901/apps?sort=name
━━━━━━━━━
Some examples of things you can build with AppBuilder:
• Speed/pace, 5 second average
• Power, 5 second average
• Normalized Power, Intensity Factor, FTP
• Yacht race timer, marathon predictor, distance to next milestone/aid station (with beep/vibe alerts)
• Elevation grade, elevation change, lap ascent/descent, lap elevation change
• Repeating countdown, Interval rest/work timer
• Stride length
• Count sprints, time spent sprinting
• Last lap average heart rate (HR)
• Last lap maximum heart rate
• Distance/speed in opposite units
• Average cadence, ignoring zeros
• Display multiple values at the same time (e.g. Current HR/Average HR).
• Alternate between multiple values every 5 seconds
• Time since last pause
• Total time paused
What's new
• 5.26 Support new devices, including 745, Fenix 6 Pro, Fenix 6S Pro, and Fenix 6X Pro
Fix layout cosmetics for devices such as 245M, 645M and 945
• 5.25: Fix DistanceToLapStart crash
Support new devices: 245M, 945, Marq, Edge 530/830
• 5.22: Add optional 4th parameter to PREVD and PREVT
0: reset data on pause
1: don't reset data on pause
• 5.21: Add optional 3rd parameter to PREVD/PREVT for # of samples (previously fixed at 10).
e.g. PREVD(Timer, 5000, 5000) returns the time from 5 km ago, with a resolution of 1 metre (5000/5000)
• 5.20: Add pressure for CIQ 2+ devices that support it: ambientPressure, rawAmbientPressure, meanSeaLevelPressure (in millibars, hPa)
See manual
• 5.19: Add activity steps (variable is called "steps") for CIQ2. Reduce memory usage slightly.
• 5.18: Fix issue where lap/avg data may not have been reset after activity save/discard, for certain devices
• 5.16: FIT field: Fix missing lap record for metric 2 in Garmin Connect. Existing files should be displayed properly now.
• Fix overriding of internal FIT label, from code
• 5.15.1: Add clock, battery % to header/footer
• 5.15: FIT recording - remove "AppB:" from internal FIT label, because that never made any sense. Now it's just "YOURLABEL"
• 5.14 Add prettier 6 Field A layout, with centred values (but not centred labels). This is now the default.
• 5.13: CIQ2 record(), recordlap(), recordsummary(): add ability to set internal FIT field label.
e.g. Record power so Stryd and Smashrun recognize it:
record(Power, 7, "Power")
• 2.4.1beta: Fix issue where spaces were displayed as boxes on Edge
• 2.4beta: Fix misspelled setglobal(), getglobal() functions
• 2.3beta: Fix FIT recording to lap and summary
• 2.2beta: Fix issue where Edge devices did not display fields 5 and 6
• 2.0beta: Fix several functions that didn't work: record(), format...()
Note: if want to use the FIT native number functionality with web app code, you must get new code from the web app (it will start with "!2"). Existing code will work without native number functionality
• 1.4beta: Fix prevn() crash. Fix crash when entering certain functions (e.g. timeavg, prevd) as text formulas
• 1.3beta: Improve formula solving efficiency so *6* very complicated (300+ character) formulas can be used, when pasted in as code from the web app
• 1.2beta: Add 2 field layout.
• Fix 4 field layout
• Add prevn(x, n) function. Returns x from n seconds ago. Same options as timeavg() (strictWindow and pauseMode)
1.1beta • Add back everything that was removed in the previous update. Using code from the webapp is now optional, if you want more complex formulas. You can still enter formulas as plain text in the Garmin Connect settings. You can even use code for some data fields and text formulas for others.
1.0beta • AppBuilder 5+ can now support about 5 fairly complex formulas (300 characters long), instead just 1 complex formula. 6 medium-sized formulas should be no problem
• Remove support for direct entry of formulas.
• Remove support for non CIQ 3 devices
━━━━━━━━━
• 0.5beta: Avoid "timeout" crash on startup by reducing init complexity. This means that longer formulas have less chance of crashing the field (see forum thread)
• 0.4.11beta: Add formatdecimal(x, n) function: formats x to n decimal places
• 0.4.10beta: Improve formula processing time, so certain complex formulas don't crash
Fix recent bug where certain formulas (regardless of complexity) would crash
• 0.4.9beta: Add bearing, bearingFromStart and courseOverGround (see manual)
0.4.8beta - Fix crash on division by 0.0 (but not 0!)
0.4.7beta - fix broken lap*() functions
0.4.6beta - fix issue where fields were blank in a non-running activity
0.4.3beta - Add functions getglobal() and setglobal(), so you can share variables between formulas. Just like getv() and setv(), but visible to all 6 formulas.
0.3beta - Add support for Edge and handheld GPS
0.2beta - Add 4 field layout