<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>sd_ant_channel_open fails if channel assigned as EXT_PARAM_ASYNC_TX_MODE</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/5717/sd_ant_channel_open-fails-if-channel-assigned-as-ext_param_async_tx_mode</link><description>Hello, 
 In the following code, I have tried to assign a channel to be asychronous so that I can transmit 8 byte acknowledged messages immediately following a button press. However, the call to sd_ant_channel_open() fails with error 0x4015. If I remove</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 24 Feb 2015 13:31:16 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/5717/sd_ant_channel_open-fails-if-channel-assigned-as-ext_param_async_tx_mode" /><item><title>RE: sd_ant_channel_open fails if channel assigned as EXT_PARAM_ASYNC_TX_MODE</title><link>https://devzone.nordicsemi.com/thread/20004?ContentTypeID=1</link><pubDate>Tue, 24 Feb 2015 13:31:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e736ab46-cb27-4041-99e4-e7439006d351</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;You can find the error code in ant_error.h. It is not included in all ANT examples (it should be), but you can find it in the ant_fs example. 0x4015 corresponds to NRF_ANT_ERROR_CHANNEL_IN_WRONG_STATE.&lt;/p&gt;
&lt;p&gt;As you have figured out you get this error code because accourding to the ANT Message Protocol and Usage you shouldn&amp;#39;t open the channel:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In contrast to other channel
configurations, a channel using
asynchronous transmission does not
need to be opened and no channel
period needs to be set.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Regarding how to send the your data, it says:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;All three data types (broadcast,
acknowledged and burst) are supported.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So it seems you can use either of the following:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;   sd_ant_broadcast_message_tx()
   sd_ant_acknowledge_message_tx()
   sd_ant_burst_handler_request()
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;How do I specify how often it retries?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;sd_ant_broadcast_message_tx() will send maximum 8 bytes once. It is not acknowledged, it is not retried.&lt;/p&gt;
&lt;p&gt;sd_ant_acknowledge_message_tx() will send maximum 8 bytes once. It is acknowledged, but it is not retried. The application will be notified if it is success or failure.&lt;/p&gt;
&lt;p&gt;sd_ant_burst_handler_request() will send x bytes. It is acknowledged, it is retried 5 times. The application will be notified if it is success or failure.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: sd_ant_channel_open fails if channel assigned as EXT_PARAM_ASYNC_TX_MODE</title><link>https://devzone.nordicsemi.com/thread/20003?ContentTypeID=1</link><pubDate>Mon, 23 Feb 2015 21:49:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bb9b7075-afc5-4c21-a05e-a691c77ab838</guid><dc:creator>Mike</dc:creator><description>&lt;p&gt;Having re-read &amp;quot;ANT Message Protocol and Usage&amp;quot; it says &amp;quot;In contrast to other channel configurations, a channel using asynchronous transmission does not need to be opened and no channel period needs to be set. Once the channel is assigned any data messages pushed to the channel will be sent over the air&amp;quot;. So presumably that explains the error message!&lt;/p&gt;
&lt;p&gt;I&amp;#39;m still unclear on how to actually send my 8 byte data, specify timeouts, and know if it&amp;#39;s been acknowledged, though....&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>