Data Field: All In One

The data field All In One integrates the logic of several of my data fields into 1 data field and gets the absolute maximum out of the available watch memory.

Download: https://apps.garmin.com/en-US/apps/6dec42e9-7fee-402b-95a4-a111e83d45e3

The functionalities which are available depend on the memory that is available on your watch for data fields. Because of memory limitations I also had to make some concessions towards configurability in favor of integrating more logic.

Connect IQ 1 devices (FR230, FR235, FR630, Vivoactive, Fenix3 (hr), D2Bravo (titanium), tactix Bravo, Quatix 3)

  • 5 customizable fields with 20 possible field options
  • ability to set up your preferences for 3 activity profiles (run / bike / other), so that you only need to store 1 connect iq field on your watch, yet are able to configure your profiles differently
  • Integration of Data Field: Fat Burner (fixed value per zone, no configurable zone values)
  • Integration of Data Field: Let There Be Light! (only enough memory to provide the choice between always on or always off)

Connect IQ 2 devices (Fr735xt, Fenix 5, Fenix 5s, Fenix Chronos, Fr935, FR645, Vivoactive 3, Vivoactive Hr, Approach S60) :

  • 5 customizable fields with 25 possible field options
  • abiltity to set up your preferences for 3 activity profiles (run / bike / other), so that you only need to store 1 connect iq field on your watch, yet are able to configure your profiles differently
  • abitlity to record metrics to fit file (defaults to off. When on the following metrics are recorded in the activity summary: fat burned, carbs burned, activity steps)
  • allow to change settings while field active
  • Integration of Data Field: Fat Burner (always interpolation method, no configurable zone values)
  • Integration of Data Field: Eat! Drink! Reminder! (up to 3 configurable alarms)
  • Integration of Data Field: Back To Start
  • Integration of Data Field: Elevation Grade (grade in percent, elevation grade not available on non barometric devices)
  • Integration of Data Field: Let There Be Light! (not enough memory to calculate sunset/sunrise, but instead you can opt to turn on the light before/after a certain reference hour)
  • Integration of Data Field: Steps Carousel (carousel of activity steps / goal completed percentage)

Connect IQ 2 devices with 128k memory (Fenix5x, D2Charlie, Descent Mk1):

  • All features of Connect IQ 2 devices specified above
  • Configurable Fat Burner
  • Extra graph for fat burned / carbs burned over the course of the activity (in addition to the value in the summary) so you can analyse after your activity where you burned most fat
  • Let There Be Light Setting allows to turn the light on between sunset and sunrise

Big Connect IQ 2 devices with 128k memory or more (Edge 820, Oregon 7, Rino 7, Edge 1000, Edge 1030):

  • All features of Connect IQ 2 devices with 128k memory specified above
  • Option to show Background image
  • no worries it's ok to ask questions ;)

    Connect Iq is a bit odd that all there is memory (both lines of code and active processes consume from the same "hump" of 28.7k memory), so even though you don't use the alert processes the code to do the alert is still there and it still consumes memory even though you're not using that piece of the code).

    I've been thinking of creating an application version of this field (in application mode there's more memory available because those apps run in a standalone mode (which also mean that you can not combine it with other connect iq data fields or native functionality)). Would an app version of this project work for you?
  • It could be interesting to test, if not too much work for you. Otherwise, let's stick to this data filed version which is already nice.
  • Hi Peter,

    was going to try your datafield out on a new Edge 130, but got empty page with IQ!. Seems not the issue with the alert found on page one. Tried the workaround to empty Alert 1, but didn't work.
    This is the content of the CIQ Log. Not too much. Any hint appreciated

    cheers

    ERROR: Symbol Not Found Error
    DETAILS: Failed invoking <symbol>
    STORE_ID: 6dec42e97fee402b95a4a111e83d45e3
    CALLSTACK:
    @PC = 0x10003026
    @PC = 0x100007c6

    ERROR: System Error
    DETAILS: Failed invoking <symbol>
    STORE_ID: 6dec42e97fee402b95a4a111e83d45e3
    CALLSTACK:
    @PC = 0x10000494
    @PC = 0x10000021
    @PC = 0x10002c63
    @PC = 0x10000522
    @PC = 0x10001c83
    @PC = 0x100004ea

    ERROR: System Error
    DETAILS: Failed invoking <symbol>
    STORE_ID: 6dec42e97fee402b95a4a111e83d45e3
    CALLSTACK:
    @PC = 0x10000494
    @PC = 0x10000021
    @PC = 0x10002c63
    @PC = 0x10000522
    @PC = 0x10001c83
    @PC = 0x100004ea
  • Yes there are 2 issues on the edge 130 now:
    - after boot of the device during initialization it errors when getting the device settings
    - the beep alert crashes the unit.

    What you're seeing is this 1st issue you can work around issue 1 by reapplying the connect iq field after boot of the device

    i've reported both issues to the connect iq team but it might take a while before it's fixed so i'll likely temporarily remove edge 130 compatibility in the next all in one release until these device issues are fixed.
  • Yes there are 2 issues on the edge 130 now:
    - after boot of the device during initialization it errors when getting the device settings
    - the beep alert crashes the unit.

    What you're seeing is this 1st issue you can work around issue 1 by reapplying the connect iq field after boot of the device

    i've reported both issues to the connect iq team but it might take a while before it's fixed so i'll likely temporarily remove edge 130 compatibility in the next all in one release until these device issues are fixed.


    Hi Peter, thx for the short term update. I tried the work around to just have a look at the first stage, but unfortunately doesn't work. Reboot not reboot. Remove the data page completely, re-apply, switch with another field.
    Not any option to filter the setting specifically on the 130 so the ones causing issues not imported? Maybe block the beep alert as well?

    Waiting for Garmin getting issues fixed is always a mess. :-(
  • hmm, might be that there's a 3rd issue on the Edge 130 then? You edit the data page after pressing ride?

    I've attached a debug version of All In One that should give a more proper error, to install:
    - uninstall the store version
    - connect your device with the usb cable
    - extract the zip file and copy AllInOne.prg to the folder \Garmin\Apps
    - create a empty file AllInOne.txt in the folder \Garmin\Apps\logs
    - unplug the device
    - edit the ride settings and select the All In One field
    - start a ride
    - after the crash connect your device with the usb cable
    - go to the folder \Garmin\Apps\logs
    - there will be a file called ciq_log.txt with a error in there, potentially the file AllInOne.txt might contain extra info

    Not any option to filter the setting specifically on the 130 so the ones causing issues not imported? Maybe block the beep alert as well?

    Waiting for Garmin getting issues fixed is always a mess. :-(

    The settings it crashes on is a rather essential piece as it's the code that detects the device settings for using miles or kilometers etc... and these sections that are broken in the edge 130 device are also in my shared routines, so it would be a bit of a maintenance hell for me if I have to make a separate branch for the edge 130 device...
  • Hi Peter, I have attached the CIQ Log. Contains a bit more Data this time, but missed to check, what it contained before. Your own log doesn't contain anything.
    Hope this helps.
  • yes, this is the device initialization issue I mentioned, it crashes on getting the device settings in my getSys() function which only contains a call to System.getDeviceSettings() which is a native Connect Iq function. (so this is something to be fixed by the Edge 130 device team, I can't fix this one).
  • Already understood - no prob. Just my guess would be, as it depends on Garmin, the solution will not be quick.
  • It probably will take some time indeed, which is the reason why in the next release (likely next weekend) of All In One I'll temporarily remove Edge 130 support as it probably won't be long before a user rates the app 1 star because it crashes on his Edge 130 device.