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 x of array channelConfigs[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.