You are on page 1of 31

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 likeminded
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] <= 300 ){
Counted=0;
}
The logic is that each time the cyclist hits the power that is 3 seconds over 300 Wats it will be counted as sprint.
When this has been counted, the same intensive sprint is not counted again before the 3s avg power goes below
300W. So if you do hard interval sessions, this App will show for example sprints 50when you have been able to
keep you power above 300watts for at least 3 seconds 50 times.

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

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 wher e 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 simil ar 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 r emoves
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. O ther 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 ter ms 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 line.
result = 0 ;
Error info rmation: Whoops! Please ch eck the fo rmula.

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 line.
RESULT=0;
Error info rmation: Co mpilation has at lea st 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 tex t 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 light 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 si de 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 MATHE MATI 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.nor m(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) r eturns 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

<= Less than or equal to

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, wher e 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.
3.
4.

Max is the maximum value during the tail i.e. maximum speed during last 30s
Min is the smallest value during the tail i.e. smallest speed during last 30s
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
Average speed
Maximum speed
Pace
Lap avg speed
Lap maximum speed
Lap avg pace
Previous lap avg speed
Previous lap max speed
Previous lap avg pace
Instant speed
Instant avg speed
Instant pace
Tail avg speed[30sec]

0
0
0
17
0
0
17
0
0
17
0
0
17
0

100
100
100
0.6
100
100
0.6
100
100
0.6
100
100
0.6
100

(km/h)
(km/h)
(km/h)
(min/km)
(km/h)
(km/h)
(min/km)
(km/h)
(km/h)
(min/km)
(km/h)
(km/h)
(min/km)
(km/h)

Suunto App Zone Developer Manual 29.4.2013

Tail max speed[30sec]


Tail min speed[30sec]
Tail diff speed[30sec]
Tail avg pace[30sec]
Tail max pace[30sec]
Tail min pace[30sec]
Tail diff pace[30sec]

0
0
0
17
17
17
17

100
100
100
0.6
0.6
0.6
0.6

(km/h)
(km/h)
(km/h)
(min/km)
(min/km)
(min/km)
(min/km)

Distance
Lap distance
Previous lap distance
Instant distance
Tail total distance[30sec]
Latitude
Longitude
GPS state
GPS altitude
GPS heading
Navigation mode
Navigation distance to next waypoint
Navigation distance to last waypoint

0
0
0
0
0
-90
-180
0
0
0
0
0
0

50
50
50
50
50
90
180
100
5000
360
1
50
50

(km)
(km)
(km)
(km)
(km)
(degrees)
(degrees)
(num)
(m)
(Degrees)
(0 heading up, 1northup)
(km)
(km)

Heart rate
Average heart rate
Maximum heart rate
Peak Training Effect
Energy consumption
Lap avg heart rate
Lap max heart rate
Lap energy consumption
Previous lap avg heart rate
Previous lap max heart rate
Previous lap energy consumption
Instant heart rate
Instant avg heart rate
Instant Peak Training Effect
Instant energy consumption
Tail avg heart rate[30sec]
Tail max heart rate[30sec]
Tail min heart rate[30sec]
Tail diff heart rate[30sec]

30
30
30
1
0
30
30
0
30
30
0
30
30
1
0
30
30
30
30

229
229
229
5
3000
229
229
3000
229
229
3000
229
229
5
3000
229
229
229
229

(bpm)
(bpm)
(bpm)
(PTE)
(kcal)
(bpm)
(bpm)
(kcal)
(bpm)
(bpm)
(kcal)
(bpm)
(bpm)
(PTE)
(kcal)
(bpm)
(bpm)
(bpm)
(bpm)

DISTANCE/GPS

HR

Suunto App Zone Developer Manual 29.4.2013

