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

    Ambit Apps Compilation

    Scheduled Pinned Locked Moved Digital service transition
    43 Posts 14 Posters 5.9k Views 17 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.
    • D Offline
      divy2 @zt_zzzzz
      last edited by

      @@pavel.samokha
      Hi! This looks great, but I don’t understand a lot of this. I allways created my apps with the intervall designer: http://www.ambitintervals.com/#!/ and movescount web was the way to get it into the Ambit.

      I was wondering how to get this apps now into the list of apps in suuntolink and someone told me that I should have a look at this posts. Well, the app generator produces the app I paste under this lines. But the result is this:
      2578a946-fea4-431d-bb56-780aa5431ae3-imagen.png

      This is the app pasted in the compiler. Is there any way to get it worked?
      /* Target App */

      /* Interval 1 */

      /* Initialize variables */

      if (SUUNTO_DURATION == 0) {

      ACTUAL = 0;

      TO = 0;

      FROM = 0;

      FORMATPACE = 0;

      TARGET = 0;

      TARGETSEC = 0;

      TARGETMIN = 0;

      RESULT = 0;

      }

      /* Lap 1 is step type WarmUp with target type None */

      if (SUUNTO_LAP_NUMBER == 1) {

      ACTUAL = SUUNTO_PACE * 60;

      FROM = ACTUAL;

      TO = ACTUAL;

      FORMATPACE = 1;

      postfix = “/km”;

      }

      /* Lap 2, 3, 4 is step type Interval with target type Pace */

      if (SUUNTO_LAP_NUMBER == 2 || SUUNTO_LAP_NUMBER == 3 || SUUNTO_LAP_NUMBER == 4) {

      ACTUAL = SUUNTO_PACE * 60;

      FROM = 320;

      TO = 310;

      FORMATPACE = 1;

      postfix = “/km”;

      }

      /* Lap 5 is step type Recovery with target type None */

      if (SUUNTO_LAP_NUMBER == 5) {

      ACTUAL = SUUNTO_PACE * 60;

      FROM = ACTUAL;

      TO = ACTUAL;

      FORMATPACE = 1;

      postfix = “/km”;

      }

      /* Lap 6, 8, 10, 12 is step type Interval with target type Pace */

      if (SUUNTO_LAP_NUMBER == 6 || SUUNTO_LAP_NUMBER == 8 || SUUNTO_LAP_NUMBER == 10 || SUUNTO_LAP_NUMBER == 12) {

      ACTUAL = SUUNTO_PACE * 60;

      FROM = 295;

      TO = 305;

      FORMATPACE = 1;

      postfix = “/km”;

      }

      /* Lap 7, 9, 11, 13 is step type Recovery with target type None */

      if (SUUNTO_LAP_NUMBER == 7 || SUUNTO_LAP_NUMBER == 9 || SUUNTO_LAP_NUMBER == 11 || SUUNTO_LAP_NUMBER == 13) {

      ACTUAL = SUUNTO_PACE * 60;

      FROM = ACTUAL;

      TO = ACTUAL;

      FORMATPACE = 1;

      postfix = “/km”;

      }

      /* Lap 14 is step type CoolDown with target type None */

      if (SUUNTO_LAP_NUMBER == 14) {

      ACTUAL = SUUNTO_PACE * 60;

      FROM = ACTUAL;

      TO = ACTUAL;

      FORMATPACE = 1;

      postfix = “/km”;

      }

      /* Set target value */

      if (ACTUAL > TO) {

      TARGET = TO;

      } else if (ACTUAL < FROM) {

      TARGET = FROM;

      } else {

      TARGET = ACTUAL;

      }

      /* Check if result should be formatted as pace and lables reversed */

      if (FORMATPACE == 1) {

      if (ACTUAL > TO) {

      prefix ="up";
      

      } else if (ACTUAL < FROM) {

      prefix = "dwn";
      

      } else {

      prefix = "ok";
      

      }

      TARGETSEC = Suunto.mod(TARGET, 60);

      TARGETMIN = (TARGET - TARGETSEC) / 60;

      RESULT = TARGETMIN + TARGETSEC/100;

      } else {

      if (ACTUAL > TO) {

      prefix ="dwn";
      

      } else if (ACTUAL < FROM) {

      prefix = "up";
      

      } else {

      prefix = "ok";
      

      }

      RESULT = TARGET;

      }

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

        The same result happens with the app that started this threat. No display in Suuntolink.

        I only paste the result of the Ambit App Compiler into index.json opened in the note pad in windows. What I’m doing wrong?

        D sebchastangS 2 Replies Last reply Reply Quote 0
        • D Offline
          divy2 @divy2
          last edited by

          Well, not exactly, but when I paste the result of the compiler to index.json, suuntolink shows “Select Suunto App (0)”, where before it showed “Select Suunto App (13104)”.

          1 Reply Last reply Reply Quote 0
          • sebchastangS Offline
            sebchastang Silver Members @divy2
            last edited by

            @divy2 Hi,
            Maybe your index.json is not valid because you just pasted the result of the compiler without surrounding it by [ and ]

            Result should be like this in your .json file :
            [{“ruleId”:11000001,“name”:“Ambit App”,“categoryId”:0,“activityId”:1,“userCount”:1,“binary”:[73,65,77,82,85,76,69,0,8,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,142,0,0,0,44,0,52,0,62,0,72,0,82,0,90,0,108,0,128,0,0,0,114,117,108,101,48,0,255,191,82,69,83,85,76,84,0,0,255,63,112,111,115,116,102,105,120,0,255,63,112,114,101,102,105,120,0,0,255,63,116,105,116,108,101,0,11,0,83,85,85,78,84,79,95,68,85,82,65,84,73,79,78,0,25,0,83,85,85,78,84,79,95,76,65,80,95,78,85,77,66,69,82,0,2,0,83,85,85,78,84,79,95,80,65,67,69,0,4,0,3,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,1,0,0,0,0,0,2,0,0,0,32,0,4,0,0,0,0,0,6,0,0,0,32,0,4,0,0,0,0,0,10,0,0,0,32,0,1,0,0,0,0,0,14,0,0,0,4,0,1,0,0,0,0,0,16,0,0,0,4,0,1,0,0,0,0,0,20,0,0,0,4,0,1,0,0,0,0,0,24,0,0,0,4,0,0,0,0,0,0,0,28,0,0,0,160,0,1,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,32,0,0,0,4,0,0,0,0,0,0,0,36,0,0,0,4,0,0,0,0,0,0,0,40,0,0,0,4,0,0,0,0,0,0,0,44,0,0,0,4,0,0,0,0,0,0,0,48,0,0,0,4,0,0,0,0,0,0,0,52,0,0,0,4,0,0,0,0,0,0,0,56,0,0,0,160,0,4,0,0,0,0,0,2,0,0,0,160,0,3,0,0,0,0,0,6,0,0,0,160,0,4,0,0,0,0,0,10,0,0,0,160,0,3,0,0,0,0,0,14,0,0,0,60,0,18,0,0,0,47,107,109,0,117,112,0,0,100,119,110,0,111,107,0,0,60,3,28,8,0,22,80,0,25,16,9,24,89,2,0,25,16,9,24,89,3,0,25,16,9,24,89,4,0,144,0,0,0,0,21,10,0,144,0,0,0,0,21,11,0,144,0,0,0,0,21,12,0,144,0,0,0,0,21,13,0,144,0,0,0,0,21,14,0,144,0,0,0,0,21,15,0,144,0,0,0,0,21,16,0,16,1,21,8,0,28,5,0,28,6,0,12,28,7,0,12,22,6,0,13,213,2,18,209,2,20,5,0,144,0,0,0,0,9,22,67,0,144,0,0,0,0,21,10,0,144,0,0,0,0,21,11,0,144,0,0,0,0,21,12,0,144,0,0,0,0,21,13,0,144,0,0,0,0,21,14,0,144,0,0,0,0,21,15,0,144,0,0,0,0,21,16,0,144,0,0,0,0,21,1,0,20,6,0,144,0,0,128,63,9,22,48,0,20,7,0,144,134,143,136,60,3,144,0,0,112,66,3,21,10,0,20,10,0,21,12,0,20,10,0,21,11,0,144,0,0,128,63,21,13,0,25,16,17,24,89,2,0,20,6,0,144,0,0,0,64,9,20,6,0,144,0,0,64,64,9,12,20,6,0,144,0,0,128,64,9,12,22,52,0,20,7,0,144,134,143,136,60,3,144,0,0,112,66,3,21,10,0,144,0,0,160,67,21,12,0,144,0,0,155,67,21,11,0,144,0,0,128,63,21,13,0,25,16,17,24,89,2,0,20,6,0,144,0,0,160,64,9,22,48,0,20,7,0,144,134,143,136,60,3,144,0,0,112,66,3,21,10,0,20,10,0,21,12,0,20,10,0,21,11,0,144,0,0,128,63,21,13,0,25,16,17,24,89,2,0,20,6,0,144,0,0,192,64,9,20,6,0,144,0,0,0,65,9,12,20,6,0,144,0,0,32,65,9,12,20,6,0,144,0,0,64,65,9,12,22,52,0,20,7,0,144,134,143,136,60,3,144,0,0,112,66,3,21,10,0,144,0,128,147,67,21,12,0,144,0,128,152,67,21,11,0,144,0,0,128,63,21,13,0,25,16,17,24,89,2,0,20,6,0,144,0,0,224,64,9,20,6,0,144,0,0,16,65,9,12,20,6,0,144,0,0,48,65,9,12,20,6,0,144,0,0,80,65,9,12,22,48,0,20,7,0,144,134,143,136,60,3,144,0,0,112,66,3,21,10,0,20,10,0,21,12,0,20,10,0,21,11,0,144,0,0,128,63,21,13,0,25,16,17,24,89,2,0,20,6,0,144,0,0,96,65,9,22,48,0,20,7,0,144,134,143,136,60,3,144,0,0,112,66,3,21,10,0,20,10,0,21,12,0,20,10,0,21,11,0,144,0,0,128,63,21,13,0,25,16,17,24,89,2,0,20,10,0,20,11,0,7,22,12,0,20,11,0,21,14,0,13,28,0,20,10,0,20,12,0,5,22,12,0,20,12,0,21,14,0,13,9,0,20,10,0,21,14,0,20,13,0,144,0,0,128,63,9,22,103,0,20,10,0,20,11,0,7,22,13,0,25,16,18,24,89,3,0,13,30,0,20,10,0,20,12,0,5,22,13,0,25,16,19,24,89,3,0,13,10,0,25,16,20,24,89,3,0,20,14,0,144,0,0,112,66,33,16,0,1,0,2,0,21,15,0,20,14,0,20,15,0,2,144,137,136,136,60,3,21,16,0,20,16,0,20,15,0,144,10,215,35,60,3,1,21,1,0,13,56,0,20,10,0,20,11,0,7,22,13,0,25,16,19,24,89,3,0,13,30,0,20,10,0,20,12,0,5,22,13,0,25,16,18,24,89,3,0,13,10,0,25,16,20,24,89,3,0,20,14,0,21,1,0,13,4,0,19,31],“compatibleVariants”:[“Bluebird”,“Colibri”,“Duck”,“Emu”,“Finch”,“Greentit”,“Ibisbill”,“Jabiru”,“Kaka”,“Loon”]}]

            I hope it helps, let us know.

            Suunto Vertical
            Suunto Traverse

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

              Hey, @sebchastang, it worked! You’re right, the problem has been the [ and ]. Now I’ve the app in the watch. Tomorrow I’ll see how it works. I’ve been looking for a Garmin already, but maybe it won’t be necesary.

              Thanks a lot! 😉

              sebchastangS 1 Reply Last reply Reply Quote 1
              • sebchastangS Offline
                sebchastang Silver Members @divy2
                last edited by

                @divy2 great! 👍

                Suunto Vertical
                Suunto Traverse

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

                  Hi!
                  It worked @sebchastang, I just had a few issues with the way I programmed the app with the interval generator. My mistake! 😉

                  Anyway, it works, but that’s not entirely comfortable. I think I’ll go for a new (used) watch, probably Garmin, even if they’re pretty ugly compared to Suunto. I think would be pretty stupid to choose another Suunto after the treatment we Ambit users have received and also because Suunto could repeat what they did with the Ambits with other watches after a while, which are working fine now. That’s pretty sad, but it’s like or as we say in Spanish, it’s like lentils. Eat them or leave them. Suunto’s sales department doesn’t even have an email address to talk to about it. Maybe I could still be persuaded. Well…

                  Thank you for your help here!

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

                    Well, it works but still have a problem, @sebchastang.

                    Now I changed the intervals and gave them another name, Jens1 and Jens2. But I can’t click on them in suuntolink, nothing happens.

                    There are two trainings in the index.json-file, Jens1 and Jens2, which begins like this:

                    [{“ruleId”:11000001,“name”: “Jens1”,“categoryId”:0,“activityId”:1,“userCount”:1,“binary”:[73,65,77,82,85,76

                    But as you see in the screenshot suuntolink shows them, but I can’t choose them, theire are still the old ones to choose: Ambit App, Ambit App2 and again Ambit App. These 3 apps even still apear when I change the name of the index.json-file, so there should me nothing. But only in Suunto Apps I see Select Suunto App (0), but the three old apps are still down there. What I’m doing wrong?

                    2ba8a852-a874-4321-a411-26c69a5622ac-imagen.png

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

                      Sorry, another update: I can choose Jens2, but not Jens1. It’s there, but nothing happens if I click on it. Uff…

                      edit: Ok, this is fixed. The reason was quite simply and funny: I generated two identical workouts, only with diferent names. No it worked. Sorry for pasting such a lot of problemas, but maybe it will help other users.

                      D sebchastangS 2 Replies Last reply Reply Quote 0
                      • Fábio VeríssimoF Offline
                        Fábio Veríssimo
                        last edited by

                        amazing!
                        It took me 10 months to find this?!
                        not the most straight fwr way to transfer Humango intervals to my Ambit3, but I’ll take that while I wait for the next iteration of the Suunto 5.

                        Suunto Ambit3 Sport
                        Garmin Edge 530
                        Garmin FR255s

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

                          Sorry, wanted to say "now it works, not no it works. And “problemas” are “problems”, 😳

                          1 Reply Last reply Reply Quote 0
                          • sebchastangS Offline
                            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
                            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 Offline
                                      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
                                      Suunto Traverse

                                      1 Reply Last reply Reply Quote 1
                                      • H halajos referenced this topic on
                                      • First post
                                        Last post

                                      Suunto Terms | Privacy Policy