csafe

0.0.2 • Public • Published

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.

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.

Package Sidebar

Install

npm i csafe

Weekly Downloads

14

Version

0.0.2

License

ISC

Unpacked Size

20.3 kB

Total Files

16

Last publish

Collaborators

  • mdeltito