ANT+ plugin for Apache Cordova
This plugin enables communication between Android phone and ANT+ devices
Originally created for MoBio app:
Supported Platforms
ANT support
In order to use this plugin install the following apps to your phone.
The apps enable the communication with ANT+ OTG modul if you are using it.
Installing
Cordova
$ cordova plugin add cordova-plugin-antplus
API
Methods
searchDevices
Search and discover ANT+ devices.
antplus.searchDevices(comma_separated_device_definition, success, failure)
Description
Function searchDevices
scans for the defined ANT+ devices. Success callback is called every time the a device is discovered.
First parameter is string - comma separated values of device types that the function scans for.
Possible values are:
- HEARTRATE
- BIKE_SPD
- BIKE_CADENCE
- BIKE_SPDCAD
- STRIDE_SDM
- WEIGHT_SCALE
success response parameters
- resultID
- describeContents
- antDeviceNumber
- antDeviceType
- deviceDisplayName
- isAlreadyConnected
- isPreferredDevice
- isUserRecognizedDevice
error response parameters
Example
antplus.searchDevices('BIKE_SPD,BIKE_CADENCE,BIKE_SPDCAD', function(device) {
console.log(JSON.stringify(device));
}, failure);
stopSearchDevices
Terminate scanning for ANT devices.
antplus.stopSearchDevices(success, failure)
subscribeHR
Function subscribeHR
starts listening for Heart rate monitor events.
The first parameter is antDeviceNumber
returned from antplus.searchDevices. Success callback is called every time the an event is generated.
Each event has different type and data. Events are distinguished by the parameter event
.
Example
antplus.subscribeHR(antDeviceNumber, function(response) {
console.log(JSON.stringify(response));
}, failure);
success callback parameters
- antDeviceNumber
- timestamp
- event: 'heartRateData'
- eventFlags
- heartRate
- heartBeatCount
- heartBeatEventTime
- dataState
- event: 'page4AddtData'
- eventFlags
- estTimestamp
- manufacturerSpecificByte
- previousHeartBeatEventTime
- event: 'cumulativeOperatingTime'
- eventFlags
- estTimestamp
- cumulativeOperatingTime
- event: 'manufacturerAndSerial'
- eventFlags
- estTimestamp
- manufacturerID
- serialNumber
- event: 'versionAndModelEvent'
- eventFlags
- estTimestamp
- hardwareVersion
- softwareVersion
- modelNumber
- event: 'calculatedRrIntervalEvent'
- eventFlags
- estTimestamp
- rrInterval
- flag
error callback parameters
- event: 'error'
- message
- code
- antDeviceNumber
unsubscribeHR
Terminate listening for Heart rate monitor events.
antplus.unsubscribeHR(success, failure)
subscribeWGT
Function subscribeWGT
starts listening for Weight scale events.
The first parameter is antDeviceNumber
returned from antplus.searchDevices. Success callback is called every time the an event is generated.
Each event has different type and data. Events are distinguished by the parameter event
.
Example
antplus.subscribeWGT(antDeviceNumber, function(response) {
console.log(JSON.stringify(response));
}, failure);
success callback parameters
- antDeviceNumber
- timestamp
- event: 'bodyWeightBroadcastData'
- eventFlags
- estTimestamp
- bodyWeightStatus
- bodyWeight (note: present only if bodyWeightStatus == 'VALID')
- event: 'manufacturerIdentificationData'
- eventFlags
- estTimestamp
- hardwareRevision
- manufacturerID
- modelNumber
- event: 'productInformationData'
- eventFlags
- estTimestamp
- mainSoftwareRevision
- supplementalSoftwareRevision
- serialNumber
error callback parameters (common for above)
- event: 'error'
- message
- code
- antDeviceNumber
unsubscribeWGT
Terminate listening for Weight Scale events.
antplus.unsubscribeWGT(success, failure)
requestBasicWGT
The methdod requests for the basic weight scale measurement - body weight.
antplus.requestBasicWGT(function(response) {
console.log(JSON.stringify(response));
}, failure);
success callback parameters
- antDeviceNumber
- timestamp
- event: 'basicMeasurementData'
- eventFlags
- estTimestamp
- status
- bodyWeight (kg)
requestAdvancedWGT
The methdod requests for the advanced weight scale data. The user profile is required input.
var userProfile = {
age: 27, // (int)
height: 85, // (int)
gender: 'MALE', // or 'FEMALE' (string)
lifetimeAthlete: false, (bool)
activityLevel: 3 // possible values are 1-6 (int)
};
antplus.requestAdvancedWGT(userProfile, function(response) {
console.log(JSON.stringify(response));
}, failure);
success callback parameters
- antDeviceNumber
- timestamp
- event: 'advancedMeasurementData'
- eventFlags
- estTimestamp
- status
- bodyWeight (kg)
- hydrationPercentage (%)
- bodyFatPercentage (%)
- muscleMass (kg)
- boneMass (kg)
- activeMetabolicRate (kcal)
- basalMetabolicRate (kcal)
subscribeSDM
Function subscribeSDM
starts listening for Stride and Distance Monitor events.
The first parameter is antDeviceNumber
returned from antplus.searchDevices. Success callback is called every time the an event is generated.
Each event has different type and data. Events are distinguished by the parameter event
.
Example
antplus.subscribeSDM(antDeviceNumber, function(response) {
console.log(JSON.stringify(response));
}, failure);
success callback parameters
- antDeviceNumber
- timestamp
- event: 'instantaneousSpeedData'
- eventFlags
- estTimestamp
- instantaneousSpeed
- event: 'instantaneousCadenceData'
- eventFlags
- estTimestamp
- instantaneousCadence
- event: 'cumulativeDistanceData'
- eventFlags
- estTimestamp
- cumulativeDistance
- event: 'strideCountData'
- eventFlags
- estTimestamp
- cumulativeStrides
- event: 'computationTimestampData'
- eventFlags
- estTimestamp
- timestampOfLastComputation
- event: 'latencyData'
- eventFlags
- estTimestamp
- updateLatency
- event: 'sensorStatusData'
- eventFlags
- estTimestamp
- sensorLocation
- batteryStatus
- sensorHealth
- useState
- event: 'calorieData'
- eventFlags
- estTimestamp
- cumulativeCalories
- event: 'manufacturerIdentificationData'
- eventFlags
- estTimestamp
- hardwareRevision
- manufacturerID
- modelNumber
- event: 'productInformationData'
- eventFlags
- estTimestamp
- mainSoftwareRevision
- supplementalSoftwareRevision
- serialNumber
- event: 'manufacturerSpecificData'
- eventFlags
- estTimestamp
- hexString
error callback parameters (common for above)
- event: 'error'
- message
- code
- antDeviceNumber
unsubscribeSDM
Terminate listening for Stride and Distance Monitor events.
antplus.unsubscribeSDM(success, failure)
subscribeBike
Function subscribeBike
starts listening for Speed and Cadence Monitor events.
The first parameter is antDeviceNumber
returned from antplus.searchDevices. Second parsmeter is circumference
(millimeters). Third parameter is deviceType
which defines the required bike sensor. Use one of the following values: 'BIKE_SPD' for the speed sensor only, 'BIKE_CADENCE' for the cadence sensor only, '__BIKE_SPDCAD__' for the combined speed and cadence sensor. Success callback is called every time the an event is generated.
Each event has different type and data. Events are distinguished by the parameter event
.
Example
antplus.subscribeBike(antDeviceNumber, function(response) {
console.log(JSON.stringify(response));
}, failure);
success callback parameters - common for all types of speed & distance sensors
- antDeviceNumber
- timestamp
- event: 'calculatedSpeedData'
- eventFlags
- estTimestamp
- calculatedSpeed
- event: 'calculatedAccumulatedDistanceData'
- eventFlags
- estTimestamp
- calculatedAccumulatedDistance
- event: 'cumulativeRevolutionsData'
- eventFlags
- estTimestamp
- timestampOfLastEvent
- cumulativeRevolutions
- event: 'cumulativeOperatingTimeData'
- eventFlags
- estTimestamp
- cumulativeOperatingTime
- event: 'manufacturerAndSerialData'
- eventFlags
- estTimestamp
- manufacturerID
- serialNumber
- event: 'versionAndModelData'
- eventFlags
- estTimestamp
- hardwareVersion
- softwareVersion
- modelNumber
- event: 'batteryStatusData'
- eventFlags
- estTimestamp
- batteryVoltage
- batteryStatus
- event: 'motionAndSpeedData'
- eventFlags
- estTimestamp
- isStopped
- event: 'deviceStateChange'
success callback parameters - common for the combined sensor only
- antDeviceNumber
- timestamp
- event: 'calculatedCadenceData'
- eventFlags
- estTimestamp
- isCombinedSensor: true
- calculatedCadence
unsubscribeBike
Terminate listening for Speed and Cadence Monitor events.
antplus.unsubscribeBike(success, failure)