Test Examples with Manufacturing Library CLI Commands#
To conduct tests using the Manufacturing Library CLI commands, the DUT needs to enter manufacturing test mode. The following sections show how to set up the test environment for specific RF tests that are commonly used during the characterization and manufacturing phases, and in test houses for certification.
Note: The DUT exits manufacturing test mode upon shutdown, so the manufacturing library start command is not persistent across reboots. The test mode needs to be entered on start up before using the manufacturing library for radio parameter changes or performing any tests. All examples in this section assume that the manufacturing test mode has not been started after DUT startup.
How to Set the Channel and PA Output Power on DUT#
The Manufacturing library can be used to set the RF power level of the PA at a specific channel. The ability to adjust the PA output power is required for all transmission tests. In this example, the DUT enters manufacturing test mode, sets the channel and power, and checks the status to verify the parameters to set up the environment for transmission tests. Note that the argument for the start command is 0 because the Rx callback is needed only for receiver tests.
plugin mfglib start 0 // Enter manufacturing test mode
plugin mfglib set-channel 11 // Set channel to 11 (2405 MHz)
plugin mfglib set-power 18 1 // Set power level to 18 dBm
plugin mfglib status // Verify radio parameters that were set in previous steps
plugin mfglib stop // Exit manufacturing test mode
How to Set Up DUT to Transmit CW Tone#
The command sequence below uses the manufacturing library CLI commands to start a TX tone that can be used to measure the PA output power, phase noise, frequency offset and spurious emissions using a spectrum analyzer. The TX tone is a continuous unmodulated transmission.
plugin mfglib start 0 // Enter manufacturing test mode
plugin mfglib set-channel 11 // Set channel to 11 (2405 MHz)
plugin mfglib set-power 18 1 // Set power level to 18 dBm
plugin mfglib status // Verify radio is in test mode and the parameters that were set in previous steps
plugin mfglib tone start // Start TX tone and measure the output power/phase noise/spurious emissions
plugin mfglib tone stop // Stop TX tone
plugin mfglib stop // Exit manufacturing test mode
How to Set Up DUT to Transmit Data Stream#
Similar to the above example, the command sequence below uses the manufacturing library CLI commands to start a TX stream that can be used to test the power spectral density mask and EVM (Error Vector Magnitude). The TX stream is a continuous transmission of random stream of characters.
plugin mfglib start 0 // Enter manufacturing test mode
plugin mfglib set-channel 11 // Set channel to 11 (2405 MHz)
plugin mfglib set-power 18 1 // Set power level to 18 dBm
plugin mfglib status // Verify radio is in test mode and the parameters that were set in previous steps
plugin mfglib stream start // Start TX stream and measure the output power
plugin mfglib stream stop // Stop TX tone
plugin mfglib stop // Exit manufacturing test mode
How to Set Up DUT to Send Packets#
In order to observe the packets sent by the DUT, manufacturing library CLI commands can be used to send either random data or fixed data in the packet. In the example below 12 packets with random data are sent with 8 bytes packet length on channel 11 at 18 dBm.
plugin mfglib start 0 // Enter manufacturing test mode
plugin mfglib set-channel 11 // Set channel to 11
plugin mfglib set-power 18 1 // Set power level to 18 dBm
plugin mfglib status // Verify radio is in test mode and the parameters that were set in previous steps
plugin mfglib send random 12 8 // Send 12 packets with random data of 8 bytes packet length
plugin mfglib stop // Exit manufacturing test mode
How to Set Up DUT to Receive Packets#
For receiver tests, the DUT needs to enter the manufacturing test mode, set the channel to match the transmitter frequency, and check the reception of packets periodically using the plugin mfglib status command. This test routine assumes that there is a signal generator connected to the DUT or a golden node to transmit Zigbee packets. Note that the argument for the start command is 1 in this example because the Rx callback needs to be enabled in order to count the number of packets received.
plugin mfglib start 1 // Enter manufacturing test mode
plugin mfglib set-channel 11 // Set channel to 11 (2405 MHz)
plugin mfglib status // Check the packet count number for any packets received
plugin mfglib stop // Exit manufacturing test mode
Note: The DUT needs to exit manufacturing test mode and enter again in order to reset the packet count to 0.