fit-file-parser
v1.20.0
Published
Parse your .FIT files easily, directly from JS (Garmin, Polar, Suunto)
Downloads
5,489
Readme
fit-file-parser
Parse your .FIT files easily, directly from JS. Written in ES6. (Hope to change)
Install
$ npm install fit-file-parser --save
How to use
See in examples folder:
// Require the module
var FitParser = require('./../dist/fit-file-parser.js').default;
// Read a .FIT file
var fs = require('fs');
fs.readFile('./example.fit', function (err, content) {
// Create a FitParser instance (options argument is optional)
var fitParser = new FitParser({
force: true,
speedUnit: 'km/h',
lengthUnit: 'km',
temperatureUnit: 'kelvin',
pressureUnit: 'bar', // accept bar, cbar and psi (default is bar)
elapsedRecordField: true,
mode: 'cascade',
});
// Parse your file
fitParser.parse(content, function (error, data) {
// Handle result of parse method
if (error) {
console.log(error);
} else {
console.log(JSON.stringify(data));
}
});
});
API Documentation
new FitParser(Object options)
Needed to create a new instance. options is optional, and is used to customize the returned object.
Allowed properties :
mode
: Stringcascade
: Returned object is organized as a tree, eg. each lap contains arecords
fields, that is an array of its records (default)list
: Returned object is organized as lists of sessions, laps, records, etc..., without parent-child relationboth
: A mix of the two other modes, eg.records
are available inside the root field as well as inside each laps
lengthUnit
: Stringm
: Lengths are in meters (default)km
: Lengths are in kilometersmi
: Lengths are in miles
temperatureUnit
: Stringcelsius
:Temperatures are in °C (default)kelvin
: Temperatures are in °Kfahrenheit
: Temperatures are in °F
speedUnit
: Stringm/s
: Speeds are in meters per seconds (default)km/h
: Speeds are in kilometers per hourmph
: Speeds are in miles per hour
force
: Booleantrue
: Continues even if they are errors (default for now)false
: Stops if an error occurs
elapsedRecordField
: Booleantrue
: Includeselapsed_time
, containing the elapsed time in seconds since the first record, andtimer_time
, containing the time shown on the device, inside eachrecord
fieldfalse
(default)
fitParser.parse(Buffer file, Function callback)
callback receives two arguments, the first as a error String, and the second as Object, result of parsing.
Contributors
All started thanks to Pierre Jacquier
Big thanks to Mikael Lofjärd for his early prototype. See CONTRIBUTORS.
License
MIT license; see LICENSE.
(c) 2019 Dimitrios Kanellopoulos