Closed gustavo-iniguez-goya closed 5 years ago
Same over here. A solution would be highly appreciated.
I am hit by that as well and would like to give fixing this a try, any additional information you can provide would help, e.g. which settings for "Cycling" are actually different than in the other modes?
Hey @centic9 , glad to hear that! This is how I've got it configured:
PODs to search: [x] HR belt [ ] Foot POD [ ] Bike POD [x] Cadence POD [x] Power POD
Advanced settings: (*) Autopause ON
The rest options are as default.
The main difference is the use of PODs. But they're just boolean values in the json downloaded from the server:
"UsePODs": true, "UsePowerPOD": true,
When I was debugging this problem, I thought that maybe it was being written ouf of bounds somewhere, due to the extra screens and options per screen. But no idea really.
Hm, I have the HR Belt POD enabled but none of the others. And two modes have equal settings for PODs, but one works and the other one not.
I am trying to get it set up so I can check for invalid accesses via valgrind, but unfortunately running the full GUI does not work well in this case, so I'll have a go at some unit-tests or a cli-version of openambit to try to reproduce this.
Another approach would be to have a working mode and a not-working mode and one-by-one make them similar, testing the result every time. Unfortunately I likely do not have enough time to do this anytime soon.
Another option would be by trial and error. Here are some steps to download local routes to the watch from a local web server (that work). However, if you don't configure all the paths correctly, you'll end up with no routes on the watch, so I guess that the same goes for the sport modes and I don't want to try it with my own ambit for now 0:)
curl -L "https://uiservices.movescount.com/userdevices/
?blabla..." > /var/www/movescount/
- get the routes if you have any configured, and create a dir for each of them: mkdir /var/www/movescount/routes/1684232
- download the content of the route and save it to /var/www/movescount/routes/1684232/index.json:
curl -L http://uiservices.movescount.com/routes/4003112/?blabla... > /var/www/movescount/routes/1684232/index.json
curl -L http://uiservices.movescount.com/routes/3922915/points?blabla.." > /var/www/movescount/routes/1684232/points
To print the urls and ease the process, movescount.cpp:asyncGet() -> qDebug() << "asyncGet url: " << url;
My idea/workflow here would be to delete json objects (i.e.: screens) from the problematic sport mode, and see if fewer screens on a sport mode solves this problem. Or keep changing/deleting options until it works. Dirty, not beautiful, not low level.. but could give some clues on the right direction.
I found that it is related to "apps" in displays, if I remove all displays which have apps for a sport-mode and resync with Openambit, it starts to work for me.
Finding out why it happens will need a bit more work, maybe an usb-capture from a sync with the official Moveslink application on Windows would help, but I don't know how that can be done.
I actually could find a rather simple fix, please try with the latest version from master and let me know if it also works for you now.
Confirmed, it works on my Ambit 2.
I have configured a sport mode, which if I synchronize with latest sources (10/06/2018), after start a new move and detect gps and the pods, the watch freezes and I need to reset the watch:
sports_mode.txt
The problematic sport mode is "Cycling", which is a custom mode I configured for my needs. If I use the movescount app this sport mode works fine.