npm.io
0.1.25 • Published 5 years ago

ant-plus-ste

Licence
MIT
Version
0.1.25
Deps
1
Size
290 kB
Vulns
0
Weekly
0

ant-plus

A node.js module for ANT+

Prerequisites

Libusb is included as a submodule. On Linux, you'll need libudev to build libusb. On Ubuntu/Debian: sudo apt-get install build-essential libudev-dev

Windows

Use Zadig to install the WinUSB driver for your USB device. Otherwise you will get LIBUSB_ERROR_NOT_SUPPORTED when attempting to open devices.

Install

npm install ant-plus

usage

var Ant = require('ant-plus');
Create USB stick
var stick = new Ant.GarminStick3;
Create sensors
var sensor = new Ant.HeartRateSensor(stick);
Attach events
sensor.on('hbData', function (data) {
    console.log(data.DeviceID, data.ComputedHeartRate);
});

stick.on('startup', function () {
    sensor.attach(0, 0);
});
Open stick
if (!stick.open()) {
    console.log('Stick not found!');
}
scanning
sensor.on('hbData', function (data) {
    console.log(data.DeviceID, data.ComputedHeartRate);
});

stick.on('startup', function () {
    sensor.scan();
);

if (!stick.open()) {
    console.log('Stick not found!');
}

Important notes

  • never attach a sensor before receiveing the startup event
  • never attach a new sensor before receiving the attached or detached event of the previous sensor
  • never detach a sensor before receiving the attached or detached event of the previous sensor

Objects

GarminStick2 and GarminStick3
properties
maxChannels

The maximum number of channels that this stick supports; valid only after startup event fired.

methods
is_present()

Checks if the stick is present. Returns true if it is, false otherwise.

open()

Tries to open the stick. Returns false on failure.

openAsync(callback)

Tries to open the stick, waiting for it if not available right now. Returns a cancelation token with a method cancel you can use to stop waiting. callback is a funcion accepting a single Error parameter and it will be called when the stick is open (with the parameter undefined) or in case of failure (with the parameter set to the error).

close()

Closes the stick.

events
startup

Fired after the stick is correctly initialized.

shutdown

Fired after the stick is correctly closed.

Common to all Sensors
methods
attach(channel, deviceId)

Attaches the sensors, using the specified channel and deviceId (use 0 to connect to the first device found).

detach()

Detaches the sensor.

events
attached

Fired after the sensor is correctly attached.

detached

Fired after the sensor is correctly detached.

Common to all Scanners
methods
scan()

Attaches the sensors and starts scanning for data from every devices in range.

detach()

Detaches the sensor.

events
attached

Fired after the sensor is correctly attached.

detached

Fired after the sensor is correctly detached.

HeartRate
events
hbData

Fired when new heartbeat data is received.

SpeedCadence
methods
setWheelCircumference(circumferenceInMeters)

Calibrates the speed sensor. Defaults to a wheel with diameter of 70cm (= 2.199)

events
speedData

Fired when a new wheel speed is calculated

cadenceData

Fired when a new pedal cadence is calculated

StrideSpeedDistance
events
ssdData

Fired when new data been calculated.

BicyclePower
events
powerData

Fired when new power has been calculated.

FitnessEquipment
events
fitnessData

Fired when new data is received.