csafe
v0.0.2
Published
CSAFE protocol implementation for node.
Downloads
17
Maintainers
Readme
node-csafe
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.