Missing ANT+ sensor data - watch app activity recording on CIQ 1.4

Hi, 

our Locus Map application records activities. On all CIQ >2.4 models appropriate ANT+ sensors are automatically connected. Activity recording is initiated for example like this: 

App.getApp().activitySession = AR.createSession(           
        {
         :name=>"Run",                              
         :sport=>AR.SPORT_RUNNING,       
         :subSport=>AR.SUB_SPORT_GENERIC 
        }
gpsOn(); // my own function to turn on GPS
activitySession.start();

I recently added Fenix 3 and Forerunners 230/235 with old CIQ 1.4 to compatibility list. All work properly except external sensors are not connected. The app even shows system disclaimer that external HR was connected, but there are no HR data both in the app or in resulted FIT file like on newer devices.

Am I missing something - is it possible to use external ANT+ sensors on these older devices from CIQ watch app? Thanks

  • I tested this with my fr230.  I paired it to a watch broadcasting HR over ANT (a 645m), and recorded with an app that shows HR data all the time.  The 230 and 645m both showed the same HR the whole time and when I uploaded the activity from the 230 to GC, I saw the HR graph just fine.

    In your app, are you calling setEnabledSensors() correctly? On watches with OHR, you'll see data for HR without enabling SENOR_HEARTRATE, but it's the HR you would see in 24/7 mode, and not when the sensor is on in an activity.

    From your code snip, I don't see where you enable any sensors.

  • Hi Jim, I am not using setEnabledSensors() function. On all newer devices (I am testing with Fenix5s now) ActivityRecording module automatically connect to appropriate sensors when activity recording of particular type is started. So I just double checked that if I run code above with BIKE sport type, the app connect to my HR, power and cadence sensors and store their values to FIT files. This behaviour seems logical to me, as I don't know which sensors user have paired with their Garmin device. 

    So I understand, that I don't need to fire up sensor manually. But it seems that this is not working on CIQ 1.4 and that confuse me. So does it mean that on those devices the only way is to register sensors manually (while leaving their callback function empty)? Even more confusing is, that users are reporting that they spot that disclaimer of connected external sensor after activity start, but the app don't get any data.  

    EDIT: Oh, I see, that I don't need to register callbacks at all. So If I call only 

    Sensor.setEnabledSensors([Sensor.SENSOR_HEARTRATE]);

     before activity recording start and update sensor list according activity type, it should fire up sensors even on CIQ 1.4. Correct? I wonder what is the intended usage on CIQ >2.4 then. 

  • Hi Jim, I am not using setEnabledSensors() function. On all newer devices (I am testing with Fenix5s now) ActivityRecording module automatically connect

    That to me is actually a bug, as not all device apps need sensors and needlessly drains the battery.

  • From the programmer's guide:

    1. Enable the sensors to be recorded
    2. Use Fit.createSession(options) to create a session object
    3. Use the start() method of the FIT session to begin recording. Data from the enabled sensors will be recorded into the FIT file.

    You should enable the sensors you plan to use in any app on any device.  In the case of OHR, if you don't it leaves OHR in 24/7 modet.  You can tell by peaking under the watch and you'll see it flash instead of being on solid (what you see when OHR is "fully on".

  • Thanks Jim. Then I think it is more likely undocumented feature to handle this automatically on newer devices.    could you please clarify this? 

  • Again, you still need it on newer devices to really start OHR in activity mode.

  • You are indeed correct. I just verified this. Funny that nobody complained until I ported the app to devices without OHR thanks to "bug" with ANT+ sensors... Thanks again!

  • I consider the auto connect a bug as it needlessly can burn battery.  And this has come up before, specifically with OHR and how it can be a bit inaccurate.  For some (like me) enabling sensors was needed when we first built our apps, and while there's not much in the programmer's guide, it does say "Data from enabled sensors.."