ALTITUDE
Altitude
Ascent
Descent
Ascent time
Descent time
Vertical speed
Lap ascent
Lap descent
Lap ascent time
Lap descent time
Previous lap ascent
Previous lap descent
Previous lap ascent time
Previous lap descent time
Instant altitude
Instant ascent
Instant descent
Tail total ascent[30sec]
Tail total descent[30sec]
Tail total ascent time[30sec]
Tail total descent time[30sec]
Tail avg altitude[30sec]
Tail max altitude[30sec]
Tail min altitude[30sec]
Tail diff altitude[30sec]
Tail avg vertical speed[30sec]
Tail max vertical speed[30sec]
Tail min vertical speed[30sec]

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

5000
2000
2000
3600
3600
100
2000
2000
3600
3600
2000
2000
3600
3600
5000
2000
2000
2000
2000
2000
2000
5000
5000
5000
5000
100
100
100

(m)
(m)
(m)
(s)
(s)
(m/min)
(m)
(m)
(s)
(s)
(m)
(m)
(s)
(s)
(m)
(m)
(m)
(m)
(m)
(s)
(s)
(m)
(m)
(m)
(m)
(m/min)
(m/min)
(m/min)

Tail diff vertical speed[30sec]

100

(m/min)

850
-30
-30
-30
850
-30
850
850
850
850
-30
-30

1050
40
40
40
1050
40
1050
1050
1050
1050
40
40

ENVIRONMENT
Pressure
Temperature
Minimum temperature
Maximum temperature
Instant pressure
Instant temperature
Tail avg pressure[30sec]
Tail max pressure[30sec]
Tail min pressure[30sec]
Tail diff pressure[30sec]
Tail avg temperature[30sec]
Tail max temperature[30sec]

(hPa - sealevel)
(C)
(C)
(C)
(hPa - sealevel)
(Celcius)
(hPa)
(hPa)
(hPa)
(hPa)
(C)
(C )

Suunto App Zone Developer Manual 29.4.2013

Tail min temperature[30sec]

-30

40

(C )

Tail diff temperature[30sec]

-30

40

(C )

Duration
Time
Date
Lap number
Lap duration
Previous lap number
Previous lap duration
Instant time

0
0
4750
0
0
0
0
0

18000
86400
6000
50
18000
50
18000
86400

(seconds)
(seconds from midnight)
(days since 1.1.2000)
(number)
(seconds)
(number)
(seconds)
(seconds from midnight)

Instant duration

18000

(seconds)

25
0
0
0
0
0
0
0
0
0
0
0
0

200
100
720
120
100
3600
1000
1000
100
100
100
100
5

(m)
(number of strokes)
(seconds)
(seconds)
(number of strokes)
(seconds)
(m)
(number of strokes)
(number of strokes)
(number of strokes)
(number of strokes)
(number of strokes)
0=other, 1=butterfly, 2=backstroke
3= breaststroke, 4=freestyle,
5 = drill

0
0
0
0
0
0
0
0
0
0

500
500
500
500
500
500
500
500
500
500

(W)
(W)
(W)
(W)
(W)
(W)
(W)
(W)
(W)
(W)

TIME

SWIMMING
Pool length
Strokes
Rest time
Previous pool length duration
Previous pool length strokes
Interval duration
Interval distance
Interval strokes
Tail avg strokes[30sec]
Tail max strokes[30sec]
Tail min strokes[30sec]
Tail diff strokes[30sec]
Previous pool length style

POWER
Bike power
Average bike power
Maximum bike power
Avg bike power 3sec
Avg bike power 10sec
Avg bike power 30sec
Lap avg bike power
Lap max bike power
Tail avg power[30sec]
Tail max power[30sec]

Suunto App Zone Developer Manual 29.4.2013

Tail min power[30sec]


Tail diff power[30sec]
Bike power connected

0
0
0

500
500
1

(W)
(W)
(0=not connected, 1 =connected)

0
0
0
0
0
0
0
0
0
0
0
0
0

199
199
199
199
199
199
199
199
199
199
199
199
199

(rpm)
(rpm)
(rpm)
(rpm)
(rpm)
(rpm)
(rpm)
(rpm)
(rpm)
(rpm)
(rpm)
(rpm)
(rpm)

30
30
10
30
1
0

229
229
99
200
10
120

(bpm)
(bpm)
(year)
(kg)

