All Projects → jimmykane → fit-parser

jimmykane / fit-parser

Licence: other
Parse your FIT files easily, directly from JS (Garmin, Polar, Suunto)

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to fit-parser

FitFileParser
This provide a swift package to parse Fit File and have access to the information in swift.
Stars: ✭ 21 (-51.16%)
Mutual labels:  garmin, fit
Garmin-FIT
Perl code for reading and conversion of Garmin FIT binary files
Stars: ✭ 66 (+53.49%)
Mutual labels:  garmin, fit
FITfileR
R package for reading data from FIT files using only native R code, rather than relying on external libraries.
Stars: ✭ 33 (-23.26%)
Mutual labels:  garmin, fit
peloton-to-garmin
Convert workout data from Peloton into JSON/TCX/FIT files that can be uploaded to Garmin Connect
Stars: ✭ 121 (+181.4%)
Mutual labels:  garmin, fit
fitparse-rs
Rust library to parse FIT formatted files
Stars: ✭ 20 (-53.49%)
Mutual labels:  garmin, fit
garmin-connect-export
Downloads gpx, tcx or original fit files from your Garmin Connect Account.
Stars: ✭ 42 (-2.33%)
Mutual labels:  garmin, fit
garmin-connect-seed
No description or website provided.
Stars: ✭ 98 (+127.91%)
Mutual labels:  garmin
Flux
Indoor Cycling App for Structured Training
Stars: ✭ 145 (+237.21%)
Mutual labels:  garmin
Infocal
Infocal watchface for Garmin devices
Stars: ✭ 37 (-13.95%)
Mutual labels:  garmin
garmin-uploader
Garmin Connect Python Uploader
Stars: ✭ 97 (+125.58%)
Mutual labels:  garmin
FitDataProtocol
Swift Implementation the Garmin Flexible and Interoperable Data Transfer Protocol.
Stars: ✭ 32 (-25.58%)
Mutual labels:  fit
Polar-Bear-Cnc-Machine
A multipurpose, 2 linear, 1 rotary axis cnc machine concept
Stars: ✭ 375 (+772.09%)
Mutual labels:  polar
OpenHRV
Heart rate variability (HRV) biofeedback with Polar ECG chest straps.
Stars: ✭ 37 (-13.95%)
Mutual labels:  polar
Desk.Fit.Curated
A curated list of products that make life in office healthier and more productive.
Stars: ✭ 17 (-60.47%)
Mutual labels:  fit
d3-radial-axis
A radial implementation of the D3 axis component
Stars: ✭ 23 (-46.51%)
Mutual labels:  polar
TestHrv
Heart rate variability app for Garmin smartwatches
Stars: ✭ 44 (+2.33%)
Mutual labels:  garmin
2D 3D PolarFourierTransform
C++, CUDA, and MATLAB codes for the paper "An Exact and Fast Computation of Discrete Fourier Transform for Polar and Spherical Grid"
Stars: ✭ 31 (-27.91%)
Mutual labels:  polar
garmin health
Python 3.x library to access Garmin Connect Health API
Stars: ✭ 32 (-25.58%)
Mutual labels:  garmin
pirowflo
All-in-one data interface for your Waterrower S4 Monitor or Smartrow
Stars: ✭ 73 (+69.77%)
Mutual labels:  garmin
Sleep-as-Android-Garmin-Addon
Code for both Android part and Garmin part of the Sleep as Android Garmin smartwatch integration
Stars: ✭ 41 (-4.65%)
Mutual labels:  garmin

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',
    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: String
    • cascade: Returned object is organized as a tree, eg. each lap contains a records fields, that is an array of its records (default)
    • list: Returned object is organized as lists of sessions, laps, records, etc..., without parent-child relation
    • both: A mix of the two other modes, eg. records are available inside the root field as well as inside each laps
  • lengthUnit: String
    • m: Lengths are in meters (default)
    • km: Lengths are in kilometers
    • mi: Lengths are in miles
  • temperatureUnit: String
    • celsius:Temperatures are in °C (default)
    • kelvin: Temperatures are in °K
    • fahrenheit: Temperatures are in °F
  • speedUnit: String
    • m/s: Speeds are in meters per seconds (default)
    • km/h: Speeds are in kilometers per hour
    • mph: Speeds are in miles per hour
  • force: Boolean
    • true: Continues even if they are errors (default for now)
    • false: Stops if an error occurs
  • elapsedRecordField: Boolean
    • true: Includes elapsed_time, containing the elapsed time in seconds since the first record, and timer_time, containing the time shown on the device, inside each record field
    • false (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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].