I'm configuring my USB2 stick with the parameters specified in the Device Profile document for a combo speed/cadence device. I'm using a standard Garmin GC-10 as the sending unit. I then open a channel and am expecting 4.05 messages per second of data, but only receive a packets sporadically. Here is my log, along with a time for each broadcast event received:
ANT : Chan: 3 0x0000009a EVENT_RX_BROADCAST
ANT : [03],[62],[5f],[73],[9e],[05],[dd],[c6]
ANT : 7.3sec passed RPM: 65.5 MPH: 5.27
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000008 EVENT_RX_FAIL_GO_TO_SEARCH
ANT : Chan: 3 0x0000009a EVENT_RX_BROADCAST
ANT : [03],[62],[5f],[73],[2a],[35],[ef],[c6]
ANT : 12.2sec passed RPM: 88.7 MPH: 7.13
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000008 EVENT_RX_FAIL_GO_TO_SEARCH
ANT : Chan: 3 0x0000009a EVENT_RX_BROADCAST
ANT : [03],[62],[5f],[73],[75],[42],[f6],[c6]
ANT : 3.4sec passed RPM: 123.4 MPH: 9.92
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000008 EVENT_RX_FAIL_GO_TO_SEARCH
ANT : Chan: 3 0x0000009a EVENT_RX_BROADCAST
ANT : [03],[62],[5f],[73],[c4],[4e],[fc],[c6]
ANT : 3.2sec passed RPM: 114.2 MPH: 9.18
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000008 EVENT_RX_FAIL_GO_TO_SEARCH
ANT : Chan: 3 0x0000009a EVENT_RX_BROADCAST
ANT : [03],[62],[5f],[73],[17],[5c],[02],[c7]
ANT : 3.4sec passed RPM: 105.5 MPH: 8.48
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000008 EVENT_RX_FAIL_GO_TO_SEARCH
ANT : Chan: 3 0x0000009a EVENT_RX_BROADCAST
ANT : [03],[62],[5f],[73],[f3],[77],[0d],[c7]
ANT : 7.1sec passed RPM: 92.5 MPH: 7.44
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000008 EVENT_RX_FAIL_GO_TO_SEARCH
ANT : Chan: 3 0x0000009a EVENT_RX_BROADCAST
ANT : [03],[62],[5f],[73],[af],[89],[13],[c7]
ANT : 4.5sec passed RPM: 79.3 MPH: 6.37
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000008 EVENT_RX_FAIL_GO_TO_SEARCH
ANT : Chan: 3 0x0000009a EVENT_RX_BROADCAST
ANT : [03],[62],[5f],[73],[e3],[96],[17],[c7]
ANT : 3.4sec passed RPM: 71.0 MPH: 5.70
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000002 EVENT_RX_FAIL
ANT : Chan: 3 0x00000008 EVENT_RX_FAIL_GO_TO_SEARCH
As you can see, sometimes I get a message every 3 seconds, sometimes its 7, sometimes 12. It's very random. The bike wheel is spinning this whole time, and the data I do receive is correct. I'd like to receive valid data as often as the GC10 sends it, which I have to believe is more often than this.
Is this expected behavior? I expected to see valid data much more often than this. No other messages are received in my callback other than those posted.
Init code looks like this (not necessarily in this order):
ANT_SetChannelId(SPEEDCADENCE_CHANNEL, myDeviceID, SPEEDCADENCE_DEVICETYPE, 0);
...
ANT_SetChannelRFFreq(SPEEDCADENCE_CHANNEL, 57);
...
ANT_SetChannelPeriod(SPEEDCADENCE_CHANNEL, 8086);
...
ANT_AssignChannel(SPEEDCADENCE_CHANNEL, 0, 0);
...
ANT_SetChannelSearchTimeout(SPEEDCADENCE_CHANNEL, 255);
...
ANT_OpenChannel(SPEEDCADENCE_CHANNEL);