CADENCE
Cadence
Average cadence
Maximum cadence
Lap avg cadence
Lap max cadence
Previous lap avg cadence
Previous lap max cadence
Instant cadence
Instant avg cadence
Tail avg cadence[30sec]
Tail max cadence[30sec]
Tail min cadence[30sec]
Tail diff cadence[30sec]

PERSONAL
User max heart rate
User rest heart rate
User age
User weight
User activity class
User recovery time

(h)

SPORT MODE
Activity type
Not specified sport = 1
Cycling = 4
Skating = 8
Trekking = 11
Kayaking = 14
Indoor cycling = 17
Alpine skiing = 20
Weight training = 23
Ice Hockey = 26
Softball = 29
Tennis = 33
Racquet ball = 36
Boxing = 39
Free diving = 52

1
82
Multisport = 2
MountainBiking = 5
Aerobics = 9
Walking = 12
Rowing = 15
Circuit training = 18
Snowboarding = 21
Basketball = 24
Volleyball = 27
Cheerleading = 30
Badminton = 34
Squash = 37
Floorball = 40
Adventure Racing = 61

(ID, list of activity ids following)


Run = 3
Swimming = 6
YogaPilates = 10
Sailing = 13
Climbing = 16
Triathlon = 19
Crosscountry skiing = 22
Soccer = 25
Football = 28
Baseball = 31
Table tennis = 35
Combat sport = 38
Scuba diving = 51
Bowling = 62

Suunto App Zone Developer Manual 29.4.2013

Cricket = 63
Golf = 66
Horseback riding = 69
Canoeing = 72
Orienteering = 75
Stretching = 79
Trail Running = 82
Snow shoeing = 85
Roller skiing = 88
Kitesurfing/Kiting = 91

Cross trainer = 64
Gymnastics = 67
Ice Skating = 70
Motorsports = 73
Rugby = 76
Telemark skiing = 80
Open water swimming = 83
Windsurfing/Surfing = 86
Standup paddling (SUP) = 89
Paragliding = 92

Dancing = 65
Handball = 68
Indoor Rowing = 71
Mountaineering = 74
Ski Touring = 78
Track and Field = 81
Nordic walking = 84
Kettlebell = 87
Cross fit = 90
Treadmill = 93

Frisbee = 94

MOVESCOUNT
Men's average running speed
Women's average running speed
Average walking speed
Average running distance
Average cycling distance
Average running duration
Average cycling duration
Average Move duration
Average energy consumption

(km/h)
(km/h)
(km/h)
(m)
(m)
(s)
(s)
(s)
(kcal)

Not adjustable by user


Not adjustable by user
Not adjustable by user
Not adjustable by user
Not adjustable by user
Not adjustable by user
Not adjustable by user
Not adjustable by user
Not adjustable by user

10.7
9.11
5.62
9.07
34.07
3333
5484
4910
655

(km/h)
(km/h)
(km/h)
(km/h)
(m)
(m)
(m)
(m)
(kg)
(km/h)
(kg)
(bpm)
(kcal)
(kcal)
(kcal)
(kcal)

Not adjustable by user


Not adjustable by user
Not adjustable by user
Not adjustable by user
Not adjustable by user
Not adjustable by user
Not adjustable by user
Not adjustable by user
Not adjustable by user
Not adjustable by user
Not adjustable by user
Not adjustable by user
Not adjustable by user
Not adjustable by user
Not adjustable by user
Not adjustable by user

37.578
20.4
56.375
39.83
4065.52
5570.2
449
320
0.195
114
10900
1260
495
242
150
100

FUN FACTS
100m WR speed
Marathon WR speed
1 hour TT cycling WR speed
Tour de France avg cycling speed 2012
Distance Paris-Dakar
Distance London-New York
Height of Empire State Building
Height of Eiffel tower
Weight of Salomon S-Lab Sense shoe
Cheetah's speed
Weight of indian elephant
Humming birds's heart rate
Calories in hamburger
Calories in beer bottle
Calories in chocolate bar
Calories in energy gel

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)

You might also like