Categories

  • 6k Topics
    53k Posts
    MLM31M
    There aren’t many women in the room! I’m Marie-Lise, a French-speaking Canadian woman from Quebec City, almost 50 years old, trying to stay in shape and maintain a bit of performance in a busy family and professional life. I’m a multisport enthusiast: snow pentathlon, ski touring, hiking, running, cycling, etc. Username: MLM
  • 7k Topics
    92k Posts
    2
    And again… Yesterday: [image: 1780838327522-fa8eed77-8833-45d8-9dc2-beca0563c166-img_6864.jpeg] Today: [image: 1780838297911-90adf7e4-0439-4ee3-9ff1-fb999c01aae1-img_6865.jpeg]
  • 356 Topics
    2k Posts
    T
    Hi all, Something seems to have changed recently (possibly after a firmware update) in how my pool swims are recorded. Drills are no longer logged as intervals with their own time, pace and stats — they’re just registered as individual 50 m pool lengths plus a total distance.I’d appreciate guidance on the correct button workflow for a typical structured session. Example training plan: 1,000 m warm-up 2 × 200 m medley (15 s rest) 2 × (200 m freestyle / 30 s rest / 100 m breathing drill) 4 × 100 m all-out freestyle (15 s rest) 3 × 100 m backstroke 3 × 100 m warm-down For a session like this, what’s the recommended workflow? Which button should I press at the end of each interval to log it correctly? How should the rest time between intervals be handled — and which button(s) for that? Should I be using the Lap function, Pause/Resume, or the built-in Interval training feature? For context: I used to manage this with just Start and Pause (no lap presses), and it worked well — rest times were excluded and each drill appeared as its own segment. My Garmin handles this seamlessly, so I assume the Ocean can too — I just can’t find the right workflow.Any advice from those who’ve nailed structured pool sessions on the Ocean would be much appreciated. Thanks!
  • 297 Topics
    4k Posts
    M
    The reference manual states “never subscribe in onLoad, since there is no onUnload” and “subscriptions are unsubscribed automatically after view is deactivated”. It also documents onDeactivate and the $.unsubscribe() token pattern. What the manual does not explain is: which events trigger deactivation (lap and auto-lap overlays do), that the Zapp output channel is also severed, what the silent failure looks like in practice, or how to diagnose it. The findings below describe the practical implications of the documented rule. Struggling with understanding this I did some systematic testing. The findings are below Lifecycle overview Event When it fires Fires how many times onLoad When the uiView is first shown Once per exercise session onActivate Each time the view becomes the active screen Repeatedly — on first show, and again after any overlay or screen switch Overlays that trigger a new onActivate: manual lap, auto-lap, and likely other system overlays. What survives across multiple onActivate calls Thing Survives? Variables declared in onLoad Yes — persist for the full session $.subscribe() set up in onLoad No — severed by firmware on second onActivate $.subscribe() set up in onActivate Effectively yes — old one severed, new one created each time Zapp output channel (output.X → /Zapp/{zapp_index}/Output/X) No — also severed on second onActivate evaluate() in main.js Yes — unaffected, keeps running throughout The key insight: the firmware severs all $.subscribe() calls regardless of where they were set up, but since onActivate runs again, subscriptions placed there are automatically re-created. Recommended pattern Place data variables in onLoad (they persist) and subscriptions in onActivate (they are re-created on each activation). onActivate = " // Subscriptions here — re-created on every activation $.subscribe('/Dev/Time/Tick10hz', function() { // render / refresh canvases }) $.subscribe('/Activity/Move/-1/HeartRate/Current', function(v) { // access variables declared in onLoad — they persist if (isFinite(v) && v > 0) { hrRecord[hrTickCount] = Math.floor(v * 60); hrTickCount++; } }) " onLoad=" // Data variables here — survive the full session var hrRecord = new Uint8Array(3800); var hrTickCount = 0; // ... " Do not subscribe to Zapp outputs (/Zapp/{zapp_index}/Output/Name) for data that must survive lap overlays — the output channel is severed along with the subscription. How this was verified systemEvent() was used to log lifecycle events with sequential counters: // In onLoad: loadCount++; systemEvent('onLoad #' + loadCount); // should always be #1 // In onActivate: activateCount++; systemEvent('onActivate #' + activateCount); // increments on each overlay // In subscription callback: systemEvent('hrTick=' + hrTickCount); // stops if subscription was severed After a lap overlay the log showed onActivate #2 followed by no further hrTick entries — confirming the subscription was severed. Moving the subscription to onActivate resolved it: hrTick entries continued uninterrupted through all subsequent laps. Hopes this helps provide some additional information around this topic.
  • 121 Topics
    1k Posts
    Michał KalinaM
    @jonnyhegan I’m having the same issue. Were you able to resolve the issue?
  • Anything not related & off topic

    1k Topics
    30k Posts
    No new posts.
  • Sports Tracker apps feedback, questions, feature suggestions and issues

    31 Topics
    133 Posts
    S
    [image: 1774862540045-78712e04-50fb-484e-84b6-86e28ce395f0-immagine.png] [image: 1774862707642-dfae38c3-a3d4-4ef2-8037-9fac97d5c393-immagine.png]
  • 101 Topics
    478 Posts
    Dimitrios KanellopoulosD
    @DonTomGot its deleted. Also deleting this one
  • Anything related to the recent announcement about Suunto’s new Digital services and Movescount Transition

    340 Topics
    5k Posts
    E
    @Christoph-Van-Laethem In here the bubble appears : https://www.suunto.com/fr-fr/Assistance/ I realized that the bubble doesn’t come on when using my main browser (Firefox), probably due to the ad blockers I added, so i use Edge only for Suunto support

Suunto Terms | Privacy Policy