RAIL Training Overview#
The training section provides a series of documentation that helps developers learn the basics of RAIL.
The contents here are intended for embedded C developers who are already somewhat familiar with the platform and development tools, e.g. the Getting Started section.
While the section is written for firmware developers, as proprietary wireless often requires knowledge on the physical layer, some knowledge on the topic is required, or at least highly recommended. The radio configurator, where the physical layer can be configured is documented in AN1253
Note that the pages here are not automatically updated with every SDK release. If there's a conflict between these articles and the RAIL API documentation, always trust the API documentation. If you find an issue, please let us know on our community.
Getting Started with RAIL#
You should start with these tutorials. All others are based on these, as these are the minimum to develop useful applications on RAIL.
Basics#
These articles are common and basic features. While technically not required for basic functionality, it's highly recommended to read them before developing any production quality project.
Debugging: Debug features of RAIL, and recommended methods of debugging RAIL applications
Calibrations: Calibrations controllable from RAIL
Power Manager integration: How RAIL Integrates with Power Manager
Idle Modes: The explanation of various parameters of
RAIL_Idle()
.
Further Topics#
These articles document some specific features of RAIL that some applications need. It is recommended to read them if you think you will need that feature.
Timer Synchronization and Sleep: How RAIL can keep time in EM2 with the help of the RTCC
Tx/Rx Options - The various options available for Rx and Tx. Mainly, Listen Before Talk and Address Filtering
Low duty cycle mode: The theory of duty cycling, a way to save energy on the Rx side by sacrificing some on the Tx side.
Interrupt and Thread Safety: While RAIL is, in general not thread safe, you actually only need to avoid specific operations, which are detailed here.
Understanding RAIL Config Files: Basic explanation of the various varibles in
rail_config.c
Multiprotocol#
Multiprotocol is a complex topic, and it is recommended only if you have a good understanding of RAIL's basic functionality. This section describes both dynamic multiprotocol capabilities and MultiPHY capabilities.
Introduction: Explanation of Multiprotocol and MultiPHY, and recommendation what to use for given problem.
MultiPHY Usecases: Explanation of MultiPHY through the most typical usecases
DMP: A short introduction of Dynamic Multiprotocol, highlighting the differences between Singleprotocol and Multiprotocol usage of RAIL.