Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

You are here: Forum Home → ANT+ Forums → ANT+ Heart Rate Monitor → Thread

   

Garmin HR belt message transmission rate

Rank

Total Posts: 7

Joined 0

PM

I have configured my USB1 stick to receive real time data from my Garmin HR belt following the example code in the HR profile document. Everything seems to work ok except I only seem to be receiving a HR data message once every 4 seconds see below:

42286.1 164 9 78 0 4 0 116 143 218 147 200 54 171
42286.4 164 3 64 0 1 2 228
42286.6 164 3 64 0 1 2 228
42286.8 164 3 64 0 1 2 228
42287.1 164 3 64 0 1 2 228
42287.3 164 3 64 0 1 2 228
42287.6 164 3 64 0 1 2 228
42287.8 164 3 64 0 1 2 228
42288.1 164 3 64 0 1 2 228
42290.0 164 9 78 0 4 0 164 160 217 164 204 55 101
42290.3 164 3 64 0 1 2 228
42290.5 164 3 64 0 1 2 228
42290.8 164 3 64 0 1 2 228
42291.0 164 3 64 0 1 2 228
42291.3 164 3 64 0 1 2 228
42291.5 164 3 64 0 1 2 228
42291.8 164 3 64 0 1 2 228
42292.0 164 3 64 0 1 2 228
42294.0 164 9 78 0 4 0 53 177 55 181 208 56 9

The left hand column is the time of day in seconds. From the one rounded decimal seconds you can see that I am receiving messages from the USB stick at about the 4Hz rate you expect with the message rate set to 8070 as recommended. The intermediate messages translate to:

"A receive channel missed a message which it was expecting. This happens when a slave is tracking a master and is expecting a message at the set message rate"

My questions are one, what is the message transmission rate of a Garmin HR belt and two if it is not once every 4 seconds what might I have got wrong in my code?      
Rank

Total Posts: 6

Joined 2010-11-25

PM

It looks like your heart rate belt uses a slightly different message period. We've testet one from the 3797A-HRM1B series, which uses the message period 8070(4.06 Hz), as defined in the profile.

Perhaps yours uses 8192 (4.00 Hz) for some reason - the results might look like the logs you posted...

I don't think there's anything wrong with your code if your message rate is indeed successfully set to 8070. Have you tried to verify your results using Antware?      
RankRankRankRank

Total Posts: 116

Joined 2008-11-21

PM

The Garmin HR follows the HRM device profile. Message rate should be set to 8070.

it does seem like your channel period is not set correctly.... please check you sent the channel period in the correct byte order. Also check that you set the channel period AFTER you assign the channel.      
Rank

Total Posts: 7

Joined 0

PM

Thanks guys problem solved. I tried the stick in AntWare II and it worked perfectly. Then tried setting period to 8192 in AntWare and got the same result as my code. Then checked the bytes and they were in the correct order but there was an error in my packet construction which I had failed to trap and the call to set the message rate was failing and the message rate was remaining at the default setting of 8192.

Thanks again. Must make sure those error traps are properly tested!!!!!