Skip to content

mdeltito/node-csafe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-csafe

Build Status npm version

CSAFE protocol implementation for Node.js.

Description

This library provides an implementation of the CSAFE communication protocol for exercise equipment and performance monitors. It provides an abstraction for the protocol's frame specification, a dictionary of standard CSAFE "commands", and a simple FrameReader for reading/emitting frames from a stream of bytes.

See also node-concept2, which is a HID wrapper that enabled communication with Concept2 monitor devices using this protocol.

Installation

$ npm install --save csafe

Example

import { Command, FrameReader } from csafe

// Create a new 'GetCadance' command buffer.
// The resulting object contains a structured byte array that represents
// the raw command. Frames are automatically byte-stuffed/unstuffed to
// ensure control flags do not appear in the frame contents.
const command = new Command('GetCadence')

// Create a new FrameReader to read frames from a byte stream.
// The FrameReader is an EventEmitter that can read an arbitrary stream
// of bytes, detect the beginning/end of a Frame, and emit a new Frame
// object when a complete frame is received.
const frameReader = new FrameReader

// A readable `stream` is used as an example and typical use-case.
stream.on('data', (data) => {
  frameReader.read(data)
})

frameReader.on('frame', (frame) =>  {
  // ...
})

Testing

$ npm test

License

The project is licensed under the MIT license.

About

CSAFE protocol implementation for Node.js - http://www.fitlinxx.com/csafe/

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published