RH-SPORTS Documentation
for Garmin ConnectIQ-Compabile Programs
Internals

Internals

Here you can find some internal (test) features:

How to get the logging info after crash?

There are two general types of on-device crashes that can occur related to Connect, where in both cases logging files are generated:

  • App crashes
  • Device crashes

App crashes typically result in an app quitting unexpectedly or displaying an ‘IQ!’ icon, but does not cause the entire device to crash or reboot. This kind of crash is most commonly due to a bug in an app, though it can also be due to a bug in Connect IQ itself. Whenever an app crash occurs, a CIQ_LOG.YAML file is written or updated to /GARMIN/APPS/LOGS on the device, and contains information related to the crash that app developers may use to address the problem. Here is what a CIQ_LOG generally looks like:

~~~~~~~~~~~~~~~~~

Error: ErrorName Details: Error description. Time: 2018-02-07T19:07:56Z Store-Id: 00000000-0000-0000-0000-000000000000 Store-Version: 0 Device-Id: 006-B0000-00 Device-Version: '0.00' ConnectIQ-Version: 3.0.0 Filename: PRGNAME Appname: DemoAppName Stack:

  • pc: 0x100000ef File: 'C:\Path\To\source\File.mc' Line: 53 Function: function_causing_error
  • pc: 0x10000080 File: 'C:\Path\To\source\File2.mc' Line: 30 Function: otherBrokenItems

~~~~~~~~~~~~~~~~

The ConnectIQ-Version entry is not the Connect IQ version of the device. Rather, this refers to the SDK version used by the developer when exporting the application.

Note
For devices running versions older than Connect IQ 3.0, a simplified error log will be printed as CIQ_LOG.TXT.

Device crashes typically cause the device to reboot or freeze. These indicate a Connect IQ or device firmware bug, and should be much less common than app crashes. When a device crash occurs, an ERR_LOG.txt file is written to /GARMIN on the device, containing stack trace information related to the crash. Please provide this file when reporting a crash on our developer forum. Garmin’s device teams can take a look at the device crash logs to determine the cause of the crash and will typically provide a fix in a future firmware release.

When any log file exceeds 5 kB, it will automatically be archived to <LOGNAME>.BAK, and a new log will be started. Any old .BAK files will be overwritten when the archive occurs, so the max space a log can reach is ~10 kB.

Note
When an app or device crash occurs, please provide us the created logging information for bug analysis purposes!

How to side-load an app or data field?

Please perform following steps to side-load the app or data field to your Garmin device:

  • Connect your Garmin device via USB with your PC/MAC
  • Extract the provided ZIP file
  • Copy the extracted TestApp.prg file to "drive:\GARMIN\APPS"
  • Create empty log file in "drive:\GARMIN\APPS\LOGS\TestApp.txt"
    • if the file "TestApp.txt" already exists, clear its content (but not the file)
  • Clear content of "drive:\GARMIN\APPS\LOGS\CIQ_LOG.txt" (if file existing)
  • Clear content of "drive:\GARMIN\APPS\LOGS\CIQ_LOG.yaml" (if file existing)
  • Unplug the Garmin device from USB

How to test a side-loaded app or data field?

After side-loading an app or data field please perform following steps:

  • Start the test application or data field
  • After the problem occurs, please do following steps:
    • if watch reboots, wait until the reboot finished
    • connect your Garmin device via USB with your PC/MAC
    • attach file "drive:\GARMIN\APPS\LOGS\TestApp.txt" to mail
    • if existing, attach file "drive:\GARMIN\APPS\LOGS\CIQ_LOG.txt" to mail
    • if existing, attach file "drive:\GARMIN\APPS\LOGS\CIQ_LOG.yaml" to mail
    • Unplug the Garmin device from USB
    • send mail to rh-sp.nosp@m.orts.nosp@m.@gmx..nosp@m.at