openambitproject / openambit

openambit
281 stars 82 forks source link

Ambit 3: Add support to sync routes created in movescount #165

Open nabadvin opened 7 years ago

nabadvin commented 7 years ago

Hi there! I have successfully built the master tree and it's running fine on Ubuntu 16.04 with my Ambit3 Run, thanks a lot! But I noticed that the routes that I manually create in movescount map don't get downloaded to the watch (to be used with the function "run a route"). Having these synced would be wonderful! Thank you very much.

AitorMedrano commented 7 years ago

Agreed that this functionality would be extremely useful and allow you to fully detach from the Windows/mobile app. Thanks!

haphaeu commented 6 years ago

+1 I'm interested in syncing routes and POIs from the database I have in movescount.

adriangalera commented 6 years ago

+1 the mobile app sucks. I would like to do the route sync with my mobile. Maybe we can port the lib to Android once it is implemented?

marguslt commented 6 years ago

Route sync is already supported, I guess this issue can be closed should be there, it's not working? @adriangalera , regarding Android, check #179 & https://github.com/starryalley/AmbitSync ( If you are willing to drop BT and use a cable )

vdca commented 5 years ago

Route sync (download from web into watch) is not working for me either (Ambit3 on Ubuntu 18.04, Openambit 0.4). Can anyone confirm it is working for them?

centic9 commented 5 years ago

Please note that there is a separate setting for "Sync navigation (from Movescount)", please try to enable it and re-report if it works for you then.

vdca commented 4 years ago

I have enabled the setting "Sync navigation (from Movescount)", but it still does not sync any route from movescount.

centic9 commented 4 years ago

Hm, just tried it once more and it work fine, routes were added and removed correctly.

Not sure what the difference is for you, can you post the output of the command ambitconsole which comes with openambit?

vdca commented 4 years ago

The command ambitconsole gives:

------running ambitconsole------
Device: Suunto Ambit3 Peak, serial: ECF0325110001C00
F/W version: 2.4.17
Current charge: 100%

When building openambit from source I do notice an error building wireshark_dissector (related to glib), but I'm not sure whether this is related to the route-sync issues.

rnorris commented 4 years ago

NB I don't think Ambit3 devices have support for routes ATM. If one looks at the current ambit3 driver the Navigation read/write functions are set to NULL so it won't do anything.

See src/libambit/device_driver_ambit3.c - currently lines 128+129.

I don't know if anyone has simply tried reusing the existing Ambit functions with an Ambit3 to see what happens. I might get around to trying at least the read option, if that works we'll see if I'm brave enough to try the write function... (which is what I really want to use).

vdca commented 4 years ago

Thanks for looking into that, at least now I know that navigation read/write functions are not currently supported for the Ambit3. I'll try to look into it and do some careful testing.

rnorris commented 4 years ago

I've just tried to use the existing navigation_read function with my Ambit 3 (Sport), which has 1 route on it that I've previously got on to the watch (via uploading a GPX route into Movescount.com and then syncing it to the watch using the Suuntu Mobile App on Android over BlueTooth).

Debugging into libambit it comes back with a waypoint count of 0, so I expect the Ambit 3 has different binary protocol(s) for getting the route information.

vdca commented 4 years ago

Good to know, thanks for informing about the test.

Side note: you mention that you could sync a route from movescount.com into the ambit3 via the Suunto mobile app; however, I read that syncing routes to the ambit3 is not yet officially supported by the suunto app. Although unrelated to this issue: how did you manage?

rnorris commented 4 years ago

@vdca

Ah yes, this was using the older Suuntu Movescount app https://play.google.com/store/apps/details?id=com.suunto.movescount.android

But even then the syncing is quite unreliable (claims synced but very often any routes wouldn't be)

NB The latest release of the 'Suuntu App' just the other day does now claim Ambit 3 support. https://play.google.com/store/apps/details?id=com.stt.android.suunto&hl=en_GB Not that I've tried it.

marguslt commented 4 years ago

NB The latest release of the 'Suuntu App' just the other day does now claim Ambit 3 support.

Ambit3 & Traverse support in Suunto mobile app is really basic, limited to activity sync (from watch), GPS SGEE update & phone notifications. And that's about it - no support for routes/pois, settings, sport modes, Ambit3 workouts.

App beta reached that level about a year ago (October 2018), some bugs were ironed out and stability was improved over next few months and at the beginning of 2019 those features were enabled in production releases. But there have been no noticeable changes since then. Though unlike in Movescount app, background sync itself in Suunto App works quite well, at least on Android.

Gerold-R commented 4 years ago

@morris

Synced routes to an Ambit 3 from Movescount are stored at address $00005000 (start and end waypoint of routes; route name, wp name, lat, lon, date etc.) and at address $0014C080 all other route data. The number of routes saved on the watch is stored at address $0014C084 (4 Bytes). The command to read this part of memory is $0B17, write with $0B16.

Haven't fully analyzed the data structure but if someone is interessed I can publish what I know so far.

I don't use OpenAmbit, so I don't need it.

hellp666 commented 4 years ago

Haven't fully analyzed the data structure but if someone is interessed I can publish what I know so far.

Please post

myadzel commented 4 years ago

252