NRF Radio test FW : Set ZigBee Bandwidth

Hello All,

We have developed a Zigbee End Node device  for which we would like to make a radio test.

we are using nRF connect SDK 2.0.0, please note the reason we use the old SDK vesrion as we had started this project 2 years earlier.

As the Nordic Connect SDK we saw that we already have a sample FW which we can use for this test, now we have already preapared the code for the same and we were able to work with this as described in your documention on below link 

https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/peripheral/radio_test/README.html

However we see that the sample is by defaut configured with Bluethooth parameters like the bandwidth of this SW is set with respect to Bluethooth(1MHz), 

How can i Change this bandwidth here to 2Mhz which is for ZigBee, Now i went through the details on the above  link but i could only see possiblity to set output power, Data rate and channel 

Also can you please help me with more details to use fem command

Please help here to complete the radio test as this is only blocking point for us,

  • Hello,

    Try setting the data_rate to Ieee802154_250Kbit, which is what Zigbee uses. Then you need to set the start channel to 11 and end channel to 26 using these commands:

    data_rate ieee802154_250Kbit
    start_channel 11
    end_channel 26

    Setting the start_channel and end_channel is mentioned in the sample descriptions Overview section (the "Note").

    I think you are mixing up the channel width with the data modulation and transfer speed. E.g. Bluetooth can have both 1MBPS and 2MBPS (and 125kBPS), but they all use the same channels, that are all 1MHz wide. 

    The Zigbee channels (802.15.4 channels) are wider, but it doesn't mean they communicate at the rate of 2MBPS.

    Regarding the FEM:

    If you look in your radio_test\src\radio_cmd.c, you see the radio_param_config struct:

    static struct radio_param_config {
    	/** Radio transmission pattern. */
    	enum transmit_pattern tx_pattern;
    
    	/** Radio mode. Data rate and modulation. */
    	nrf_radio_mode_t mode;
    
    	/** Radio output power. */
    	uint8_t txpower;
    
    	/** Radio start channel (frequency). */
    	uint8_t channel_start;
    
    	/** Radio end channel (frequency). */
    	uint8_t channel_end;
    
    	/** Delay time in milliseconds. */
    	uint32_t delay_ms;
    
    	/** Duty cycle. */
    	uint32_t duty_cycle;
    
    #if CONFIG_FEM
    	/* Front-end module (FEM) configuration. */
    	struct radio_test_fem fem;
    #endif /* CONFIG_FEM */
    } config = {
    	.tx_pattern = TRANSMIT_PATTERN_RANDOM,
    	.mode = NRF_RADIO_MODE_BLE_1MBIT,
    	.txpower = RADIO_TXPOWER_TXPOWER_0dBm,
    	.channel_start = 0,
    	.channel_end = 80,
    	.delay_ms = 10,
    	.duty_cycle = 50,
    #if CONFIG_FEM
    	.fem.gain = FEM_USE_DEFAULT_GAIN
    #endif /* CONFIG_FEM */
    };

    And you can see that the "fem" option is only enabled if CONFIG_FEM is set. Try adding:

    CONFIG_FEM=y

    in the radio_test's prj.conf file, and see if that helps!

    Best regards,

    Edvin

  • Hello Edvin,

    Thank you for the feedback, your feedback helped me lot 

Related