Wednesday, December 12, 2012

Suunto Ambit on Linux part 2

ok, on the windows side of things, I'm also learning quite a lot. I downloaded the usblyzer program. It's a 30 day free trial tool that does wonders. I also downloaded the free snoopy pro. It does the same thing and it's free, but the usblyzer interface is better. If I take more than 30 days with this project,I will switch to snoopy pro.

Here's a screen shot at some of the info I can get for the communication between the suunto ambit and my computer:

See the selected item. It's a packet sent to the computer (in). I still can't understand the data exhange but there are some packets that correspond to my set waypoints because they are in plain text. I'm assuming there's a request for data of a certain type, say for example waypoints and ambit replies with all the waypoints following some protocol I now need to determine.

The goal is to send a request and receive something back. I will try to send a request for battery level and see what comes back. But what (if any) is the command for battery level. I suppose that once the data exchange is complete and the watch is only connected to the computer the only major thing going on is the battery level information coming from the watch to the computer, perhaps after a request from the computer...

Another thing to note is accomplished by leaving the sniffer on while you disconnect and reconnect the watch. From this you can see the exchange of data where the manufacturer name (Suunto) is transmitted and the model number as well as the serial number. You can also see that the watch will declare what seems to be the current firmware name "Bluebird". See below:

 The last interesting thing to note is a transaction of a route I created on a recent visit to Dubai. There's an entry from the ambit back to the computer with each of the way points on the route. See below:

If only I can find out more of the structure, we will have a little more...
Note also the record ID for the device which is decimal 63 or hex 3F. This is needed because all transactions need to start with this value.

No comments: