/SDAntplus

A Nordic SoftDevice powered ANT+ library for the Arduino framework, intended to coexist with Adafruit Bluefruit52

Primary LanguageC++OtherNOASSERTION

SDAntplus

A Nordic SoftDevice powered ANT+ library for the Arduino framework, intended to coexist with Adafruit Bluefruit52, using a mixture of C- & C++-programming language files.

Credits

Related works

  • There is a similar purpose library: antplus-arduino, currently most suitable for external ANT radios, driven by serial interface commands. That library aims to be vendor and framework neutral and does not make any assumption about Bluefruit cooperation. Depending on use case, that library might be more useful for you.
  • There is a Teensy library 'antplus', which seems to lack a maintainer, but it still can be a useful resource, or just inspiration for your coding efforts.

Dependencies and assumptions

  • This library is assumed to be used with a nRF52 Series SoC from Nordic Semiconductor. It has been developed and tested using an nRF52840 SoC from Adafruit: Feather nRF52840 Express
    • Note that most of the commercially available Arduino compatible SoC comes with no ANT+ softdevice installed. Adding such softdevice and modifying the booloader, etc. is the responsibility of the user. See, for example this blog entry about the necessary changes: S340 SoftDevice & Adafruit nRF52840 Express Feather
  • This library is assumed to be used with the Arduino programming framework. It relies on the <Arduino.h> provided system classes and libraries. Adaption to other frameworks, such as mbed, relies on the availability of the Bluefruit library, see next major bullet.
  • This library assumes the presence of a combined BLE+ANT multiprotocol softdevice from Nordic Semiconductor. It has been developed and tested against the S340 Softdevice, but it should be easy to use with other similar SoftDevices, such as S312 or S332.
  • This library is intended to be piggy-backed onto the Adafruit Bluefruit52 libray, to provide concurrent multiprotocol capabilities with both BLE and ANT+. As a consequence of this it assumes a FreeRTOS environment.

W.I.P.

  • Several ANT+ profiles are incomplete, or completely missing.
    • Some of the profiles support only RX mode currently, for example