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.

Dependencies (0)

    Dev Dependencies (9)

    Package Sidebar

    Install

    npm i csafe

    Weekly Downloads

    3

    Version

    0.0.2

    License

    ISC

    Unpacked Size

    20.3 kB

    Total Files

    16

    Last publish

    Collaborators

    • mdeltito