Skip to content

andrewhao/quickcadence

Repository files navigation

quickcadence

Accelerometer sample graphs

Circle CI Code Climate

Cadence detection for event-driven accelerometer data

Usage

QuickCadence is for Bacon.js

var QuickCadence = require('quickcadence')

// On a Node `streams2` stream, or BaconJS `Observable` stream.
// Returns a BaconJS Observable.
//
// The stream must be object that matches the schema:
// {x: <xAccelValue>, y: <yAccelValue>, z: <zAccelValue>, time: <Date>}
var cadenceStream = QuickCadence.pipe(stream);
cadenceStream.onValue(function(val) { console.log(val) });

// Values emitted are integers of the current cadence calculation.
// `93.22`
// `88.11`
// `79.25` ...

RxCadence is for RxJS

var RxCadence = require('quickcadence')

// The stream must be an RxJS Observable that emits values that match
// the following schema:
// {x: <xAccelValue>, y: <yAccelValue>, z: <zAccelValue>, time: <Date>}
var cadenceStream = RxCadence.pipe(stream);
cadenceStream.subscribe(function(val) { console.log(val) });

// Values emitted are integers of the current cadence calculation.
// `93.22`
// `88.11`
// `79.25` ...

Limitations

Power is matched off of the y acceleration axis, which works well for wrist-mounted accelerometers (watches). Further work can be done to generalize this algorithm to all-axes calculations.

Data harness for your accelerometer data

Put CSV dump of files with other csv files in the samples directory.

Start the dev server to load the data harness:

$ npm start
$ open http://localhost:8080/reference/index.html

Build

$ npm run build

Assets are generated into the builds/ directory.

About

Cadence detection (pedometer) library for accelerometers

Resources

License

Stars

Watchers

Forks

Packages

No packages published