developer manual

31
Suunto App Zone Developer Manual 29.4.2013 SUUNTO APPS MANUAL

Upload: vytautasba

Post on 26-Nov-2015

363 views

Category:

Documents


1 download

DESCRIPTION

Manual

TRANSCRIPT

  • Suunto App Zone Developer Manual 29.4.2013

    SUUNTO APPS MANUAL

  • Suunto App Zone Developer Manual 29.4.2013

    TABLE OF CONTENT

    Table of content ............................................................................................................................................................................... 2

    Figures................................................................................................................................................................................................ 4

    Introduction ...................................................................................................................................................................................... 5

    examples of Apps ............................................................................................................................................................................. 6

    Cycling ....................................................................................................................................................................................... 6

    Basics.................................................................................................................................................................................................. 7

    App ................................................................................................................................................................................................. 7

    Lifecycle of app ............................................................................................................................................................................ 8

    App designer................................................................................................................................................................................. 8

    App user agreements................................................................................................................................................................10

    App Zone .........................................................................................................................................................................................11

    App into use in device ...................................................................................................................................................................12

    App code Reference ......................................................................................................................................................................13

    Result ...........................................................................................................................................................................................13

    prefix and postfix .......................................................................................................................................................................13

    Case sensitivity...........................................................................................................................................................................14

    Semicolon....................................................................................................................................................................................14

    Errors ...........................................................................................................................................................................................14

    Comments...................................................................................................................................................................................15

    Functions-Math..........................................................................................................................................................................15

    Trigonometric functions ......................................................................................................................................................15

    Some other mathematical functions.................................................................................................................................17

    Alarms etc. ..................................................................................................................................................................................19

    alarmBeep() ...........................................................................................................................................................................19

    light() .......................................................................................................................................................................................19

    Operators ....................................................................................................................................................................................19

  • Suunto App Zone Developer Manual 29.4.2013

    Comparison.................................................................................................................................................................................20

    Logical ..........................................................................................................................................................................................21

    LOGICAL structures ...................................................................................................................................................................21

    Variables ..........................................................................................................................................................................................24

    Users own Variables..................................................................................................................................................................24

    VARIABLES...................................................................................................................................................................................24

    Speed.......................................................................................................................................................................................25

    Distance/GPS .........................................................................................................................................................................26

    HR ............................................................................................................................................................................................26

    Altitude ...................................................................................................................................................................................27

    Environment ..........................................................................................................................................................................27

    Time.........................................................................................................................................................................................28

    Swimming ...............................................................................................................................................................................28

    Power ......................................................................................................................................................................................28

    Cadence ..................................................................................................................................................................................29

    Personal ..................................................................................................................................................................................29

    Sport mode ............................................................................................................................................................................29

    Movescount ...........................................................................................................................................................................30

    Fun facts .................................................................................................................................................................................30

    Not supported ............................................................................................................................................................................31

  • Suunto App Zone Developer Manual 29.4.2013

    FIGURES

    Figure 1Example of Sprint counting based on watts, buffered value, if-logic, own variables ........................................... 6

    Figure 2 App Designer, with graphical wizard tool .................................................................................................................... 9

    Figure 3 App advanced designer with editor ............................................................................................................................10

    Figure 4 App Zone with public Apps ...........................................................................................................................................11

    Figure 5 Selecting App into device..............................................................................................................................................12

    Figure 6 Modification of result with format, prefix and postfix ............................................................................................13

    Figure 7 Different operators used in graphical designer and code editos ..........................................................................20

    Figure 8 Comparison logic showcased with simple variables ................................................................................................21

    Figure 9 Example of using AND and OR logical operators ......................................................................................................21

    Figure 10 Several IF statements are true, but the last is shown ...........................................................................................22

    Figure 11 Several IF ELSE statements are true, but the first one is shown .........................................................................23

    Figure 12, Own variables used in app designer and in code editor ......................................................................................24

  • Suunto App Zone Developer Manual 29.4.2013

    INTRODUCTION

    You have done already fair share of you sports? You have measured, monitored, analysed .. you have seeked the

    guidance, better understanding, facts to your sport To go harder, futher, longer. Perhaps you have missed that

    one crucial feature when running in top of the mountain. Well, not anymore!

    We at Suunto understood quite long time ago, tha t each one of you is unique. Each sport activity, each person,

    each session has different needs. We also understand that the sport enthusiasts now their stuff. You know what

    you need. Or perhaps you are the guru of ultra distance running and want to give THE tools for other l ikeminded

    guys.

    With the Apps and the Appzone, we truly want to make it possible for you to get most out of your sports. To give

    you the power. To bring you the possibility to innovate, create and change the way how sports devices are looked

    at. We want to connect the gurus, the wizards and other kung-fu sport guys, so that people can be faster, stronger

    and happier. (pick one )

    So you are ready to make your ideas come true?

    This document tries to go thru all the areas of Suunto Apps , Development as deeply as we can. If you have any

    questions, ideas, comments related to this Go to Movescount.com and provide your feedback.

  • Suunto App Zone Developer Manual 29.4.2013

    EXAMPLES OF APPS

    CYCLING

    For cyclists it might be interesting to get a count on how many sprints he has done during the workout. This can be

    solved following App.

    /* While in sport mode do this once per second */

    RESULT=0;

    If (SUUNTO_BIKE_POWER_AVG[3] > 300 && Counted == 0){

    Counter = Counter + 1 ;

    RESULT = Counter;

    Counted=1;

    }

    If (SUUNTO_BIKE_POWER_AVG[3]

  • Suunto App Zone Developer Manual 29.4.2013

    BASICS

    APP

    Each App is described with following elements.

    Picture of the App: Picture is used to showcase the app in Appzone and in your own app library. Its good to select

    picture that creates right impression of the app you have created. The picture is stamped with the APP word.

    App name: App name should describe the app. The name of the App is also used in URL (weblink for the app), so

    its good to keep that compact.

    Activity: Choose the sport that the App is mainly designed for. User will then browse the Apps in Appzone based

    on the sports. i .e. most used apps for mountain biking

    Publicity: To offer your app publicly for other people to use it, mark the app public. You can also make an App

    just for yourself, mark in this case the App as private..

    Category: You can select the fitting category for the App. So if its meant just for fun select category fun .

    Description: The description is very important, so that people who are looking at the app, can understand what

    the app is meant for. Give it a little bit more thought!

    Tags: Its good idea to give some tags for the app, so that apps can be found easily thru the search in appzone.

    Website: The link can be used to give additional information about the app. For example to showcase a research

    paper that App is based on or website of an event where the app would work perfectly.

    Compatible devices: When app is created, there is always shown automatically the devices where this app can be

    used.

    Shoutbox: Every public App has a shoutbox. This enables the potential users to ask questions directly from the app

    developer or from other app users.

    Thumbs up: Each app can be liked by pressing the thumbs up. Based on this people are able to sort the most

    liked Apps in Appzone.

    Simulator: Each App can be simulated on the App page. The simulator shows what the App result is when different

    variables are changing.

    Unique URL: Each App has unique URL that can be used in different websites, blogs, forums to link to directly to

    App page. The address of the app is www.movescount.com/apps/xxxxID-APPNAME (where XXXID is the unique id

    for the APP and the APPNAME is the name of the App you provided).

    App creator: App shows the person who created the App.

    App creation date: Each App shows the date of the creation.

    HINT: Share your Apps URL forward, to spread the word

  • Suunto App Zone Developer Manual 29.4.2013

    LIFECYCLE OF APP

    When apps are created it can have various different states within Movescount.com.

    Creation of the app: Anyone who is registered in Movescount.com can use the App designer, and this way create

    new apps. This doesnt require ownership of App compatible device. For example if you want to create App for

    your friend who has App compatible device, you can do it without owning one yourself.

    Private Apps: When App is created developer is able to make this as a private App. This means that only

    him/herself can utilize the app. These apps are not shown at all in Appzone, so other members cannot take these

    into use.

    Public Apps: When App is created developer is able to make this as a public App. This means that App is shown in

    Appzone, and any registered member can then take the App into use. When member stores the App from Appzone

    into his own library, the creator of the App cannot delete the app from Moves count.com.

    App in device: Any app that user has placed into his App library, can be used in compatible device. The

    compatibility is device specific, so all the apps are not compatible with all the devices. App is added into device in

    sport modes, in similar manner as any of the other features inbuilt in device originally. Also the Apps can be

    removed from different modes in similar manner.

    Logged Apps: When app is placed into device in device settings. It can be logged. The logging principle for App

    varies between different devices. When App is logged, the app results are show in Movescount.com with the

    Move.

    Apps in library: All the apps you have created are placed in App library. The apps that are shown in appzone can be

    stored in app library by any of the Movescount.com members. Library is personal storage of the apps. Only the

    owner of the library can add or delete apps from his/her app library.

    Removing Logged results from App in Move: When App results are logged, these are shown in Move. This cannot

    be deleted afterwards, without deleting the whole Move.

    Deleting the App from Movescount.com: The App can be deleted from Movescount.com when its only in creator

    library (no other member has taken it into use), App is not in use in device (not in any of the users custom mode)

    and its results are not stored in any of the moves. If the app is removed from users library, but its used by another

    member it will remain in Movescount.com as long as there is at least one person using the app. When he removes

    the App from his library the App will be deleted from Movescount.com

    Removing the app from Appzone: When creator of the app deletes App from his library, it will also be removed

    from Appzone. Other members cannot take the app into use anymore after this. However the members who

    earlier had stored this into their library will still be able to use it from their library (and place into device)

    Public App into Private App: If App has been public originally, and then placed as private, it will not be shown in

    Appzone. However the members who earlier had stored this into their library will still be able to use it from their

    library (and place into device)

    APP DESIGNER

  • Suunto App Zone Developer Manual 29.4.2013

    You are able to design the Apps in two different modes.

    - The graphical designer tool, offers you possibility to easily create mathematical features with different

    variables, math operators (+,-,x,/) and structures (parentheses)

    - The Advanced Designer, offers you the possibility to do coding development work with various logics,

    functions.

    Figure 2 App Designer, with graphical wizard tool

  • Suunto App Zone Developer Manual 29.4.2013

    Figure 3 App advanced designer with editor

    APP USER AGREEMENTS

    When you are creating an App and storing this to Movescount.com you are obligated with the terms of service.

    Similar manner, when person takes the app into use from Appzone, he is obligated by the terms of the end user

    agreement.

  • Suunto App Zone Developer Manual 29.4.2013

    APP ZONE

    App Zone is found in www.movescount.com/Apps. In App zone you can find all the Apps, which are made for

    people to use publicly.

    Figure 4 App Zone with public Apps

  • Suunto App Zone Developer Manual 29.4.2013

    APP INTO USE IN DEVICE

    In the App page, you can see which devices its compatible with. Any App you take into use, will be placed in users

    App library. From the library one can select the Apps into device in device customization settings.

    Figure 5 Selecting App into device

  • Suunto App Zone Developer Manual 29.4.2013

    APP CODE REFERENCE

    RESULT

    The value that App produces is placed in RESULT. This will be s hown on screen as number, or graph, depending

    where App user wants to show it.

    For example, following line would show 100 on the screen:

    RESULT=100;

    Result can be shown in four different formats. The value 100 would be shown for example:

    time : 0:0140

    0 decimal: 100

    1 decimal: 100.0

    2 decimals: 100.00

    PREFIX AND POSTFIX

    App results are shown with prefix and postfix. Developer can state these in designer. Following is few examples of

    using different format, prefix and postfix values.

    Figure 6 Modification of result with format, prefix and postfix

    Its also possible to modify the prefix and postfix in code editor, but these are not updated in simulation. However

    when transferred to device, the pre &postfix will be change. The code format for prefix and postfix is following:

    Following code would modify the result in watch, so that before result value the text would show A and after it

    would show B.

    prefix="A";

  • Suunto App Zone Developer Manual 29.4.2013

    postfix=B;

    CASE SENSITIVITY

    App Script is case sensitive.

    Following is simple example about this:

    Following script is working and shows the result on the screen as 0.

    RESULT = 0;

    Following script is NOT working and there is an error l ine.

    result = 0 ;

    Error information: Whoops! Please check the formula.

    SEMICOLON

    Every row in code needs to be stopped with a semicolon.;

    Following is simple example about this:

    Following script is working and shows the result on the screen as 0.

    RESULT=0;

    Following script is NOT working and there is an error l ine.

    RESULT=0;

    Error information: Compilation has at least one error on line 2

    ERRORS

    When creating a new App, you are able to verify the App at any stage. The verification will run the code and

    provide you information on errors.

    Following is the some of the errors that can be reported.

    "Compiled binary is too large for any supported device."

    Error is given, if the app is too big to fit into device.

    "The app is used in device which does not support the chosen variables or functions."

    Error is given, if the App has functions/va riables that given device doesnt support

  • Suunto App Zone Developer Manual 29.4.2013

    "RESULT must be the output variable ."

    App needs to have a Result.

    o This error you can get, if you dont have result defined

    "Unsupported input variable used."

    App result needs to be a number.

    o This error you will get, if you for example want to give text as result or place text as variable for

    function.

    "Unsupported function used."

    App has a function that is not supported. This error you can get, if you for example write function

    incorrectly

    "Compilation has at least one error"

    When App was compiled, there seemed to be at least one error. Check the code.

    " Error in buffered variable on line 2"

    The variable buffer size is can be too big.

    o For example SUUNTO_BIKE_POWER_AVG[900]; will create an error as the size of the buffer is

    larger than 30s.

    COMMENTS

    Comment syntax uses following syntax:

    /* here is the comment */

    Comments are shown in l ight gray text.

    FUNCTIONS-MATH

    The Math functions offer various calculations for the App.

    TRIGONOMETRIC FUNCTI ONS

    SIN(X)

    Sin equals to the length of the side opposite of the angle divided by length of the triangles hypotenuse.

    Javascript: retVal = Suunto.sin(argIn)

    argIn: type float, unit radians

    retVal: type float, no unit, range [-1,1]

  • Suunto App Zone Developer Manual 29.4.2013

    COS(X)

    Cos equals to the length of the side adjancent to angle, divided by the length of the triangles hypotenuse

    Javascript: retVal = Suunto.cos(argIn)

    argIn: type float, unit radians

    retVal: type float, no unit, range [-1,1]

    ATAN2(Y,X)

    Sin equals to the length of the side opposite of the a ngle divided by length of the triangles hypotenuse.

    Javascript: retVal = Suunto.atan2(argY,argX)

    argY: type float, no unit

    argX: type float, no unit

    retVal: type float, unit radians, range (-PI,PI]

    TAN(X)

    Javascript: retVal = Suunto.tan(argIn)

    argIn: type float, unit radians

    retVal: type float, no unit, range [-INF,INF]

    SIND(X)

    Javascript: retVal = Suunto.sind(argIn)

    argIn: type float, unit degrees

    retVal: type float, no unit, range [-1,1]

    COSD(X)

    Javascript: retVal = Suunto.cosd(argIn)

    argIn: type float, unit degrees

    retVal: type float, no unit, range [-1,1]

    TAND(X)

  • Suunto App Zone Developer Manual 29.4.2013

    Javascript: retVal = Suunto.tand(argIn)

    argIn: type float, unit degrees

    retVal: type float, no unit, range [-INF,INF]

    ATAND2(Y,X)

    Javascript: retVal = Suunto.atand2(argY,argX)

    argY: type float, no unit

    argX: type float, no unit

    retVal: type float, unit degrees, range (-180,180]

    SOME OTHER MATHEMATI CAL FUNCTIONS

    SQRT(X)

    Javascript: retVal = Suunto.sqrt(argX)

    argX: type float, no unit, range [0,INF]

    retVal: type float, no unit, range [0,INF]

    Generated on Wed Feb 13 2013 13:49:36 for Rule c function calls by Doxygen

    EXP(X)

    Javascript: retVal = Suunto.exp(argX)

    argX: type float, no unit, range [-INF,INF]

    retVal: type float, no unit, range [0,INF]

    LOG(X)

    Returns the natural logarithm of x.

    Javascript: retVal = Suunto.log(argX)

    argX: type float, no unit, range [0,INF]

    retVal: type float, no unit, range [-INF,INF]

    LOG(X)

    Returns the common logarithm of x (i.e. base 10 logarithm).

  • Suunto App Zone Developer Manual 29.4.2013

    Javascript: retVal = Suunto.log10(argX)

    argX: type float, no unit, range [0,INF]

    retVal: type float, no unit, range [-INF,INF]

    POW(X,Y)

    Returns the x^y. If y is not an integer, x must >= 0.

    Javascript: retVal = Suunto.pow(argX,argY)

    argX: type float, no unit, range [-INF,INF]

    argY: type float, no unit, range [-INF,INF]

    retVal: type float, no unit, range [-INF,INF]

    HYPOT(X,Y)

    Returns the sqrt(x_x+y_y).

    Javascript: retVal = Suunto.hypot(argX,argY)

    argX: type float, no unit, range [-INF,INF]

    argY: type float, no unit, range [-INF,INF]

    retVal: type float, no unit, range [0,INF]

    NORM(X)

    Returns the length of the vector x.

    Javascript: retVal = Suunto.norm(argX)

    argX: type pointer to float, no unit

    retVal: type float, no unit, range [0,INF]

    RAND()

    The function rand() returns a pseudorandom integer between zero and RAND_MAX (integer).

    Javascript: retVal = Suunto.rand()

    retVal: type float, unit integers, range [0,RAND_MAX]

    MOD(X,Y)

  • Suunto App Zone Developer Manual 29.4.2013

    The function mod(x,y) returns x - (y _ int(x/y)).

    Javascript: retVal = Suunto.mod(argX,argY)

    argX: type float, no unit

    argY: type float, no unit

    retVal: type float, no unit, range (-argY,argY)

    ABS(X)

    The function abs(x) returns jxj.

    Javascript: retVal = Suunto.abs(argX)

    argX: type float, no unit, range [-INF,INF]

    retVal: type float, no unit, range [0,INF]

    ALARMS ETC.

    ALARMBEEP()

    Plays a single sound.

    Javascript: Suunto.alarmBeep()

    LIGHT()

    Puts the backlight on in the watch.

    Javascript: Suunto.light()

    OPERATORS

    The operators than are available for app are

    + Addition

    - Subtraction

    * Multiplication

    / Division

  • Suunto App Zone Developer Manual 29.4.2013

    Figure 7 Different operators used in graphical designer and code editos

    Hint: when creating mathematical functionality with graphical designer, one can move into code editor. This will

    bring the math function into code editor automatically.

    COMPARISON

    Following comparisons are available:

    == Equal

    != Not equal

    > Greater than

    >= Greater than or equal to

    < Less than

  • Suunto App Zone Developer Manual 29.4.2013

    Figure 8 Comparison logic showcased with simple variables

    LOGICAL

    App Script provides logical operators to join different conditions:

    OR binary disjunction is marked as ||

    AND conjunction is marked as &&

    Following is example how to use AND and OR. In this example user has created App where the App will show first

    how long he should do warm up. During the warm up time, App shows what is the percentage of warmup

    completition. When the App will show show 0%, then its time to start the main effort. This will be shown as long as

    the speed is below 30km/h or heart rate under 100. When HR is over 100 and distance over 20km, then the App

    will show speed vs. goal speed. If the goal speed is 40 km/h, then the App shows 9% when person is cycling with

    speed of 44km/h (equals 9% over goal speed).

    Figure 9 Example of using AND and OR logical operators

    LOGICAL STRUCTURES

  • Suunto App Zone Developer Manual 29.4.2013

    With the App script editor creator can produce logical structure.

    If (is this statement true){

    Do this

    }

    The editor also supports the else-if statements

    If (is this statement true){

    Do this

    }

    Else If (another statement that could be true){

    Then do this

    }

    Following is showcased several if statements. This time app will show different heart rate goal levels, based on

    what is the distance. The first example shows several IF statements, where the last true statement is shown on the

    screen. The target heart rate after first 2km is 160, so screen shows 7 beats below target. The following screen

    shows same logic, but with ELSE-IF statements. The second statement is true, so the target heart rate level is set

    into 130 and the last else-if statement is not checked.

    Figure 10 Several IF statements are true, but the last is shown

    When the first IF statement is true, then the code will not go forward.

  • Suunto App Zone Developer Manual 29.4.2013

    Figure 11 Several IF ELSE statements are true, but the first one is shown

  • Suunto App Zone Developer Manual 29.4.2013

    VARIABLES

    USERS OWN VARIABLES

    Creator of the App can use own variables. These are declared separately on top of the code editor. Variables that

    creator can utilize can only contain numbers. Each variable that is created needs to have default value. These

    variables can be used within the code editor or in graphical designer. Variables can be used for example as

    counters when creating logic within app.

    Figure 12, Own variables used in app designer and in code editor

    VARIABLES

    There are over 200 variables that Apps can utilize. Following is description of each variable.

    The variables are based on following principles:

    - Current value i.e. speed at this time or hr at this time.

    - Cumulative i.e. calories consumed at this point or distance covered

    - Averages/maximums i.e. average speed at this point

    - Lap values i.e. average temperature in during the lap

    1. Laps, could have been created manually or automatically (i.e. 1km autolap)

    2. These Lap values mean currently running lap

    - Previous lap value i.e. average HR from previous lap

    1. These lap values mean previous lap (that ended when current lap started)

    - Instant values i.e. instant altitude

    1. These values refer to value that was recorded at the time of making the lap. i .e. when pressing

    the lap button, what was the altitude at this time

    - Tail values i.e. average_speed [30]

    1. These are values during the timeperiod (Tail)

    2. This timeperiod is in default 30s, but can be made shorter i.e. 10s.

    3. Tail values can be split into few main categories

    1. Average is the average value during the tail i .e. average speed during last 30s

  • Suunto App Zone Developer Manual 29.4.2013

    2. Max is the maximum value during the tail i .e. maximum speed during last 30s

    3. Min is the smallest value during the tail i .e. smallest speed during last 30s

    4. Diff is the difference between first and last value i.e. speed difference during first

    second (1s) to latest value (30s)

    5. Total is the total cumulative value during the tail i .e.ascent in meters during the last 30s

    NOTE: using different tail lengths within one, will lead into larger Apps. So the depending to the device the App

    might not fit into its memory.

    Type of the variable can be

    - S = seconds

    - Km/h = kilometers/hour

    - Min/km = minutes per kilometer

    - Km = kilometers

    - m = meters

    - num = number 0,1,2->

    - bpm = beats per minute (hear rate)

    - PTE = peak training effect (1-5, with one decimal i.e. 2.8)

    - hPa = pressure

    - C = Celsius (temperature)

    - W = Watts (power)

    - RPM = rounds per minute

    - Kcal = kilocalories (energy)

    - Kg = weight

    - h = hours

    Type Min Max

    SPEED

    Speed 0 100 (km/h)

    Average speed 0 100 (km/h)

    Maximum speed 0 100 (km/h)

    Pace 17 0.6 (min/km)

    Lap avg speed 0 100 (km/h)

    Lap maximum speed 0 100 (km/h)

    Lap avg pace 17 0.6 (min/km)

    Previous lap avg speed 0 100 (km/h)

    Previous lap max speed 0 100 (km/h)

    Previous lap avg pace 17 0.6 (min/km)

    Instant speed 0 100 (km/h)

    Instant avg speed 0 100 (km/h)

    Instant pace 17 0.6 (min/km)

    Tail avg speed[30sec] 0 100 (km/h)

  • Suunto App Zone Developer Manual 29.4.2013

    Tail max speed[30sec] 0 100 (km/h)

    Tail min speed[30sec] 0 100 (km/h)

    Tail diff speed[30sec] 0 100 (km/h)

    Tail avg pace[30sec] 17 0.6 (min/km)

    Tail max pace[30sec] 17 0.6 (min/km)

    Tail min pace[30sec] 17 0.6 (min/km)

    Tail diff pace[30sec] 17 0.6 (min/km)

    DISTANCE/GPS

    Distance 0 50 (km)

    Lap distance 0 50 (km)

    Previous lap distance 0 50 (km)

    Instant distance 0 50 (km)

    Tail total distance[30sec] 0 50 (km)

    Latitude -90 90 (degrees)

    Longitude -180 180 (degrees)

    GPS state 0 100 (num)

    GPS altitude 0 5000 (m)

    GPS heading 0 360 (Degrees)

    Navigation mode 0 1 (0 heading up, 1northup)

    Navigation distance to next waypoint 0 50 (km)

    Navigation distance to last waypoint 0 50 (km)

    HR

    Heart rate 30 229 (bpm)

    Average heart rate 30 229 (bpm)

    Maximum heart rate 30 229 (bpm)

    Peak Training Effect 1 5 (PTE)

    Energy consumption 0 3000 (kcal)

    Lap avg heart rate 30 229 (bpm)

    Lap max heart rate 30 229 (bpm)

    Lap energy consumption 0 3000 (kcal)

    Previous lap avg heart rate 30 229 (bpm)

    Previous lap max heart rate 30 229 (bpm)

    Previous lap energy consumption 0 3000 (kcal)

    Instant heart rate 30 229 (bpm)

    Instant avg heart rate 30 229 (bpm)

    Instant Peak Training Effect 1 5 (PTE)

    Instant energy consumption 0 3000 (kcal)

    Tail avg heart rate[30sec] 30 229 (bpm)

    Tail max heart rate[30sec] 30 229 (bpm)

    Tail min heart rate[30sec] 30 229 (bpm)

    Tail diff heart rate[30sec] 30 229 (bpm)

  • Suunto App Zone Developer Manual 29.4.2013

    ALTITUDE

    Altitude 0 5000 (m)

    Ascent 0 2000 (m)

    Descent 0 2000 (m)

    Ascent time 0 3600 (s)

    Descent time 0 3600 (s)

    Vertical speed 0 100 (m/min)

    Lap ascent 0 2000 (m)

    Lap descent 0 2000 (m)

    Lap ascent time 0 3600 (s)

    Lap descent time 0 3600 (s)

    Previous lap ascent 0 2000 (m)

    Previous lap descent 0 2000 (m)

    Previous lap ascent time 0 3600 (s)

    Previous lap descent time 0 3600 (s)

    Instant altitude 0 5000 (m)

    Instant ascent 0 2000 (m)

    Instant descent 0 2000 (m)

    Tail total ascent[30sec] 0 2000 (m)

    Tail total descent[30sec] 0 2000 (m)

    Tail total ascent time[30sec] 0 2000 (s)

    Tail total descent time[30sec] 0 2000 (s)

    Tail avg altitude[30sec] 0 5000 (m)

    Tail max altitude[30sec] 0 5000 (m)

    Tail min altitude[30sec] 0 5000 (m)

    Tail diff altitude[30sec] 0 5000 (m)

    Tail avg vertical speed[30sec] 0 100 (m/min)

    Tail max vertical speed[30sec] 0 100 (m/min)

    Tail min vertical speed[30sec] 0 100 (m/min)

    Tail diff vertical speed[30sec] 0 100 (m/min)

    ENVIRONMENT

    Pressure 850 1050 (hPa - sealevel)

    Temperature -30 40 (C)

    Minimum temperature -30 40 (C)

    Maximum temperature -30 40 (C)

    Instant pressure 850 1050 (hPa - sealevel)

    Instant temperature -30 40 (Celcius)

    Tail avg pressure[30sec] 850 1050 (hPa)

    Tail max pressure[30sec] 850 1050 (hPa)

    Tail min pressure[30sec] 850 1050 (hPa)

    Tail diff pressure[30sec] 850 1050 (hPa)

    Tail avg temperature[30sec] -30 40 (C)

    Tail max temperature[30sec] -30 40 (C )

  • Suunto App Zone Developer Manual 29.4.2013

    Tail min temperature[30sec] -30 40 (C )

    Tail diff temperature[30sec] -30 40 (C )

    TIME

    Duration 0 18000 (seconds)

    Time 0 86400 (seconds from midnight)

    Date 4750 6000 (days since 1.1.2000)

    Lap number 0 50 (number)

    Lap duration 0 18000 (seconds)

    Previous lap number 0 50 (number)

    Previous lap duration 0 18000 (seconds)

    Instant time 0 86400 (seconds from midnight)

    Instant duration 0 18000 (seconds)

    SWIMMING

    Pool length 25 200 (m)

    Strokes 0 100 (number of strokes)

    Rest time 0 720 (seconds)

    Previous pool length duration 0 120 (seconds)

    Previous pool length strokes 0 100 (number of strokes)

    Interval duration 0 3600 (seconds)

    Interval distance 0 1000 (m)

    Interval strokes 0 1000 (number of strokes)

    Tail avg strokes[30sec] 0 100 (number of strokes)

    Tail max strokes[30sec] 0 100 (number of strokes)

    Tail min strokes[30sec] 0 100 (number of strokes)

    Tail diff strokes[30sec] 0 100 (number of strokes)

    Previous pool length style 0 5 0=other, 1=butterfly, 2=backstroke

    3= breaststroke, 4=freestyle,

    5 = drill

    POWER

    Bike power 0 500 (W)

    Average bike power 0 500 (W)

    Maximum bike power 0 500 (W)

    Avg bike power 3sec 0 500 (W)

    Avg bike power 10sec 0 500 (W)

    Avg bike power 30sec 0 500 (W)

    Lap avg bike power 0 500 (W)

    Lap max bike power 0 500 (W)

    Tail avg power[30sec] 0 500 (W)

    Tail max power[30sec] 0 500 (W)

  • Suunto App Zone Developer Manual 29.4.2013

    Tail min power[30sec] 0 500 (W)

    Tail diff power[30sec] 0 500 (W)

    Bike power connected 0 1 (0=not connected, 1=connected)

    CADENCE

    Cadence 0 199 (rpm)

    Average cadence 0 199 (rpm)

    Maximum cadence 0 199 (rpm)

    Lap avg cadence 0 199 (rpm)

    Lap max cadence 0 199 (rpm)

    Previous lap avg cadence 0 199 (rpm)

    Previous lap max cadence 0 199 (rpm)

    Instant cadence 0 199 (rpm)

    Instant avg cadence 0 199 (rpm)

    Tail avg cadence[30sec] 0 199 (rpm)

    Tail max cadence[30sec] 0 199 (rpm)

    Tail min cadence[30sec] 0 199 (rpm)

    Tail diff cadence[30sec] 0 199 (rpm)

    PERSONAL

    User max heart rate 30 229 (bpm)

    User rest heart rate 30 229 (bpm)

    User age 10 99 (year)

    User weight 30 200 (kg)

    User activity class 1 10

    User recovery time 0 120 (h)

    SPORT MODE

    Activity type 1 82 (ID, list of activity ids following)

    Not specified sport = 1 Multisport = 2 Run = 3

    Cycling = 4 MountainBiking = 5 Swimming = 6

    Skating = 8 Aerobics = 9 YogaPilates = 10

    Trekking = 11 Walking = 12 Sailing = 13

    Kayaking = 14 Rowing = 15 Climbing = 16

    Indoor cycling = 17 Circuit training = 18 Triathlon = 19

    Alpine skiing = 20 Snowboarding = 21 Crosscountry skiing = 22

    Weight training = 23 Basketball = 24 Soccer = 25

    Ice Hockey = 26 Volleyball = 27 Football = 28

    Softball = 29 Cheerleading = 30 Baseball = 31

    Tennis = 33 Badminton = 34 Table tennis = 35

    Racquet ball = 36 Squash = 37 Combat sport = 38

    Boxing = 39 Floorball = 40 Scuba diving = 51

    Free diving = 52 Adventure Racing = 61 Bowling = 62

  • Suunto App Zone Developer Manual 29.4.2013

    Cricket = 63 Cross trainer = 64 Dancing = 65

    Golf = 66 Gymnastics = 67 Handball = 68

    Horseback riding = 69 Ice Skating = 70 Indoor Rowing = 71

    Canoeing = 72 Motorsports = 73 Mountaineering = 74

    Orienteering = 75 Rugby = 76 Ski Touring = 78

    Stretching = 79 Telemark skiing = 80 Track and Field = 81

    Trail Running = 82 Open water swimming = 83 Nordic walking = 84

    Snow shoeing = 85 Windsurfing/Surfing = 86 Kettlebell = 87

    Roller skiing = 88 Standup paddling (SUP) = 89 Cross fit = 90

    Kitesurfing/Kiting = 91 Paragliding = 92 Treadmill = 93

    Frisbee = 94

    MOVESCOUNT

    Men's average running speed (km/h) Not adjustable by user 10.7

    Women's average running speed (km/h) Not adjustable by user 9.11

    Average walking speed (km/h) Not adjustable by user 5.62

    Average running distance (m) Not adjustable by user 9.07

    Average cycling distance (m) Not adjustable by user 34.07

    Average running duration (s) Not adjustable by user 3333

    Average cycling duration (s) Not adjustable by user 5484

    Average Move duration (s) Not adjustable by user 4910

    Average energy consumption (kcal) Not adjustable by user 655

    FUN FACTS

    100m WR speed (km/h) Not adjustable by user 37.578

    Marathon WR speed (km/h) Not adjustable by user 20.4

    1 hour TT cycling WR speed (km/h) Not adjustable by user 56.375

    Tour de France avg cycling speed 2012 (km/h) Not adjustable by user 39.83

    Distance Paris-Dakar (m) Not adjustable by user 4065.52

    Distance London-New York (m) Not adjustable by user 5570.2

    Height of Empire State Building (m) Not adjustable by user 449

    Height of Eiffel tower (m) Not adjustable by user 320

    Weight of Salomon S-Lab Sense shoe (kg) Not adjustable by user 0.195

    Cheetah's speed (km/h) Not adjustable by user 114

    Weight of indian elephant (kg) Not adjustable by user 10900

    Humming birds's heart rate (bpm) Not adjustable by user 1260

    Calories in hamburger (kcal) Not adjustable by user 495

    Calories in beer bottle (kcal) Not adjustable by user 242

    Calories in chocolate bar (kcal) Not adjustable by user 150

    Calories in energy gel (kcal) Not adjustable by user 100

  • Suunto App Zone Developer Manual 29.4.2013

    NOT SUPPORTED

    Some common software engineering features are not supported. Here is few examples.

    Arrays/vectors

    Switch statement

    Loops

    Objects

    mean(x), min(x),max(x), std(x)