[Question] No stupid questions - ask anything here
-
@Nikolai-Simonov I knew it… I knew it was stupid
I’m not familiar with VS Code… -
@SuuntoPartnerTeam Why wouldn’t it work, @egika is doing basically the same as this example in documentation:
<eval input="/Settings/Unit/UnitsMode" outputFormat="keyValue 0=Metric!|1=Imperial!" />. Just with icon font and different texts inkeyValueformatter. This for example works fine in my Vertical:<div class="f-ico" style="top:calc(50% - 50%e);left:calc(50% - 50%e);"> <eval input="/Fusion/Altitude/PressureTrend" outputFormat="keyValue 1=|2=|3=|4=|5=|6=|7=|8=|9=" /> </div>If input value is not one of the expected values for some reason, changing formatting method doesn’t help.
-
I built an app that measures all my swim drills (when arms aren’t used), but I discovered that the distance measured by the app cannot be added to the distance tracked by the device… so it’s not possible to save the swim workout with the combined distance of the automatically recorded data and the drills tracked by the app.
Is that correct? -
@suuntopartnerteam In the examples I noticed that I could pass parameters to the html file from the getUserInterface() function.
I’m trying to pass the default index of a uiViewSet like this:
main.js
function getUserInterface(input) { return { template: "t", uiViewSet:{index: input} }; }t.html
<uiView onLoad="navigate('#uiViewSet1', {zapp_uiViewSet_index});">This works fine in the simulator, but the watch crashes immediately when I select the app, The logs show a syntax error 5 as well.
If I add{zapp_uiViewSet_index}to a textfield, I noticed that te simulator resolves it to a value like 1, 2 etc, while the watch resolves it as the string “{zapp_uiViewSet_index}”Is there any way to achieve this by passing parameters to the html file?
-
@Raimo-Järvi said in [Question] No stupid questions - ask anything here:
@SuuntoPartnerTeam Why wouldn’t it work, @egika is doing basically the same as this example in documentation:
<eval input="/Settings/Unit/UnitsMode" outputFormat="keyValue 0=Metric!|1=Imperial!" />. Just with icon font and different texts inkeyValueformatter. This for example works fine in my Vertical:<div class="f-ico" style="top:calc(50% - 50%e);left:calc(50% - 50%e);"> <eval input="/Fusion/Altitude/PressureTrend" outputFormat="keyValue 1=|2=|3=|4=|5=|6=|7=|8=|9=" /> </div>If input value is not one of the expected values for some reason, changing formatting method doesn’t help.
Hi Raimo!
Good to see you here!Just found the difference: I was using class=“f-ico-l” (no idea if there ever was an L version of the icons.
This does not work. with class=“f-ico” it is working as designed. -
Hello,
First of all, thank you for giving us the opportunity to create our own apps !
I’d like to create an improved ghost runner app, with the possibility to choose a previous activity (or a gpx file from a friend from example), and run against this activity.
Is there a way to retrieve the GPX data from the navigated route ?
I saw that I can use /Navigation/Routes/NavigatedRoute/DistanceToDestination or /Navigation/Routes/NavigatedRoute/Position to get the position relative to the navigated route, but I would also need the timestamps of the navigated route.Is there a way to achieve that ?
Thanks
-
I’m having trouble getting this to work on my device
. I then found this comment to see if I can figure it out but no.
It works fine in the simulator, but not on my Suunto Race S.Here’s the relevant part of my code:
<uiViewSet id=“prevIntSet” onTap=“$.put(‘/Zapp/{zapp_index}/Event’, 2, null, ‘int32’)”>In my JavaScript, I handle event ID 2 and update a variable that switches between different uiViewSet views. However, it seems like the tap interaction isn’t triggering anything on the watch.
I also checked the settings on my Race S but couldn’t find anything that might be blocking this behavior.
One thing I noticed: when the screen dims, tapping doesn’t seem to do anything at all—except on the map screen, where it wakes the display. This makes me wonder if there’s a setting or limitation that completely disables tap events in a SuuntoPlus app.Has anyone encountered this or knows if there’s a specific setting I might be missing?
Thanks in advance!
-
@surfboomerang No comment on getting the runtime token working outside of <eval>, but in case it’s of any help, an alternative, more standard solution might be:
function getUserInterface() { output.index = ??? // here or somewhere else' return { template: "t" }; }and
<uiView onLoad=" function change(idx) { navigate('#uiViewSet1', idx) } $.get('Zapp/{zapp_index}/Output/index', change); "> -
@Thibault-B. Are you absolutely sure you have touch enabled? Sounds like you are doing an exercise which has the touch options ‘Map Only’, ‘On’ or ‘Off’ and yours is on ‘Map Only’. You can switch it to ‘On’ either via ‘Exercise options’ before starting the exercise or by holding the down button during the exercise to open the control panel.
And just for clarity, this works on the original Race:
<uiViewSet id="uiViewSet1" onTap="$.put('/Zapp/{zapp_index}/Event', 2, null, 'int32')" style="top: 50%; left: 50%; width: 150px; height: 150px; background-color: red;"> <div>lol</div> <div>lel</div> </uiViewSet>function onEvent(_inp, _out, event) { if (event == 2) { next("#uiViewSet1", event); } }As an aside, this is also why using touch events is a bit problematic, since they often aren’t ‘On’ for many watch users.
-
@suuntopartnerteam I am working with a sprite map currently and have two approaches where I would need some guidance on:
Is it better to have a bigger sprite map with different permutations of individual elements or is it better to have a smaller map with each element as individual sprite but more
<img>tags in the HTML? -
@SuuntoPartnerTeam Thanks for your reply.
I tested your code in a fresh default project created from scratch. It works correctly in the simulator, but still not on my Suunto Race S.
I also reviewed the watch settings. The only options that seem potentially related to the touchscreen are “Do Not Disturb” and display settings (AOD, full wake-up), and both are configured correctly.
In my case, the touch event is not critical—it’s mainly a nice-to-have feature used to manually cycle through data, which already rotates automatically every few seconds.