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

    Ambit Apps Compilation

    Scheduled Pinned Locked Moved Digital service transition
    48 Posts 17 Posters 16.5k Views 19 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.
    • sebchastangS Online
      sebchastang Silver Members @divy2
      last edited by

      @divy2 Good! Remember you have to set unique “ruleid” for each app.

      I also noticed some issues when I update my apps, I need to select them, save sport mode and then re-enter into the sport mode and re-select them again.

      Even if it is not very comfortable, it is cool to still be able to use suunto apps 👍

      Suunto Vertical Titanium Solar
      Suunto Traverse

      D 1 Reply Last reply Reply Quote 0
      • D Offline
        divy2 @sebchastang
        last edited by

        Yes, @sebchastang, I changed the “ruleId”:11000001" into …00002, .00003 and so on.

        In about two hours I’ll be out to try it. And you’re right, it’s great that this way we can still program apps. Thank you so much for the people who worked this out!

        But it’s dificult to forget what Suunto did with this realy great Ambits which are still so raliables!

        1 Reply Last reply Reply Quote 1
        • H halajos referenced this topic on
        • Dubosson AurélienD Offline
          Dubosson Aurélien
          last edited by

          Hello everyone,
          I’m trying to create a new app to monitor my zone 2 (core endurance.

          The code I’m trying to compile is the following:

          if(SUUNTO_HR_AVG[5]<(70/100*(184–70)+70) || SUUNTO_HR_AVG[5]>(75/100*(184–70)+70))
          {
          Suunto.alarmBeep();
          }

          but I encounter everytime an issue:
          “[ErrorCode, COMPILATION_FAILED]\r\n[ErrorLine, 1]\r\n[ErrorColumn, 33]”

          Is anyone have an idea what is causing this error ?

          Thanks in advance.
          Kind regards.

          Narglix

          Raimo JärviR sebchastangS 2 Replies Last reply Reply Quote 0
          • Raimo JärviR Offline
            Raimo Järvi @Dubosson Aurélien
            last edited by

            @Dubosson-Aurélien I didn’t try compiling your code, but if I paste it to VS Code, it shows this.5d9a5535-fe66-4cd3-b4f8-2466e0fc61ce-image.png

            Pragmatic Programmer

            M 1 Reply Last reply Reply Quote 1
            • M Offline
              mabe2k Bronze Member @Raimo Järvi
              last edited by

              @Raimo-Järvi the message says, that the „-„ character is the wrong one. Maybe it helps, if you remove them and type them again.

              1 Reply Last reply Reply Quote 0
              • sebchastangS Online
                sebchastang Silver Members @Dubosson Aurélien
                last edited by

                @Dubosson-Aurélien
                As @Raimo-Järvi and @mabe2k noticed, you should remove the “-” character and replace 184-70 by 114 directly.

                To make code maintenance more easy, you could declare a variable to set your resting HR and use it in your condition:

                REST_HR=70;
                if(SUUNTO_HR_AVG[5]<(70/100*(184-REST_HR)+70) || SUUNTO_HR_AVG[5]>(75/100*(184-REST_HR)+70))
                {
                Suunto.alarmBeep();
                }
                RESULT=SUUNTO_HR_AVG[5];
                

                Suunto Vertical Titanium Solar
                Suunto Traverse

                1 Reply Last reply Reply Quote 1
                • H halajos referenced this topic on
                • Marin LeroyM Offline
                  Marin Leroy
                  last edited by

                  Hi i am trying to code an interval training in time, i am able to activate the light but not the beep, do you guys have an idea ?

                  /*header*/
                  /*entrainement intervalle*/
                  counter=0;
                  warmup_time=1500;
                  speed_up_1=900;
                  speed_up_2=600;
                  speed_up_3=600;
                  recovery_time=100;
                  factor=300;
                  wsu=0;
                  /*end header*/
                  
                  /*decompte en bip*/
                  
                  if(SUUNTO_DURATION==1497){Suunto.alarmBeep();}
                  if(SUUNTO_DURATION==1498){Suunto.alarmBeep();}
                  if(SUUNTO_DURATION==1499){Suunto.alarmBeep();}
                  if(SUUNTO_DURATION==warmup_time){
                  Suunto.alarmBeep();
                  Suunto.light();
                  wsu=warmup_time+speed_up_1;
                  counter=counter+1;
                  }
                  
                  
                  /*decompte changement allure*/
                  if(SUUNTO_DURATION==wsu-3){Suunto.alarmBeep();}
                  if(SUUNTO_DURATION==wsu-2){Suunto.alarmBeep();}
                  if(SUUNTO_DURATION==wsu-1){Suunto.alarmBeep();}
                  
                  
                  /*temps de repos*/
                  if((SUUNTO_DURATION==wsu) && (counter==1 || counter==3) ){
                  Suunto.alarmBeep();
                  Suunto.light();
                  wsu=wsu+recovery_time;
                  counter=counter+1;
                  }
                  
                  /*2eme accel*/
                  if((SUUNTO_DURATION==wsu) && (counter==2)){
                  Suunto.alarmBeep();
                  Suunto.light();
                  wsu=wsu+speed_up_2;
                  counter=counter+1;
                  }
                  
                  
                  /*3eme accel*/
                  if((SUUNTO_DURATION==wsu) && (counter==4)){
                  Suunto.alarmBeep();
                  Suunto.light();
                  wsu=wsu+speed_up_3;
                  counter=counter+1;
                  }
                  
                  
                  
                  postfix="min/km";
                  RESULT=SUUNTO_PACE;
                  
                  1 Reply Last reply Reply Quote 0
                  • Elwyn KumarE Offline
                    Elwyn Kumar
                    last edited by

                    Hi, I am looking for a way to load data into a route then get a suuntoapp to access it, in order to be able to read books on my watch. does anyone know if this is possible?also, if so, then it may be possible to load more complex data.

                    André FariaA 1 Reply Last reply Reply Quote 0
                    • André FariaA Online
                      André Faria @Elwyn Kumar
                      last edited by André Faria

                      @Elwyn-Kumar said:

                      Hi, I am looking for a way to load data into a route then get a suuntoapp to access it, in order to be able to read books on my watch. does anyone know if this is possible?also, if so, then it may be possible to load more complex data.

                      I believe that should be trully impossible. a book would be too big for ambit memory.
                      If I understand correctly here are some examples and their size compared to ambit memory
                      https://github.com/hefler/SuuntoApps

                      I profit to ask the community: in movescount era, we had workouts, if I recall correctly, they could be choosen from the device , on activity, next for some seconds. How different were these compared an interval app let’s say?
                      Edit: https://runningsolidaire.net/post/114791440029/suunto-ambit-workout-planner-movescount-app

                      edit: I am working with claude to try to bring back these features for the ambit, here is a “report” of what “is missing” to possibly get it…if someone can help, I am hears…

                      2nd ask (AI written)
                      @pavel.samokha — thanks for building this compiler, it still works great and a lot of us depend on it.
                      My one worry: it’s a single server. If it ever goes offline, we lose the ability to create new workouts (installing existing ones would still work). To de-risk that, I started reverse-engineering the compiled format from its output —
                      and I can already emit some workout binaries offline, byte-for-byte identical to yours.

                      But that’s effort duplicated, and it’d fragment things. So, one concrete question:

                      Would you be willing to share the compiler’s source, or a self-hostable build?

                      That alone would make it community-maintainable and future-proof — I’m glad to help host and maintain it. If not shareable, even a short note on how it emits the bytecode would let us finish a clean-room version.

                      (And if anyone from Suunto sees this: documenting the compiled-app format the Ambit accepts would achieve the same thing.)

                      If against the rules, tell me and I will delete it.

                      Suunto Race S | Ambit 3 Peak Sapphire | Kailash | Hammerhead Karoo 3
                      Garmin Edge 1040 Solar

                      pavel.samokhaP 1 Reply Last reply Reply Quote 0
                      • pavel.samokhaP Offline
                        pavel.samokha @André Faria
                        last edited by

                        @André-Faria Hey, you’re doing a nice effort, but it’s unlikely me or anyone else from current Suunto employees would help with that.

                        I understand that it’s fun for you, but for wider audience of Suunto users I have more important issues to solve than providing you materials. It’s also questionable if I can provide them at all without legal checks.

                        Opinions expressed are solely my own and do not express the views or opinions of my employer

                        André FariaA 1 Reply Last reply Reply Quote 0
                        • André FariaA Online
                          André Faria @pavel.samokha
                          last edited by

                          @pavel.samokha said:

                          @André-Faria Hey, you’re doing a nice effort, but it’s unlikely me or anyone else from current Suunto employees would help with that.

                          I understand that it’s fun for you, but for wider audience of Suunto users I have more important issues to solve than providing you materials. It’s also questionable if I can provide them at all without legal checks.

                          For sure, and I totally understand that. If I didn’t ask I would never know.
                          And thanks for taking the time to answer me, it is already nice from you!

                          Suunto Race S | Ambit 3 Peak Sapphire | Kailash | Hammerhead Karoo 3
                          Garmin Edge 1040 Solar

                          1 Reply Last reply Reply Quote 1

                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                          With your input, this post could be even better 💗

                          Register Login
                          • First post
                            Last post

                          Suunto Terms | Privacy Policy