[Question] No stupid questions - ask anything here
-
@Isotop7 if you create a new application with vscode, you can click here and see the information on the right.
Did not find a vscode entry point in the palette to find the same documentation.

-
@Dimitrios-Kanellopoulos i almost feel obligated to buy the garmin sensors and make it work after all.
-
@brechtvb nvm, i found a shortcut with cmd-key + p and
Suunto Plus: Open Documentation -
Hi @mabe2k!
You can but in most cases you probably shouldn’t. The touch functionality is prone to draining the battery faster than usual and might not be available for all watches.<div>elements (and some other elements) have attributesonTap,onDoubleTapandonLongTapStartthat can be used to register event listeners for touch actions (clicks, double clicks and longpress-then-move respectively). To use these, you need a compatible watch with up-to-date software and touch functionality enabled (select “Touch” to be “On” under “Exercise options” when you start an exercise or under “Control panel” from the pause menu during an exercise). The root element (<uiView>) has an even wider variety of touch action related event listeners, but you can probably get started with the ones mentioned (please feel free to ask a follow-up question about this if you’re interested in these).Here is a basic example of the explained functionality using the built-in
setStylefunction to change the color of a box when it is interacted with:
t.html:
<uiView> <div id="suuntoplus"> <div id="box" style="width: 40%; height: 40%; left: calc(50% - 50%e); top: calc(50% - 50%e); border-radius: 25px; background-color: #FFFFFF;" onTap="setStyle('#box', 'background-color', '#00AAFF')" onDoubleTap="setStyle('#box', 'background-color', '#44CC00')" onLongTapStart="setStyle('#box', 'background-color', '#FF7733')" ></div> </div> </uiView>Please note that you will need a
manifest.jsonwith the mandatory fields and amain.jswithgetUserInterfacefunction defined. Minimal versions of these are provided here for your convenience:
main.js:
function getUserInterface() { return {template: 't'}; }
manifest.json:
{ "name": "Touch", "description": "Touch example", "author": "Your Name", "version": "1.00", "modificationTime": 1770000000, "type": "feature", "usage": "workout", "template": [{"name": "t.html"}] }Hope this helps. Happy coding!
-
My question (before using maybe some third party apps someday ?) : how does battery consumption will be impacted and what is the « bug » risk for the watches ?
I guess it will depend on how apps will be coded and tested ? -
… how does battery consumption will be impacted …
I don’t believe we test the battery consumption of submitted applications. Ultimately, it all depends on how much work the app is actively doing during an exercise.
… what is the « bug » risk for the watches …
Certainly buggy software will be written
You can give written feedback to a developer in the store. Bugs shouldn’t cause any ‘‘risky’’ behaviour in the watch – the firmware usually disables any applications that crash. It may happen that a crashing application leads to a soft-reset of other running applications. -
Is it possible to catch the “Press Lap Button” event in my app? If yes, how? I’ve searched the reference but can’t find it or I am unable to understand it

-
@Isotop7 Good question! This is somewhat hidden in the documentation. You can respond to a lap button press using the onLap callback:
function onLap(input, output) { ... }Also note that the lap button will work automatically, as long as you don’t override its user input handling.
Automatic laps can be handled with the onAutoLap callback:
function onAutoLap(input, output) { ... } -
What are memory restrictions for different watch? How much memory can i use to allocate variables?
To clarify, i want render graph for HR and Altitude, i will store value every second. Do i need to agregate or can i just store all values in array? For 24h event it would be around 200kB if i use Uint8Array.
Of course i will do aggregation as it is not needed to store all values but i want to know how strict limits are.
-
@Tomas5 that will defo crash. It can be hard for computers as well and has 0 benefit storing 1s reso on 200px (or so for example) screen.
You want to be storing max the pixels to show the data. And that is not much .
-
@Dimitrios-Kanellopoulos i agree and that was “overkill” example but knowing hardware limitations can greatly improve how specific algorithm is done. And can prevent crashes cased by using all memory. Without this knowledge it is based only on trial and error which is not great.
Maybe just some recommendations from dev team like don’t use more than 1kB of memory per Suunto Plus app at a time or something like that.
I am thinking about 2 scenarios:
- Do just simple 45minute graph like native one.
- Do 15/30/60/full graph with changeable view by button
But second one will require more memory. At least 4-5 times more than scenario one.
And than second issue i want HR and Altitude and maybe some other graphs. Based on memory restrictions i can make single S+ with changeable view or multiple smaller S+ with just one value.
-
@dimitrios-kanellopoulos To upload the developed SuuntoPlus app the instructions state that you have to apply for the Suunto Partner Program.
If I apply via this link: https://survey.alchemer.eu/s3/90553908/PARTNER-Become-a-Suunto-Partner it seems that it’s still aimed for companies rather than individuals. Is this the correct way to apply?
-
I see in documentation that for getting data for graph i don’t need store anything and i can read
Activity/Log/-1/Move/0/HeartRate/Avg/Data
But it looks like it doesn’t work.
And in section:
In: Native resources in the watch
I see that {Window} doesn’t support “Log” so which part of documentation is incorrect? Or do i understand something wrong?There is even Example with this Hearth Rate graph but seems it doesn’t work in simulator and in watch too. @suuntopartnerteam can you point me in correct direction? Thanks.