Suunto app Forum Suunto Community Forum
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    [Question] No stupid questions - ask anything here

    Scheduled Pinned Locked Moved Suunto Plus Development
    70 Posts 24 Posters 3.3k Views 24 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • surfboomerangS Online
      surfboomerang @SuuntoPartnerTeam
      last edited by

      @SuuntoPartnerTeam said in [Question] No stupid questions - ask anything here:

      The uiViewSet might be something worth looking at

      Thanks for the hint! This worked for my case.

      Suunto Vertical Titanium Solar
      OnePlus Nord 4

      1 Reply Last reply Reply Quote 1
      • H Offline
        hitriy @SuuntoPartnerTeam
        last edited by

        Awesome, works fine for me. Worth buying new watches then!

        1 Reply Last reply Reply Quote 0
        • Ecki D.E Offline
          Ecki D. Bronze Member
          last edited by

          Connect watch to macbook - VSCode

          Should this work?

          I have a older (rather old šŸ˜‰ macbook running monterey. I couldn’t connect the watch to deploy my app on it.
          Maybe it failed cause the watch hasn’t been properly disconnected from the phone see my other thread over here:

          https://forum.suunto.com/post/187290

          https://www.strava.com/athletes/37982563
          https://www.instagram.com/macdev

          1 Reply Last reply Reply Quote 0
          • U Online
            Unpaired8373
            last edited by

            Does the watches JS-runtime support WASM by any chance?

            1 Reply Last reply Reply Quote 0
            • Tomas5T Offline
              Tomas5 Gold Members
              last edited by Tomas5

              Hello, can anyone help, I am trying to display Graph for HearthRate.

              I am using this code for displaying graph, it is taken from one of examples just modified input path for current hearth rate:

              <graph style="position:absolute;
                            left:0px; top:0px; width:100%; height:100%;
                            box-sizing: border-box;
                            padding-right:90px; padding-top:60px; padding-bottom:60px;
                            font-size:21px;"
                     valueFormat="HeartRate_Fourdigits"
                     type="line"
                     grid="three lines"
                     inputType="subscribe"
                     input="/Activity/Move/-1/HeartRate/Current"
                     min="0.6666666667"
                     max="3"
                     slack="0.1"
              />
              

              and it works fine in simulator and I see this:

              SnĆ­mka obrazovky 2026-03-20 210235.png

              but when I upload app to watch (Suunto 5 or Race 2), than there is no graph line for Heart Rate:

              1774037407881-img_2476.jpg

              Suunto Ambit 2 > Suunto 5 > Suunto Race 2

              1 Reply Last reply Reply Quote 0
              • ookO Offline
                ook
                last edited by

                guys I need help, anyone know how to use the crown/middle button to scroll to the next ui?

                Tomas5T 1 Reply Last reply Reply Quote 0
                • Tomas5T Offline
                  Tomas5 Gold Members @ook
                  last edited by

                  @ook i would try ā€œonEvent(input, output, eventId)ā€ and display value of eventId on screen and than see if crown produce some events.

                  Suunto Ambit 2 > Suunto 5 > Suunto Race 2

                  ookO 1 Reply Last reply Reply Quote 0
                  • ookO Offline
                    ook @Tomas5
                    last edited by

                    @Tomas5 thanks Tomas I tried your method, it just return 0 to me, but i find out if ur ui is big enough it will able to scroll down,dont have to do anything.

                    1 Reply Last reply Reply Quote 1
                    • Thibault B.T Offline
                      Thibault B.
                      last edited by

                      Hello,

                      What I want to do is quite simple but I do lack experience with JS, and it has been a long time since I developed in HTML.

                      I would appreciate your help :). I want to override down button press to make a lap type 24, but only if activity is ongoing. If it is paused I want the default behavior (stop activity).

                      In my html:

                      <userInput>
                            <pushButton name="down" onClick="$.put('/Zapp/{zapp_index}/Event', 123, null, 'int32');" />
                      </userInput>
                      

                      In my js:

                      function onEvent(input, output, eventId) {
                        if (eventId == 123) {
                          // Down button was pressed
                          $.put('Activity/Trigger', 24);
                        }
                      }
                      

                      I was thinking of conditioning the HTML onClick but do not really know how to access necessary variables, etc. I have tried a few things but I am lost.

                      U 1 Reply Last reply Reply Quote 0
                      • U Online
                        Unpaired8373 @Thibault B.
                        last edited by

                        @Thibault-B. There is an example in the examples collection. Essentially have a global variable that is set in the start-handler and unset in the stop-handler and then handle the condition in you event

                        Thibault B.T 1 Reply Last reply Reply Quote 0
                        • Thibault B.T Offline
                          Thibault B. @Unpaired8373
                          last edited by

                          @Unpaired8373 Not sure to get what you mean.

                          function onEvent(input, output, eventId) {
                            if (eventId == 123 && output.isPaused == 0) {
                              // Down button was pressed
                              $.put('Activity/Trigger', 24);
                            }
                          }
                          

                          It is not triggering the lap but it is not doing anything else and I wanted to default to initial behavior (so I didn’t want an explicit call to stop, which seems anyway not available?).

                          Thibault B.T 1 Reply Last reply Reply Quote 0
                          • Thibault B.T Offline
                            Thibault B. @Thibault B.
                            last edited by

                            I think the issue is that I override the onClick action, so I should keep it empty if in pause. But I do not know how to do it.

                            1 Reply Last reply Reply Quote 0
                            • surfboomerangS Online
                              surfboomerang
                              last edited by

                              I’m working on an app for speedsurfers :

                              f78a673a-e1d4-4991-9c48-b6f793e3c88e-image.png

                              I struggle a little bit with the Alpha category.
                              According to the gps-speedsurfing rules the Alpha category is the speed over 500m, including a gybe (180 degree turn), and the start and endpoint needs to be within 50m of eachother.

                              To determine if there was a gybe, I thought about recording the direction for each second, but I noticed that isn’t available as parameter.
                              So the only other option I see is derive the direction from the coordinates, but that includes some calculations.

                              Any other ideas?

                              Suunto Vertical Titanium Solar
                              OnePlus Nord 4

                              1 Reply Last reply Reply Quote 0
                              • U Online
                                Unpaired8373
                                last edited by

                                Is it expected that even an example app crashes the watch with a Syntax Error ?

                                After having my own app crash - and almost brick the watch or at least having it perform a fault recovery for a couple of minutes - I thought I reduce the app to a bare minimum and work from there but even that crashes the watch. I then copied the Dynamic Icons example but still get the crash log below:

                                #2670816 22.03.2026 18:43:43 : ERR UI_FRAMEWORK : JS:0x8258be29:SyntaxError: 5
                                #2670817 22.03.2026 18:43:43 : ERR APPLICATION : Thread state: name:ui
                                #2670818 22.03.2026 18:43:43 : ERR APPLICATION : CtxDog n:ui s:0 pc:0 lr:0
                                #2670819 22.03.2026 18:43:43 : ERR APPLICATION : CtxDog n:UI s:1 pc:78e9c lr:81ab1
                                #2670820 22.03.2026 18:43:43 : ERR APPLICATION : CtxDog n:ID s:1 pc:9b6d6 lr:84a15
                                #2670821 22.03.2026 18:43:43 : ERR APPLICATION : CtxDog n:BL s:2 pc:6c324 lr:6c15b
                                #2670822 22.03.2026 18:43:43 : ERR APPLICATION : CtxDog n:nV s:2 pc:6c324 lr:6c15b
                                #2670823 22.03.2026 18:43:43 : ERR APPLICATION : CtxDog n:Nt s:2 pc:6c324 lr:6c15b
                                #2670824 22.03.2026 18:43:43 : ERR APPLICATION : CtxDog n:WI s:2 pc:6c324 lr:6c15b
                                #2670825 22.03.2026 18:43:43 : ERR APPLICATION : CtxDog n:lo s:2 pc:84020 lr:84051
                                #2670826 22.03.2026 18:43:43 : ERR APPLICATION : CtxDog n:Po s:2 pc:6c324 lr:6c15b
                                #2670827 22.03.2026 18:43:43 : ERR APPLICATION : CtxDog n:WB s:2 pc:9b6d6 lr:84a5b
                                #2670828 22.03.2026 18:43:43 : ERR APPLICATION : CtxDog n:Ap s:2 pc:9b6d6 lr:84a5b
                                #2670829 22.03.2026 18:43:43 : ERR APPLICATION : CtxDog n:me s:2 pc:9b6d6 lr:84a5b
                                #2670830 22.03.2026 18:43:43 : ERR APPLICATION : CtxDog n:Tm s:2 pc:b6aca lr:84a15
                                #2670831 22.03.2026 18:43:43 : ERR APPLICATION : CtxDog n:Se s:2 pc:6c324 lr:6c15b
                                #2670832 22.03.2026 18:43:43 : ERR APPLICATION : CtxDog n:hc s:2 pc:6c324 lr:6c051
                                #2670833 22.03.2026 18:43:43 : ERR APPLICATION : CtxDog n:DS s:2 pc:6c324 lr:6c051
                                #2670834 22.03.2026 18:43:43 : ERR APPLICATION : CtxDog n:us s:2 pc:6c320 lr:6c051
                                #2670835 22.03.2026 18:43:43 : TRC UI_FRAMEWORK : wuiDump Assert peFunctionCombiner.cpp:302
                                #2670836 22.03.2026 18:43:43 : EVT MAPS : Tile sz=29840, x17435, y11374, z15
                                #2670837 22.03.2026 18:43:43 : TRC MAPS : Req[0] result: Code=OK
                                #2670838 22.03.2026 18:43:43 : TRC MAPS : Req[0] handle: clientID=1, handle=1153598804039951724, r
                                #2670839 22.03.2026 18:43:43 : EVT TRAININGLAB : TLab: Input source 0 timeout
                                #2670840 22.03.2026 18:43:43 : EVT TRAININGLAB : TLab: Active input source 3
                                #2670841 22.03.2026 18:43:45 : EVT EXT_FLASH : ExtFID 0xc2,0x25,0x39
                                #2670842 22.03.2026 18:43:45 : ERR FAULT : A302:duktapeFunctionCombiner.cpp
                                #2670843 22.03.2026 18:43:45 : EVT BOOTLOOP : Faultcom c:fa017c01 ts:1774201322 n:1774201425
                                

                                As a side-note: I really like the naming of the internal code files šŸ™‚

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post

                                Suunto Terms | Privacy Policy