Skip to content

lmuller14/cordova-plugin-antplus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ANT+ plugin for Apache Cordova

This plugin enables communication between Android phone and ANT+ devices

Originally created for MoBio app:

Supported Platforms

  • Android

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

  • event
  • message
  • code

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'
    • name
    • state

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)

About

Cordova plugin based on ANT+ SDK for communication with ANT+ devices

Resources

License

Stars

Watchers

Forks

Packages

No packages published