Acknowledged

Bug ActivityRecording.createSession :autoLap

The ActivityRecording.createSession with :autolap works properly in the Simulation but not in real testing.  I tested with the Fenix7x, Fenix6x and Venu2.

Using a saved 400m Track Run session, the :autoLap works in the Simulation. Take the same source to the Track using actual GPS, it does not lap.   

I created the box as required Exit[1, 2] and Entry [3, 4] as an Array of two Location objects.    In the simulation, the listener callback SetTimerEventListener() is returning event 4(lap) as expected but not in real testing.

To verify Exit[1, 2] and Entry [3, 4] box, I visually created polyline of the box in the Map to show the crossing of the Exit[1, 2] and Entry [3, 4].

Related issue: the :autoStart does not work was well. 

Snip from API
function createSession() { var session = ActivityRecording.createSession({ // set up recording session :name=>"Race", // set session name :sport=>Activity.SPORT_GENERIC, // set sport type :subSport=>Activity.SUB_SPORT_GENERIC, // set sub sport type :autoLap=>{ // auto lap configuration :type=>:lines, // auto lap using entry/exit lines :exit=>[loc1, loc2], // set exit of auto lap staging box (typically the finish line) :entry=>[loc3, loc4], // set entrance of auto lap staging box (typically before the finish line) :autoStart=>true // auto start using the entry/exit lines } });


Using connectiq-sdk-mac-4.2.1-2023-02-22-e37ebe5bb

  • The device list shown in the documentation for a function tells whether the functions itself is available to be called, not necessarily whether or not all options are supported with that call.

    The setTimerEventListener documentation is not really relevant to the problem. The TIMER_EVENT_LAP notification occurs for normal cases (like when the user presses the lap button). The problem is all happening at setup time.. in createSession.

    From my view, there are two issues here.

    1. The documentation for createSession needs to do a better job of indicating that not all device have feature support for autoLap functionality. The current documentation does mention that InvalidOptionsException is thrown if "provided options are invalid in :autoLap options dictionary", but I think that could be improved to indicate that those options are not supported at all on some devices.
    2. For devices that should have support, the functionality appears to be broken.
  • Travis Thank you for replying.

    I see the Venu 2 cause a IQ! crash, with an error 'option not supported'.  I have to use excludeAnnotations in the Monkey Jungle.  Note: There is no list of supported devices for the :aurtoLap in the API only a API Level 3.0.10.  However, the required listener setTimerEventListener() does have a supported device list, and the Venu 2 is supported.

    The first statement still occurs. the simulation autoLap works but the target Fenix7x autoLap does not fire a lap event in a real test.   The lap events never occur.

    Brian

  • Just FYI, this feature is not available on all devices, but it should be available with fenix6 and fenix7 and is not available on the venu2 family.