Thanks. That confirms my observations. It would be a good thing to have all docs synced as much as possible.
I've seen quite a few similar new comer posts on this forum that were essentially looking to achieve the same goal we have, that is, to put up a simple C++ code that get the heart rate data from a HR device. Just the "secrecy" requirement around the network keys (when using ANT+ instead of ANT) can create quite some pain to new comers. As long as we need a developer account on here to access the said documentation and sources, I don't see the purpose of sort of trying to hide the keys further... You get a dev account, you can see it. At least, the network keys which are non-zeroed should be indicated in the profile PDF documents, along with the code examples. A Non Disclosure Agreement signed by all developers is possibly more what is required here.
Anyway, back to the point...
My interest in the older examples found in the profile PDF documentation is that it was more in-line with the kind of code I wanted to implement. That is, simple linear C/C++ code without much of the multi-thread message handling infrastructure... which I don't not care about as a high-level integrator developer. We just want an, as much as possible, "Hello World" type of code interface with the ANT+ libraries. Something like this:
ANT_Data_struct MyANTData;
main()
{
Ant_Lib MyANTObject = Create_ANT_Object(some params if required here);
MyANTObject.Open(params such as USB port #, channel id, network kety etc.);
Loop while not done
{
MyANTData = MyANTObject.GetDataPage(pagenum);
}
MyANTObject.Close();
}
The thread pooling and storing data coming from the ANT device would be inside the object MyANTObject, and hidden from the high level code. By calling the GetDataPage(pagenum), the library effectively returns the next stored data page on a buffer.
That's how I though we would do it before digging in all the documentations, etc. It may be just me, but this library seems more complicated than it should for it's end-users, the application developers. Granted, it is always good to provide more low-level calls for those who want to control every details, but the developers should have the choice. Am I just misinterpreting the way the ANT Library works?
Thank you for your attention.
Regards