Overview#
The following is a summary of functionality provided as part of the RAILtest application:
Transmit and receive packets
Schedule transmits at a specific time in the RAIL timebase
Configure RAIL address filtering to receive only specific packets
Enable CCA mechanisms (CSMA/LBT) to validate that a channel is clear before transmit
Set a timer callback in the RAIL timebase to see how the RAIL timer API works
Change the transmit channel within the current configuration's band
Change the transmit power level
Enable RF energy sensing of a specified duration across the 2.4 GHz and/or Sub 1-GHz bands, and sleep to wake on this event.
Output a continuous unmodulated tone for debugging
Output a continuous modulated PN9 stream for debugging
Enter into direct mode where data can be sent and received using asynchronous GPIOs as input and output
About RAILtest Versions#
RAILtest version 2.14 was released with Gecko SDK (GSDK) v4.2. Previous versions are as follows:
GSDK v4.1: RAILtest v2.13
GSDK v4.0: RAILtest v2.12
GSDK v3.2: RAILtest v2.11
GSDK v3.1: RAILtest v2.10
GSDK v3.0: RAILtest v2.9
GSDK v2.7: RAILtest v2.8
Modes#
RAILtest can be in a number of different modes. Each of these modes enables a subset of the test application's functionality, so that nonsensical commands (such as trying to transmit a tone and a packet at the same time) are ignored. The following are supported modes, with a short description.
None: The app is doing nothing, but the radio may be on. Parameters can be set in this mode based on the current radio state, and the timer can be used.
Stream: Send a stream of pseudo-random bits.
Tone: Send a tone at the carrier frequency.
ContinuousTx: Send an unending stream of packets, separated by a configurable delay.
DirectMode: Send data to and from a GPIO, without any packet handling.
PacketTx: Send a specific number of packets, with a summary print at the end.
ScheduledTx: Send one packet scheduled in the future.
TxAfterRx: Schedule a packet after each RX after a specific delay.
RxOverflow: Overflow on receive by delaying in RAILCb_RxPacketReceived.
TxUnderflow: Underflow by not loading data for the next TX sequence.
TxCancel: Cancel a single packet transmit to force an error callback.
RfSense: Sense RF energy to wake the radio.
PER (Packet Error Rate) test: A GPIO is toggled, and stats are gathered on received packets.
BER (Bit Error Rate) test: Statistics are gathered on received bits.