sl_rail_test / RAILtest Application Core#
sl_rail_test / RAILtest Core#
The sl_rail_test_core software component contains the core functionality of the sl_rail_test application. This application uses RAIL 3 APIs and replaces the older RAIL 2.x RAILtest application, which is deprecated.
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
sl_rail_test.Alter transfer period between consecutively transmitted packets.
Alter maximum packet length. This is the size of the TX buffer in the sl_rail_test application, which contains the packet eventually to be loaded into the RAIL library's TX FIFO for transmission.
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 sl_rail_test output GPIO pin is not configured for use. For additional information regarding its use in sl_rail_test, see the section Packet Error Rate Testing in the document UG409: RAILtest User’s Guide.
The older RAIL 2.x RAILtest application allowed configuration of the tranmsit and receive buffer sizes; in RAIL 3 sl_rail_test those are configurable in the Initialization Utility component. To transmit and receive a 4096 byte packet (i.e., the largest packet size supported in TX and RX packet modes), the FIFOs must be appropriately sized. In addition:
TX device
SL_RAIL_TEST_MAX_PACKET_LENGTH = 4096
This is the size of the TX buffer used by the sl_rail_test 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 4080 bytes may be transmitted if the receiving device is collecting the RX packet's appended info (e.g., CRC status, RSSI value, timestamp).
RX device
The old notion of BUFFER_POOL_ALLOCATOR_BUFFER_SIZE_MAX is gone; sl_rail_test and RAILtest now use malloc() instead of a buffer pool for dynamic memory needs, so there must be enough heap (generally allocated in unused RAM) to support copying large packets from the RX FIFO into memory for subsequent display in the CLI.