Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

You are here: Forum Home → ANT Developer’s Forums → ANTWareII → Thread

   

Send BURST message through AntWare II

Rank

Total Posts: 17

Joined 0

PM

Hi,

I am trying to connect a ANT+ Blood Pressure monitor to the AntWare II application for testing purposes and at this moment, i've already received the transport layer beacon from the BPM.

Now i would need to send the download request in BURST mode, requesting the directory info as a initial request with the maximum block size, as in the following commands:
(packet 1) 44-09-00-00-00-00-00-00
(packet 2) 00-01-00-00-ff-ff-ff-ff

But how do i send a message in BURST mode through AntWare II? the only option i see in the MESSAGING->BURST panel is send file. Am i not seeing it right? do i need to write file that contains this commands? and if yes, where can i learn about the format of this file?

Any help would be great. thanks!      
RankRankRankRank

Total Posts: 313

Joined 2011-09-12

PM

I don't know the status of the blood pressure receiver simulator, that would be the best option, but I don't think it is available yet. However, as you were saying, it is possible to do the communication manually in AntWare.

The messaging->burst file option bursts the binary contents of the file, so if you opened a new file in a hex editor and set it to 44-09-00-00-00-00-00-00-00-01-00-00-ff-ff-ff-ff and selected it to burst you would get the desired behaviour.

Probably the easier way to do it though is to use an AutoAnt script. You can see the tutorial script posted here: http://www.thisisant.com/component/option,com_fireboard/Itemid,146/func,view/catid,31/id,1538/.

The AutoAnt scripts send a raw message, so you need to include the bytes to control the burst message as well. To burst the bytes you posted, your script would look like this:

###ANT_SCRIPT_VERSION: 0.01
#This version tag is required in all scripts for forward compatibility

oSending burst...
w[50][00][44][09][00][00][00][00][00][00]
w[50][A0][00][01][00][00][FF][FF][FF][FF] 
     

Signature

Dynastream Developer

Rank

Total Posts: 17

Joined 0

PM

When you say "The bytes to control the message" are you talking about the following commands?

[03][4e][00][01][0a] -> to start the burst transfer

[50][00][44][09][00][00][00][00][00][00]

[50][A0][00][01][00][00][FF][FF][FF][FF]

[03][4e][00][01][05] -> to finish the burst transfer


And one more question, in burst commands, the channel ID also transport the sequence number, how is this done? Is it like...

0000 / 0000 -> sequence / channel id

in witch the sequence part is calculated like this:
Package1: 0000
Package2: 0001
Package3: 0010
Package4: 0001
Package5: 0010
Package6: 0101 -> final package (the second bit assumes the value 1)

Yes... i am a newbie

Thanks for the patience      
Avatar
RankRankRankRank

Total Posts: 662

Joined 2012-10-09

PM

Have you had a look at the ANT-FS Host Demo tool?
You can use the Blood Pressure Monitor Quick Config to connect to the blood pressure monitor. Make sure that debugging is enabled, you can use the generated Device0.txt log file as a reference on how the messages that you need to send to ANT to connect to the BPM should look like.

Are you developing an application to download data from an ANT+ Blood Pressure Monitor? What platform are you targeting?      
RankRankRankRank

Total Posts: 313

Joined 2011-09-12

PM

No worries, that's what the forums are for. You are not alone, there are enough other people asking questions if you do some searches you can sometimes even find the answers quicker than posting questions.

To answer your questions, what I mean by 'bytes to control the message' are the bytes that are not part of your payload. For this bursting example that would refer to the first two bytes in each of the two packets we send [50][00] and [50][A0]. 0x50 is the burst message id and the second byte contains the channel number and burst sequence bits. In the example you give the packets starting with [03][4e][00][01] are events you will receive, from the ANT device not that you send. The event code is the last byte; you will receive 0x0A (signifying the burst started) sometime after you begin sending the burst packets to the chip, and you will receive 0x05 (signifying the burst completed) after the chip has sent the final closing packet in the burst.
So, if you look at the script I supplied earlier, the only thing you write is two packets to burst the 16 bytes.

For your second question, the document ANT Message Protocol and Usage here http://www.thisisant.com/images/Resources/PDF/1204662412_ant_message_protocol_and_usage.pdf describes the burst sequence byte and everything else about bursting in section 9.5.5.3.
The mask for the sequence bits is 100000 (only the upper 3 bits). The first sequence number is 0, followed by a rolling counter 001,010,011 looping, the last packet is setting the first bit high and the latter two bits should be whatever the counter would be if it was another packet. (See the doc for an example and more explanation)      

Signature

Dynastream Developer

Rank

Total Posts: 17

Joined 0

PM

@ alejandra
The platform that i'm targeting in this project is iOS, and yes this is to download data from a Blood pressure Monitor.

I believe this case is closed with your help. Thank you very much for your answers.      
Avatar
RankRankRankRank

Total Posts: 662

Joined 2012-10-09

PM

Are you designing your own dongle or using Wahoo's? If you are using Wahoo's, you may want to talk to them, as I believe they have implemented ANT-FS already in their API.      
Rank

Total Posts: 17

Joined 0

PM

Yes i'm using Wahoo's dongle, but at this time it's not compatible with the BPM that i own, so i'm doing the communication manually.