A list of watches that support 25 hertz accelero + gyro data

I'm looking for a list of watches that support 25 hertz (or more) of gyro and accelero data.

I was looking here: https://developer.garmin.com/connect-iq/api-docs/Toybox/Sensor/GyroscopeData.html , supported devices.

Unfortunately this list turns out to be largely incorrect, as I have multiple watches here, such as the Fenix 5X PRO that are on that list but when testing there is no gyrodata available. 

As an alternative I tried to test it through the simulator, but also that route is hopeless as the simulator is not representing the behavior of devices. For example I have a device here, the Fenix 6XPRO, on the real device I'm receiving 25 hertz Gyro data. In the simulator I'm not receiving gyrodata: 

As you can see the gyroscopeData array is Null in the simulator for the Fenix 6X PRO. But on a real 6x PRO device it works, and I receive Gyro data.

Long story short: the documentation seems incorrect, the simulator is not representative for real devices. There is no way to know if our app (That requires gyro + acc data) will work on a device, except by buying 90+ watches and test it on all of them. How is it possible to built reliable apps if the basics are not right? Or am I missing something?

  • I saw the same problem with the inconsistency of gyro in the simulator with fenix6.

  • Can you see this data with any device in the sim? Try some of the latest, like the fr965 and Fenix7 Pro devices.  It could be this data isn't available in the sim, or you need to play pack a fit file where this data is available.

    Also note, that in the sim you see the minimum fw for the device, which may or may not be the latest fw version for a device. Right now, my watch is running CIQ 5.0.0 for example, and in the sim, it's still 4.2.x.  I am running beta FW for System 7.

    As one of the Garmin folks has said, "It's a simulator and not an emulator", meaning it doesn't emulate everything on a real device.  I can think of a number of case where that's true.  There are some things you only can test on a real device.  SensorHistory in the sim is all canned data for example.

    Maps in the sim are quite different than on a real device.  To the point that when testing maps, I don't even bother using the sim.

  • 1. Yes, for example fr965 in the simulator has gyro data. No need for fit file.

    2. Jim you wrote a few days ago that the partNumber that the simulator uses is always the ww, so it's the latest IMHO.

    3. it works for some devices, so clearly the problem is not that the simulator can't do it, but rather that the configuration of some devices is buggy.

  • Thanks for the input! Yeah, indeed it works on lots of devices. Especially the latest ones, they even give me 100 hertz in the simulator (fenix 7 eg). I have 6.4.2 as my current SDK in the sdk manager. 

    There is more issues with the activity data simulation / fit replay, it will always generate 100 hertz data now, also on watches that only support 25 hertz. 

    So I guess my question remains, how to find out which watches support gyroscopeData and accelerometerData at 25 (or 100) hertz. The documentation seems incorrect and the simulator doesnt help either to draw conclusions. So where can I find this? I have to decide which watches to add to the supported products in my manifest.

    I searched "gyroscopeData" in all SDK installation folder / devices, and I found 76 devices that have this API enabled. Some of them indeed provide gyro data in the simulator, some don't (such as fenix 6).

    But I dont even care to much about the simulator, I just want to know which devices are going to be compatible with my app. Do you that the api.xml that comes with a device accurately represents the devices? Will these 76 devices indeed have gyroscopeData?

  • Ok, got that! Yeah it's unfortunate that there is no emulator, especially since it's not possible to debug a real device.. Challenges of Monkey C/ Garmin I guess. Still have to get used to those limitations, coming from WatchOS and WearOS development.. Feels like going back to the stone age when it comes to developer tools.. Oh and also, the FIT replay is completely broken anyway in latest simulators, at least with some 100 hertz files I tried

  • File a bug report to get the doc corrected.  They only other option may be to find a bunch of people with different watches to test for you.  For now, you may just want to limit the targets for your app to those you can test.

  • The FW version is the minimum and not always the current, even for the ww part numbers.  Especially with older devices or really new devices, where updates can happen quickly on the newest devices.  And then there's the whole beta FW thing.

    The sim shows an older FW and CIQ level for a number of devices when you install the beta FW.

  • Go here: https://forums.garmin.com/developer/connect-iq/i/bug-reports , search for "documentation" and pick your bug you want to vote on.

  • Jim you wrote a few days ago that the partNumber that the simulator uses is always the ww, so it's the latest IMHO

    As discussed previously, the firmware / CIQ version in the SDK device file is the minimum firmware version required for your app to install on that device (*), which isn’t necessarily the latest production (non-beta) firmware available for that device. Looking at it another way, it’s the maximum firmware / CIQ version that you can count on being installed on a given device (at the time your app version is exported and submitted.)

    To add to jim_m_58’s example, the current production firmware for fr955 is 18.12, with CIQ 5.0.0. However, the corresponding device file still has “4.2.4” for the WW part number’s connectIQVersion, and 1720 for the firmwareVersion.

    (*) This can be seen in an exported app’s manifest.xml, where firmwareVersion from each device file is reproduced as minFirmwareVersion for the corresponding iq:product entry.

    Personally, I wouldn’t want the CIQ min firmware / CIQ version to follow the device release schedule *too* closely, because you want users to have time to upgrade their devices. (Anyone who doesn’t have at least the min firmware / CIQ listed in the current SDK device file won’t be able to install an app version you released which was built against that device file.)

  • Sometimes (not always) you could use an older SDK version to compile your app => make it run on devices that haven't update yet. This can work for apps that don't use the latest features.