Initialization Utility#
RAIL Initialization Utility#
This optional software component can be enabled to include default functionality related to RAIL initialization configuration. There are two mutually-exclusive variants:
sl_rail_util_init - for use with applications using RAIL 3 APIs (like sl_rail_test) or desire RAIL 3 functionality available in sl_rail_init() that isn't supported in RAIL 2.x RAIL_Init().
rail_util_init (deprecated) - for use with legacy RAIL 2.x applications like the older RAILtest application.
Note: Multiple instances of this component can be enabled in application code. This is particularly useful for multiprotocol scenarios.
Configuration Options#
The following configuration options can be changed:
Enable/disable RAIL initialization.
Enable/disable initialization complete callback.
(sl_rail_util_init only) Configure RX FIFO and/or RX Packet Queue, or use the RAIL library built-in defaults (which are shared with other instances using built-ins).
(sl_rail_util_init only) Configure TX FIFO.
Enable/disable channel configuration.
Configure a proprietary channel configuration on boot. This specifically involves the use of the
channelConfigs[]array in rail_config.c/h.If using a proprietary channel configuration, specify the channel index for use (i.e., index
xof arraychannelConfigs[x]).
Enable/disable calibration configuration.
Enable/disable temperature-dependent calibrations (e.g., voltage controlled oscillator calibration).
Enable/disable one-time calibrations (e.g., image rejection calibration).
Enable/disable auto transition configuration.
Configure TX transitions on Success and Failure.
Configure RX transitions on Success and Failure.
Enable/disable RX and TX data formats (in sl_rail_util_init these can be independently enabled/configured, unlike in rail_util_init where they're combined).
Configure RX source and mode.
Configure TX source and mode.
Enable/disable radio callback event configuration.
Configure RX events.
Configure TX events.
Configure protocol-specific events.
Configure dynamic multiprotocol-specific events.
Configure maintenance events. Note: Some protocol-specific events share the same event flag with other protocols; enabling one will enable them all. See sl_rail_events_t in sl_rail_types.h.