Custom ANT Broadcast using GenericChannel

Hello, 

Could anyone please provide some help on how to set up simple communication with ANT (not ANT+)?
I am very new to MonkeyC and would appreciate some help.

I currently have a simple data field deployed to the IQ store that right now only displays a simple runner ID. Right now, all I need is for the ANT payload to broadcast that 8-character long string over any ANT channel. 

Link to my app (currently does nothing):
https://apps.garmin.com/apps/6329a0c7-937b-490a-a8f7-f0f3ed859ed2

There is some information about the project on the data field description, but right now it doesn't do any communication. I want to just use the GenericChannel feature to broadcast the data.

I have posted a forum question before, but that was regarding BLE, not ANT.

What is the simplest way to send a simple 8-byte string over ANT with the fastest possible frequency? I know ANT+ is 4Hz but ANT is 200Hz, and I ideally would like more than 10Hz.
I have looked at the GenericChannel sample, but it is very long and honestly a little confusing, I feel like it could be simpler.

Any help is greatly appreciated!

  • Yes that is the one. Okay that's great to know, thank you. I assumed as much but I had to consider the USB stick as a potential failure point, although it is still probably just my code ha ha. Yeah I do need it faster than 1Hz, that's kinda important, I'm aiming for an accuracy of .1 seconds. Is there another method where I can have some faster callback running in the background more often? I also have my Pi wildcarding for any signals. Once I can get a custom signal sent I'll definitely add a device profile to minimize other interference.

  • Is there another method where I can have some faster callback running in the background more often?

    A CIQ data field can utilize a background process, but the background process can only run once every 5 minutes :/ (when it's run on demand - there are other ways to launch the background process in response to certain events, but that won't help you).

    If you implement a CIQ device app (a fully-fledged app which replaces an activity instead of augmenting an activity), you can run code once every 50 ms [^], but it seems that for your purposes, you need a data field.

    [[*] using a timer:

    developer.garmin.com/.../Timer.html

    Okay that's great to know, thank you. I assumed as much but I had to consider the USB stick as a potential failure point

    Keep in mind I'm just speculating. I don't have any direct experience with this stuff except that - similar to flocsy - I wrote an app which communicates with an ANT+ sensor using Ant.GenericChannel. And I read some of the ANT documentation and looked at some samples on the internet haha.

  • I can switch to a device app, which is probably what I'll need now that I think about it. I can have the data custom save as a run activity. Thank you for your help! I may come back to this forum if I have any more questions. I'll be studying C and MonkeyC more too so I'm not bothering people who actually know how to code like you and flocsy :) Thanks again!