<?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>de-activating ARD</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/127501/de-activating-ard</link><description>Reference: first consult as Case id. 305571 Replyed by Tobjorn 
 I have a working proyect in wich 485 cable communication was replaced with NRF24L01+ but I need some help: 
 One PTX has bi-direccional comunication with several PRX in a sequential order</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 27 Mar 2026 16:33:28 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/127501/de-activating-ard" /><item><title>RE: de-activating ARD</title><link>https://devzone.nordicsemi.com/thread/564215?ContentTypeID=1</link><pubDate>Fri, 27 Mar 2026 16:33:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3982f982-d347-478e-9d74-3cd361e69847</guid><dc:creator>o.hojvat</dc:creator><description>&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1774628956157v2.jpeg" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Picture explained&lt;/p&gt;
&lt;p&gt;Channels have a number at the left but the order top to bottom is&lt;/p&gt;
&lt;p&gt;0 1 2 4 12 5 15 6 7 8 10 11&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;The upper channel (0) is PTX ACK&lt;/p&gt;
&lt;p&gt;There are 3 ACK at the left, but they are from 3 no ACK packets (PIPE 0 Tx) , PTX IRQ by Tx sent&lt;/p&gt;
&lt;p&gt;They was sent for all the 6 PTX that may be used - They have same PIPE 0 address&lt;/p&gt;
&lt;p&gt;The only PRX working in this test is the modifyed only Rx ( no Rx ACK )&lt;/p&gt;
&lt;p&gt;Ch 12 (orange) is for PTX CE - There are 6 Tx packets for PRX with diferent PIPE1 address&lt;/p&gt;
&lt;p&gt;The sequence is Address for PIPE1&lt;br /&gt; 5A 5A F1 - 5A 5A E1 - 5A 5A D1 - 5A 5A C1 - 5A 5A B1 - 5A 5A A1&lt;/p&gt;
&lt;p&gt;There are about 20 ms with no packets sent and the same again&lt;/p&gt;
&lt;p&gt;The last of the group is sent for the same address as the Test PRX&lt;/p&gt;
&lt;p&gt;Ch 6 (red) , position 8 , shows IRQ at the PRX - 3 at the left has 213 us delay from each CE&lt;/p&gt;
&lt;p&gt;There are one IRQ in the middle and one at the rigth , received at PIPE1 , with ACK requested&lt;br /&gt;but this version of PRX has not sent any ACK&lt;/p&gt;
&lt;p&gt;_________________________________________________________________&lt;/p&gt;
&lt;p&gt;_________________________________________________________________&lt;/p&gt;
&lt;p&gt;CODE&amp;nbsp; &amp;nbsp;(Reg 0x 21 setted&amp;nbsp; to&amp;nbsp; 0)&lt;/p&gt;
&lt;p&gt;PRX:&lt;br /&gt;; 1) Set the PWR_UP bit and PRIM_RX bits in the CONFIG register - &lt;br /&gt; bcf CSN ; Open NRF SPI&lt;br /&gt; MOVLW B&amp;#39;00100000&amp;#39; ;20 write reg 0 - CONFIG (command 001aaaaa = write to aaaaa register &lt;br /&gt; CALL SEND &lt;br /&gt; MOVLW B&amp;#39;00111011&amp;#39; ;Bit6 low: IRQ for Rx received,bit 1 = POWER_ON ;1 byte CRC , PRX mode&lt;br /&gt; CALL SEND &lt;br /&gt; bsf CSN ; close SPI&lt;/p&gt;
&lt;p&gt;; 2) Set DYNPD to 0x3F ; registro 1C&lt;br /&gt; bcf CSN ; &lt;br /&gt; MOVLW B&amp;#39;00111100&amp;#39; ;3C write reg 1C - DYNPD - b&amp;#39;00111100&amp;#39; = (0x20 + 0x1C)&lt;br /&gt; CALL SEND &lt;br /&gt; MOVLW B&amp;#39;00111111&amp;#39; ; dynamic PD all channels&lt;br /&gt; CALL SEND ; &lt;br /&gt; bsf CSN&lt;br /&gt;nop &lt;br /&gt;; 3) Set the EN_DPL bit in the FEATURE register - ahora los tres&lt;br /&gt; bcf CSN ; &lt;br /&gt; MOVLW B&amp;#39;00111101&amp;#39; ;31 write reg 1D - FEATURE - b&amp;#39;00111101&amp;#39; = (0x20 + 0x1D)&lt;br /&gt; CALL SEND &lt;br /&gt; MOVLW B&amp;#39;00000111&amp;#39; ; dynamic PD and EN_DYN_ACK enabled ; para tx con ack con payload&lt;br /&gt; CALL SEND ; &lt;br /&gt; bsf CSN&lt;/p&gt;
&lt;p&gt;=================================================&lt;br /&gt;nop ; Set EN_AA to 0 &lt;br /&gt;bcf CSN ;&lt;br /&gt;MOVLW B&amp;#39;00100001&amp;#39; ;0x21 write reg 01 - EN_AA enable autoack&lt;br /&gt;CALL SEND_A ; nacen activados&lt;br /&gt;MOVLW B&amp;#39;0000000&amp;#39; ;******* disable for all pipes ********&lt;br /&gt;CALL SEND_A ;&lt;br /&gt;bsf CSN&lt;br /&gt;=================================================&lt;/p&gt;
&lt;p&gt;nop ; .............. flush Tx fifo ..................&lt;br /&gt; bcf CSN &lt;br /&gt; movlw 0xE1 ; b&amp;#39;11100001&amp;#39;&lt;br /&gt; call SEND_A&lt;br /&gt; bsf CSN &lt;br /&gt; nop&lt;br /&gt;;.............. flush Rx fifo ..................&lt;br /&gt; bcf CSN &lt;br /&gt; movlw 0xE2 ; b&amp;#39;11100001&amp;#39;&lt;br /&gt; call SEND_A&lt;br /&gt; bsf CSN &lt;br /&gt; nop&lt;br /&gt;;............... clear STATUS Flags .............&lt;br /&gt; bcf CSN ; Open NRF SPI&lt;br /&gt; MOVLW B&amp;#39;00100111&amp;#39; ;27 write reg 0 - STATUS (command 001aaaaa = write to aaaaa register &lt;br /&gt; CALL SEND_A &lt;br /&gt; MOVLW B&amp;#39;01110000&amp;#39; ; rx tx max retry se borran con 1&lt;br /&gt; CALL SEND_A &lt;br /&gt; bsf CSN ; close SPI&lt;br /&gt; nop&lt;br /&gt;;--------- cargo N&amp;ordm; de canal default 5 o modificado en setup (caso contrario NRF usa el 2) &lt;br /&gt;bcf CSN ; ;&lt;br /&gt;MOVLW B&amp;#39;00100101&amp;#39; ; 0x25 write reg 5 frec RF&lt;br /&gt;CALL SEND_A&lt;br /&gt;movf N_Canal,w ; default canal 5 fu&amp;eacute; leido en el inicio ; numero de canal de RF 5 o modificado&lt;br /&gt;CALL SEND_A ; sin poner nada es 2&lt;br /&gt;bsf CSN &lt;br /&gt;nop&lt;br /&gt;; ############# def addrees segun num. de mando deseado ############### &lt;br /&gt;; habilitar todos los pipes a usar - default solo 0 y 1 habilita el 2&lt;br /&gt; bcf CSN&lt;br /&gt; MOVLW B&amp;#39;00100010&amp;#39; ;22 write reg 2 - PIPES habilitadas &lt;br /&gt; CALL SEND_A &lt;br /&gt; MOVLW B&amp;#39;00000111&amp;#39; ; PIPES 0, 1 y 2 habilitadas&lt;br /&gt; CALL SEND_A &lt;br /&gt; bsf CSN ; close SPI&lt;br /&gt; nop&lt;br /&gt;; set address wide de 5 paso a 3 bytes &lt;br /&gt; bcf CSN&lt;br /&gt; MOVLW B&amp;#39;00100011&amp;#39; ;23 write reg 3 - para cant bytes de addreee &lt;br /&gt; CALL SEND_A ; acepta de 3 a5&lt;br /&gt; MOVLW B&amp;#39;00000001&amp;#39; ; 3 bytes 0k&lt;br /&gt; CALL SEND_A &lt;br /&gt; bsf CSN ; close SPI&lt;br /&gt; nop&lt;br /&gt; ; Txaddress no se usa en PRX&lt;/p&gt;
&lt;p&gt;; ............... Set RX Address PIPE0 , 1 y 2 en el inicio - no se modifican ...............&lt;br /&gt; ; RX PIPEs addr - esto indentifica a cada mando y si es para PIPE1 y PIPE2 &lt;br /&gt; ; para PIPE0 , el mismo para todos los mandos&lt;br /&gt; bcf CSN&lt;br /&gt; MOVLW B&amp;#39;00101010&amp;#39; ;2A write reg A - PIPE0 addr&lt;br /&gt; CALL SEND_A &lt;br /&gt; MOVLW 0x3B ; LSB&lt;br /&gt; CALL SEND_A &lt;br /&gt; MOVLW 0x5A ; &lt;br /&gt; CALL SEND_A &lt;br /&gt; MOVLW 0x5A ; &lt;br /&gt; CALL SEND_A &lt;br /&gt; bsf CSN &lt;br /&gt; &lt;br /&gt;; set addr. PIPE1 - cambia LSB seg&amp;uacute;n el num. de mando elegido (10-12-13-14-15-20)&lt;br /&gt;;;; call ControlNumMando ; tarda 7us&lt;br /&gt;;;; swapf Mdo,w ; (de 0 a 5)&lt;br /&gt; movlw 0xA1 ;;;************** mando 10 fijo ;;;; addlw 0xA1 &lt;br /&gt; movwf Arg1 ; ( A1-B1-C1-D1-E1-F1)&lt;br /&gt; bcf CSN&lt;br /&gt; MOVLW B&amp;#39;00101011&amp;#39; ;2B write reg B - PIPE1 addr&lt;br /&gt; CALL SEND_A &lt;br /&gt; movf Arg1,w ; LSB 0xA1 fijo&lt;br /&gt; CALL SEND_A ; &lt;br /&gt; MOVLW 0x5A ; uso 5A - lo mismo que para PIPE0 &lt;br /&gt; CALL SEND_A ; pero podria poner algo disntinto&lt;br /&gt; MOVLW 0x5A ; es mas confuso y no tiene ventajas &lt;br /&gt; CALL SEND_A ; mas simple en el MIRF - menos bytes &lt;br /&gt; bsf CSN ; para cambiar en cada call y Tx del MIRF&lt;br /&gt; nop&lt;br /&gt; ; set addr. PIPE2 &lt;br /&gt; bcf CSN&lt;br /&gt; MOVLW B&amp;#39;00101100&amp;#39; ;2C write reg C - PIPE2 addr&lt;br /&gt; CALL SEND_A &lt;br /&gt; incf Arg1,w ; LSB queda 0xA2&lt;br /&gt; CALL SEND_A ; los otros Bytes son 5A = a los de PIPE1 &lt;br /&gt; bsf CSN ; - no se pueden cambiar&lt;br /&gt; ; Tx address no interesa en PRX&lt;br /&gt;; ................ fin SetAddr ............&lt;/p&gt;
&lt;p&gt;;.... elijo frec datos 2M 1M 250K &lt;br /&gt; nop&lt;br /&gt; bcf CSN&lt;br /&gt; movlw 0x26 ; reg 6&lt;br /&gt; CALL SEND_A&lt;br /&gt; movlw b&amp;#39;00000110&amp;#39; ; 1M aumenta el alcance 2m , de 6m a 8m aprox &lt;br /&gt;; ; movlw b&amp;#39;00001110&amp;#39; ; 2M &lt;br /&gt; ;; movlw b&amp;#39;00100110&amp;#39; ; 250k ;;; NO ANDA _&amp;gt; aumentar ARD en MIRF&lt;br /&gt; CALL SEND_A&lt;br /&gt; bsf CSN&lt;br /&gt; nop&lt;br /&gt;;............................&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;; ****************** fin de copiadas- adapted from MandoRx , ajusted for mando 10 address ***********&lt;br /&gt;; 4) Set CE high&lt;br /&gt; bsf CE ; set RF ON for Rx - queda fijo en alto para modo PRX&lt;/p&gt;
&lt;p&gt;______________________________________________________________&lt;/p&gt;
&lt;p&gt;Address used for Mando 10 are the same here for this RX only - no ACK&lt;br /&gt; &lt;br /&gt;PIPE0 5A 5A 3B&lt;/p&gt;
&lt;p&gt;PIPE1 5A 5A A1&lt;/p&gt;
&lt;p&gt;PIPE2 5A 5A A2&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: de-activating ARD</title><link>https://devzone.nordicsemi.com/thread/564214?ContentTypeID=1</link><pubDate>Fri, 27 Mar 2026 16:07:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:73429d60-ecb6-4fe6-8859-04e3f81137e0</guid><dc:creator>o.hojvat</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;span&gt;Kenneth&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Thank you for your comments.&lt;/p&gt;
&lt;p&gt;About ACK ok but no IRQ I may investigated more when I will finish solving many details in my proyect.&lt;/p&gt;
&lt;p&gt;About the PRX I used as Monitor ,I is working with not sending ACK as you can see in th attached pdf , LA1010 capture.&lt;/p&gt;
&lt;p&gt;There are .txt explaining the picture and the instructions sent for NRF setting.&lt;/p&gt;
&lt;p&gt;Anyway this Monitor PRX only can receive the PTX packets.&lt;/p&gt;
&lt;p&gt;In a before sent picture with the normal PRX and the Monito PRX , I see in the Monitor several ACK sent when retry number was 3 or five because low ARD pevents ACK at PRT&lt;/p&gt;
&lt;p&gt;This matter at the moment is not important to me because I guess I will no need more the Monitor PRX.&lt;/p&gt;
&lt;p&gt;I have an NRF board with the Tx burned beacuse a short circuit.&lt;/p&gt;
&lt;p&gt;I can use it in the Monitor PRX to be sure It can&amp;#39;t Tx nothing&lt;/p&gt;
&lt;p&gt;Best Regards, Osvaldo&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: de-activating ARD</title><link>https://devzone.nordicsemi.com/thread/563817?ContentTypeID=1</link><pubDate>Sun, 22 Mar 2026 17:02:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:966dab34-94dc-4e8f-8a0c-9e3b010000b4</guid><dc:creator>Kenneth</dc:creator><description>[quote user="o.hojvat"]I have a second PRX with same address but ACK disabled.[/quote]
&lt;p&gt;A PTX can choose to disable ACK when transmitting a packet, but a PRX will always ACK if requested by a PTX.&lt;/p&gt;
&lt;p&gt;A PRX&amp;nbsp;may not generate an interrupt if the received packet is considered the same as a previous packet from the PTX.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: de-activating ARD</title><link>https://devzone.nordicsemi.com/thread/563804?ContentTypeID=1</link><pubDate>Sat, 21 Mar 2026 01:36:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9037adf8-0416-4922-9bdd-c028117461a3</guid><dc:creator>o.hojvat</dc:creator><description>&lt;p&gt;upper channels for PTX (named MIRF)&lt;/p&gt;
&lt;p&gt;lower for PRX (Mando)&lt;/p&gt;
&lt;p&gt;marked with white rectangle , there is no IRQ at PRX but there is ack and payload at PTX&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/Ack-in-PTX-but-no-IRQ-in-PRX.JPG" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: de-activating ARD</title><link>https://devzone.nordicsemi.com/thread/563799?ContentTypeID=1</link><pubDate>Fri, 20 Mar 2026 19:35:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b85e9303-abbc-415f-9cc2-1369603eefd4</guid><dc:creator>o.hojvat</dc:creator><description>&lt;p&gt;Thak you for the reply.&lt;/p&gt;
&lt;p style="text-align:left;"&gt;I have a second PRX with same address but ACK disabled.&lt;/p&gt;
&lt;p style="text-align:left;"&gt;&amp;Yuml;ou had confirmed what I guess about ARD settings.&lt;/p&gt;
&lt;p style="text-align:left;"&gt;Data sheet do not mention that ARD is not disabled with Reg.04 = 00.&lt;/p&gt;
&lt;p style="text-align:left;"&gt;I find&amp;nbsp; other unexpected thing&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align:left;"&gt;In some specific mensaje there is an ACK received at the expected time but there is not an IRQ at the PRX, so PRX lost &amp;iacute;nfomation&lt;/p&gt;
&lt;p style="text-align:left;"&gt;This arises about 3 times each 10 so it is no problem for me. Request info again.&lt;/p&gt;
&lt;p style="text-align:left;"&gt;Best regards. Osvaldo&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: de-activating ARD</title><link>https://devzone.nordicsemi.com/thread/563678?ContentTypeID=1</link><pubDate>Thu, 19 Mar 2026 12:52:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5c7494eb-86fa-4014-819d-e86536a58627</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;We don&amp;#39;t provide support for the nRF24L01+ anymore, but some comments:&lt;/p&gt;
&lt;p&gt;If you want to receive an ACK payload, the ARD delay need to be set accordingly to the ACK payload size (even if the number of retransmissions are 0).&lt;/p&gt;
&lt;p&gt;If you have two PRX with same address, then this will cause issues, because both PRX will try to ACK, the two ACK will collide on-air and likely cause the PTX from receiving any ACK.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>