Possible venu/Fenix7X firmware issue

I've spent weeks trying to track down an issue with interval data on all my apps from the optical source. My code has worked for over a year then suddenly broke after a firmware update. There seems to be some strange behaviour on real devices which is not mirrored in the simulator which always seems to work.

1. Toybox.Sensor.setEnabledSensors doesn't return result I expect (>=CIQ 3.2.0)

_ans = Toybox.Sensor.setEnabledSensors( [Sensor.SENSOR_HEARTRATE, Sensor.SENSOR_ONBOARD_HEARTRATE]);
returns [] in the simulator and [4] ie SENSOR_HEARTRATE on the watch and not [8] as expected ie OHR.
2. getRegisteredSensors returns not an iterator but an object containing an index and type. If you try to access them the simulator crashes.
3. enableSensorType with (Sensor.SENSOR_ONBOARD_HEARTRATE) and (Sensor.SENSOR_HEARTRATE) always seem to return false. I would expect a true if the watch has either them already enabled or available to be enabled eg ONBOARD should always be true and a strap true if enabled in accessories. 
4. Using enableSensorType(Sensor.SENSOR_ONBOARD_HEARTRATE) kills II data from the OHR sensor.
If I remove the enableSensorType for Sensor.SENSOR_ONBOARD_HEARTRATE and just set a listener then I get Intervals for the OHR source (after a longish delay of 10 seconds). The ANT strap works in either case.
It appears it's not only my HRV apps that have this issue according to some  of my users.
  • Additional info. Intervals are badly broken. If you don't explicitly don't enable the sensors and rely on them being enabled in accessories then II intervals are only sporadic. you get a burst every 3-4 seconds of 1-2 samples then another stutter. eg

    II:[627]
    II:[708]
    II:[720]
    II:[711, 730]
    II:[720]
    II:[]
    II:[]
    II:[]
    II:[]
    II:[]
    II:[]
    II:[]
    II:[]
    II:[681, 769]
    II:[708]
    II:[693, 742]
    II:[]
    II:[694]
    II:[]
    II:[]
    II:[]

    This needs fixing.

  • Still broken on 13.13b for fenix7x

  • I've tried to obtain values from the getRegisteredSensors but in sim and f7 it always returned null.

    As SensorInfo has ble/ant id so I thought null is good because I don't have any external device.

    Question is what kind of devices does getRegisteredSensors return?