RAILtest Application Core

RAILtest Core

This software component contains the core functionality of RAILtest and must be enabled for RAILtest to operate.

Configuration Options

The following configuration options can be changed:

  • Enable/disable external radio configuration file support (e.g., rail_config.c/h).
  • Configure default radio configuration for use.
  • Alter application name output over CLI on boot. Default is RAILtest.
  • Alter transfer period between consecutively transmitted packets.
  • Alter maximum packet length. This is the size of the TX buffer in the RAILtest application, which contains the packet eventually to be loaded into the RAIL library's TX FIFO for transmission.
  • Alter transmit buffer size. This is the size of the TX FIFO provided to the RAIL library.
  • Alter receive buffer size. This is the size of the RX FIFO provided to the RAIL library.
  • Alter the duration that distinguishes between short and long button presses.

The following hardware options can be changed:

  • Configure the Packet Error Rate (PER) GPIO pin. By default, this RAILtest output GPIO pin is not configured for use. For additional information regarding its use in RAILtest, see the section Packet Error Rate Testing in the document UG409: RAILtest User’s Guide.

Various RAILtest-specific buffer dependencies exist. For example, to transmit and receive a 4096 byte packet (i.e., the largest packet size supported in TX and RX packet modes), the buffers must be configured as follows:

  • Note: TX and RX buffer sizes provided to the RAIL library must comply with the sizing constraints identified in the section Receive and Transmit FIFO Buffers of EFR32.
  • TX device
    • SL_RAIL_TEST_MAX_PACKET_LENGTH = 4096
      • This is the size of the TX buffer used by the RAILtest application to contain the packet that will eventually be loaded into the library's TX FIFO.
      • Up to 4096 bytes may be transmitted if the receiving device is not collecting the RX packet's appended info (e.g., no CRC status, no RSSI value, no timestamp).
      • Up to 4090 bytes may be transmitted if the receiving device is collecting the RX packet's appended info (e.g., CRC status, RSSI value, timestamp).
    • SL_RAIL_TEST_TX_BUFFER_SIZE = 4096 // must be power of 2
      • This is the size of the TX FIFO made available to the RAIL library.
  • RX device
    • BUFFER_POOL_ALLOCATOR_BUFFER_SIZE_MAX = 4144
      • This is the size of the buffer used by the RAILtest application for CLI output purposes. See the Memory Manager software component to configure this value.
      • 4144 = receive 4096 byte packet + 0 bytes appended info (i.e., no CRC status, no RSSI value, no timestamp) + 48 bytes extra info for printf (i.e., sizeof(RailEvent_t))
      • 4144 = receive 4090 byte packet + 6 bytes appended info (i.e., CRC status, RSSI value, timestamp) + 48 bytes extra info for printf (i.e., sizeof(RailEvent_t))
    • SL_RAIL_TEST_RX_BUFFER_SIZE = 4096 // must be power of 2
      • This is the size of the RX FIFO made available to the RAIL library.