pcolby / bipolar

Free your data from Polar FlowSync
GNU General Public License v3.0
115 stars 16 forks source link

Possible Help - some .proto files #3

Closed profanum429 closed 10 years ago

profanum429 commented 10 years ago

Just getting started digging into protocol buffers (new to me...) but here are the .proto files I could pull out of the FlowSync software. They were in polar20.dll.

https://www.dropbox.com/s/w7b9dasbsh5fr2n/polar_proto.tar.gz

Hopefully this helps some!

pcolby commented 10 years ago

:+1:

Very interesting indeed.

The included descriptor.proto looks to be just a copy of that same file from the protobuf source - https://code.google.com/p/protobuf/source/browse/trunk/src/google/protobuf/descriptor.proto

But the rest look pretty interesting.

As an aside, it appears that some of the long binary protobuf strings are in fact complete embedded protobuf messages... will keep looking :smile:

pcolby commented 10 years ago

The timestamp in route tag 9 appears to correspond with the PbSystemDateTime type in types.proto. (Wiki updated accordingly)

dfeist commented 10 years ago

Are there any other .proto files @profanum429? These seem to be constants and common data structures, but nothing here defines messages as such from what I can see.

profanum429 commented 10 years ago

A few more proto files. The exercise_* look to be good. They match up to what you've found so far, especially for the route file.

https://www.dropbox.com/s/eoecaznlj4cg7ca/proto_defs.tar.gz

pcolby commented 10 years ago

Nice! Yep, looks like I could have saved a few hours by waiting :smile: Still, was fun to figure some of it out manually.

Nice to see the obsolete tags too... otherwise I'd always be wondering if those tags would suddenly appear with some feature / device enabled / disabled (eg the footpod).

Anyways, very cool :+1:

pcolby commented 10 years ago

One interesting observation - the route files I was looking at includes GPS altitude... I was thinking it would be barometric. However, I see now that the barometric is in a separate file, which explains why I was seeing small discrepancies between the data files, and the website (the website, presumably, uses the barometrics measurement, or perhaps both combined in some way).

dfeist commented 10 years ago

Great you found those other proto files..now we're talking. There is a way to reserve engineer the binary into a proto files, but seems Polar have helped us on this one.

dfeist commented 10 years ago

Interesting looking through the proto files because you can see features that are planned but are either then decided against or not implemented. e.g. "activity" and "award" watch faces. Also speed/power based phases.

Now, I wonder if this is enabled on V800 but just lacks web-interface for setting it up?

pcolby commented 10 years ago

Thanks guys! :+1: This has been some really helpful info :smile:

The 0.1 release, is out now, so I'll close this issue.

Thanks again!