Skip to content
mvillalba edited this page Oct 7, 2011 · 4 revisions

Warning: Most of what you see on 2.x versions is pipe-dream meets over-engineering meets sleep-deprivation and is unlikely to be implemented unless I ever have a use for it (which is unlikely, to say the least).

0.1

Focus: Core ANT

  • Core ANT

0.2

Focus: ANT-FS

  • Core ANT-FS
  • FR310XT download demo
  • USB2 stick driver

0.3

Focus: ANT+

  • Core ANT+
  • ANT+ device profiles (master and slave)
  • ANT+ device simulator (uses profiles)

0.4

Focus: CLI tools

  • Core CLI utils (helper classes, mostly)
  • CLI Stick utils (device finder, capabilities interrogator, system reset, etc)
  • CLI data serializer for ANT+ profiles (ant-plus* CLI downloader/uploader for ANT-FS devices
  • Stick finder (config utility)

0.5 / 1.0

Focus: Tweaks and drivers

  • Refactor/re-organize sources (all of node and event, primarily)
  • Fix API naming inconsistencies
  • Write more and better documentation
  • Write more tests/check test coverage
  • Drivers for other ANT sticks (Nordic Semiconductors?)
  • Configuration profiles for ANT-FS devices (FR*, BP*, etc)
  • Device support list for ANT+ and ANT-FS devices.

0.6 / 1.1

Focus: ?

  • ?

2.0

Focus: Python 3 and IPC

  • Pure Py3K implementation (without backwards compatibility)
  • ANT daemon, and daemon-based driver (share a single stick among several programs)
  • Higher level constructs for some things (like setting up a channel)
  • Node sharing via ANT daemon

2.1

Focus: Improved IPC

  • VirtualNode, a Node poser class that actually uses a subset of all resources a Node has (say, 2 channels, 1 netkey, etc)
  • Node daemon support for VirtualNode (antd?)
  • Network key sharing between VirtualNodes (most nodes will most likely want the same net keys)

2.2

  • Resource pooling of sorts; perhaps implemented as a "SuperNode", or "HyperNode", allowing the creation of Nodes capable of handling more resources than allowed by single stick. Our "SuperNode" could simply be a Node superset class that provides multi-node access via added methods, but still allows ordinary clients to pretend they are running a simple Node.
  • SuperNode support for VirtualNode so that VirtualNodes can be constructed using the resources of multiple sticks.

2.3

Focus: Cross-language access

  • C-lang library to provide core functionality via ANT daemon (so it can be used from Java/C/.NET/etc).
  • Java wrapper for C lib
  • C++ wrapper for C lib
  • .NET wrapper for C lib

2.4

Focus: Daemon IPC

  • Make ANT daemon communicate via AMQP broker.
  • Make ANT daemon capable of sharing its resource pool via AMQP, so that a connecting client doesn't really know the sticks it is driving are on different machines.
  • Make it so that ANT daemon clients can actually discover and pick a stick if they need to.

Miscellena

There are some features I don't know when to implement, these go here:

  • Frequency hopping
  • Some channel configurations described in the ANT specification
  • Data playback/simulation (ANTware II, sort of). That is, using a previously captured (or generated data log (say, HRM data), and an ANT stick, pose as an ANT+ HRM device.
Clone this wiki locally