Using Radio Testing Commands
There are commands for testing the radio during development, to verify top level assembly in manufacturing, or to pass radio certification (see ETERNA RF Certification Users Guide.)
The stack contains a CLI command, radioTest, for manual testing. This is documented in the SmartMesh IP Mote CLI Guide.
For programmatic testing, there are two APIs - they can only be invoked when the mote is in the idle state, otherwise they will return an error. The mote must be reset (either hardware or software reset) after radio tests are complete and prior to joining.
- dn_loc_testRadioRxCmd - Clears all previously collected statistics and initiates a test of radio reception for the specified channel and duration. During the test, the mote keeps statistics about the number of packets received (with and without error). The test results may be retrieved using the dnm_loc_getParameterCmd API with DN_API_PARAM_TESTRADIORXSTATS as the paramId.
- dn_loc_testRadioTxCmd - This command initiates a radio transmission test.
Four types of transmission tests are supported:
- Packet transmission
- Continuous modulation
- Continuous wave (unmodulated signal)
- Packet transmission with clear channel assessment (CCA) enabled (Available in stack >= 1.3).
The syntax of these commands is similar to the testRadioRx and testRadioTxExt commands found in the SmartMesh IP Mote Serial API - see that documentation for details on the meaning of the command arguments.
Channel Numbering
Channel numbering is 0-15, corresponding to IEEE 2.4 GHz channels 11-26.
Station ID
Station ID is available in stack >= 1.3. The station ID is a user selectable value used to isolate traffic if multiple tests are running in the same radio space. The receiver station ID must be set to match the station ID used by the transmitter.
Example Uses
- Using two devices, first set one up as a receiver using dn_loc_testRadioRxCmd. Set the other one up to transmit a certain number of packets using dn_loc_testRadioTxCmd. After all packets have been sent, the statistics on the receiver can be queried to see how many were successfully received. This setup can be used to evaluate range by repeating the test over several known distances, or to verify top-level assembly in manufacturing.
- For certification, the tests will not care how many packets are received, but rather just the quality of the transmitted signal. In this case, a single device transmitting using dn_loc_testRadioTxCmd is sufficient.