Hi,All:
As the topic,Ijust want to use nrf52833 without any protocol in SDK16 , how? thanks!
Hi,All:
As the topic,Ijust want to use nrf52833 without any protocol in SDK16 , how? thanks!
Hi,
I am not completely sure what you want to do here. Do you want to use the 2.4GHz directly for a propertary protocol? In that case you don't need to use the Softdevice.
You can take a look at our ESB transmitter/receiver example for an example of a propertary 2.4GHz protocol that uses the radio directly: https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/esb_examples_ptx_prx.html
BR,
Marjeris
HI,msromero:
Since I have set up a transceiver system,but I really want to know what extra fixed data blow have been transmitted every time?
1.base_addr_p0 = { 0xE7, 0xE7, 0xE7, 0xE7 }, \
2.base_addr_p1 = { 0xC2, 0xC2, 0xC2, 0xC2 }, \
3.pipe_prefixes = { 0xE7, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8 },
which data would be send?And what is transmission' sequence?
4.As add,Could you explain me the pipe-prefixes in details?
5.In the default configuration,I setup the "retransmit_count = 3, and selective_auto_ack = false".would it still transmit for three times no matter receiver's result? And that so,would the receiver get three time data payload?
6.Even I setup "selective_auto_ack = false",the transmitter still listen to the "ack",because when I remove the receiver,the transmitter would disturb in debugging.
7.What is difference btween these tx_mode settings:NRF_ESB_TXMODE_AUTO ,NRF_ESB_TXMODE_MANUAL and NRF_ESB_TXMODE_MANUAL_START?
8.Is there any tx_mode without actual ACK absolutely?
9.In example exb_prx,how to operate to tx back the ack? Scine I can't see any tx instruction.
10.how many channels would be provided in ESB example? and what is the channel bandwidth and channel spacing?
11.In ESB prtx example, the receiver turn off,even I remove the reveiver,why does the transmitter receive certain something and trigger ("RX RECEIVED EVENT")?
Hi,
I am sorry for the late reply. There were a few question there so I will do my best to point to the right answers but let me know if something is still unclear.
For questions 1,2,3 and 4 please take a look at the RADIO peripheral section on the product specification. The address field on the packet configuration is composed of two parts, a base address and the address prefix. Pipe 0 is the only one with based0, while all the other pipes have base1 and a pipe-prefix.
See packet configuration: https://infocenter.nordicsemi.com/topic/ps_nrf52840/radio.html?cp=4_0_0_5_19_0#concept_hz4_cjl_4r
And address configuration: https://infocenter.nordicsemi.com/topic/ps_nrf52840/radio.html?cp=4_0_0_5_19_1#concept_mdy_kcj_4r
wzszzxj said:5.In the default configuration,I setup the "retransmit_count = 3, and selective_auto_ack = false".would it still transmit for three times no matter receiver's result? And that so,would the receiver get three time data payload?
selective_auto_ack is the configuration bit to tell if the ACK should be done automatically for all packets or it should be done base on noack bit in each packet (selectively). If selective_auto_ack is set to "false" the ack will be send automatically.
The packet retransmission takes place when the transceiver doesn't get an ack before the retransmission delay, see the figure for "failed package transaction" scrolling a bit down on this page: https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/esb_users_guide.html?cp=7_1_5_3_3#esb_transaction
wzszzxj said:7.What is difference btween these tx_mode settings:NRF_ESB_TXMODE_AUTO ,NRF_ESB_TXMODE_MANUAL and NRF_ESB_TXMODE_MANUAL_START?
NRF_ESB_TX_MODE_MANUAL and NRF_ESB_TXMODE_MANUAL_START can be used when there are strict timing sync rules, since you can choose when you want the TX transmission to start. NRF_ESB_TXMODE_AUTO will sent the packets automatically as they are sent to the TX buffer after nrf_esb_write_payload().
wzszzxj said:8.Is there any tx_mode without actual ACK absolutely?
To disable ACK you need to set selective_auto_ack = true and tx_payload_noack= true
wzszzxj said:9.In example exb_prx,how to operate to tx back the ack? Scine I can't see any tx instruction.
You need to use nrf_esb_write_payload() as shown in the tx example.
wzszzxj said:10.how many channels would be provided in ESB example? and what is the channel bandwidth and channel spacing?
See radio specifications, you can set the frequency from channel 0 to channel 100: https://infocenter.nordicsemi.com/topic/ps_nrf52840/radio.html?cp=4_0_0_5_19_13_44#register.FREQUENCY
You can use nrf_esb_set_rf_channel to set the channel to use for the radio. But if you are making a product and want to pass certification you should also take a look at the bandwidth. For 2mbps mode, we recommend using every other channel, and stop at channel 82 to ensure low interference in other areas of the spectrum.
wzszzxj said:11.In ESB prtx example, the receiver turn off,even I remove the reveiver,why does the transmitter receive certain something and trigger ("RX RECEIVED EVENT")?
This sounds strange, if you have turned the receiver off you should't get packet on the transmitter. Can you share with us the changes you have done to the RX example?
Best regards,
Marjeris
Hi,
I am sorry for the late reply. There were a few question there so I will do my best to point to the right answers but let me know if something is still unclear.
For questions 1,2,3 and 4 please take a look at the RADIO peripheral section on the product specification. The address field on the packet configuration is composed of two parts, a base address and the address prefix. Pipe 0 is the only one with based0, while all the other pipes have base1 and a pipe-prefix.
See packet configuration: https://infocenter.nordicsemi.com/topic/ps_nrf52840/radio.html?cp=4_0_0_5_19_0#concept_hz4_cjl_4r
And address configuration: https://infocenter.nordicsemi.com/topic/ps_nrf52840/radio.html?cp=4_0_0_5_19_1#concept_mdy_kcj_4r
wzszzxj said:5.In the default configuration,I setup the "retransmit_count = 3, and selective_auto_ack = false".would it still transmit for three times no matter receiver's result? And that so,would the receiver get three time data payload?
selective_auto_ack is the configuration bit to tell if the ACK should be done automatically for all packets or it should be done base on noack bit in each packet (selectively). If selective_auto_ack is set to "false" the ack will be send automatically.
The packet retransmission takes place when the transceiver doesn't get an ack before the retransmission delay, see the figure for "failed package transaction" scrolling a bit down on this page: https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/esb_users_guide.html?cp=7_1_5_3_3#esb_transaction
wzszzxj said:7.What is difference btween these tx_mode settings:NRF_ESB_TXMODE_AUTO ,NRF_ESB_TXMODE_MANUAL and NRF_ESB_TXMODE_MANUAL_START?
NRF_ESB_TX_MODE_MANUAL and NRF_ESB_TXMODE_MANUAL_START can be used when there are strict timing sync rules, since you can choose when you want the TX transmission to start. NRF_ESB_TXMODE_AUTO will sent the packets automatically as they are sent to the TX buffer after nrf_esb_write_payload().
wzszzxj said:8.Is there any tx_mode without actual ACK absolutely?
To disable ACK you need to set selective_auto_ack = true and tx_payload_noack= true
wzszzxj said:9.In example exb_prx,how to operate to tx back the ack? Scine I can't see any tx instruction.
You need to use nrf_esb_write_payload() as shown in the tx example.
wzszzxj said:10.how many channels would be provided in ESB example? and what is the channel bandwidth and channel spacing?
See radio specifications, you can set the frequency from channel 0 to channel 100: https://infocenter.nordicsemi.com/topic/ps_nrf52840/radio.html?cp=4_0_0_5_19_13_44#register.FREQUENCY
You can use nrf_esb_set_rf_channel to set the channel to use for the radio. But if you are making a product and want to pass certification you should also take a look at the bandwidth. For 2mbps mode, we recommend using every other channel, and stop at channel 82 to ensure low interference in other areas of the spectrum.
wzszzxj said:11.In ESB prtx example, the receiver turn off,even I remove the reveiver,why does the transmitter receive certain something and trigger ("RX RECEIVED EVENT")?
This sounds strange, if you have turned the receiver off you should't get packet on the transmitter. Can you share with us the changes you have done to the RX example?
Best regards,
Marjeris
HI,msromero:
Thank you for your reply, Pls close this topic,thank you!
Happy to help!