This simple library allows you to read your Suunto XML files in any AngularJS application. I did this lib because I felt too limited by the proprietary tool provided by Suunto and wanted to build my own custom dashboards (annual temperature variation, impact on dives duration...).
npm install angular-suunto-parser
Get DM5Parser using AngularJS dependency injection and then simply pass it the files and a scope. It returns a promise resolved with an array of dives corresponding to each file in parameter:
// Add the dependency to your module:
angular.module('your_module_name', ['fmd.suunto'])
...
// Inject DM5Parser and you can then use it like this:
DM5Parser.parseFiles(files, $scope).then(function (dives) {
...
});
Detailed example available here.
- The XML contains your device Serial Number. This library will automatically replace it by "XXXXXXXX" to preserve your privacy.
- I have absolutely no clue on what the
SampleBlob
field stands for. It looks like an encrypted string. I don't know what is inside but it may be used to fingerprint your device. As a result, the library totally removes this field.
Since the schema of the XML files is not available and in order to prevent parsing issues we force some fields to be Array
. Indeed the parser relies on X2JS and if a tag appears only once it will be parsed to an Object
. On the other hand if the same tag appears twice or more the parser understands it must be parsed to an Array
.
Dates and numerical fields are casted directly if possible. If not, the String
value is returned.
Feel free to open a PR to get your Open Source project listed here:
I don't own any right on Suunto or Suunto DM5. All rights belong to their's rightful owner/owners. No copyright infringement intended. I only made this project as I am a big fan of Suunto and wanted to extend DM5 capabilities.