This example application demonstrates calibration event handling and downloading packets in RAIL.
To get more information about this topic, read our related article.
Important
This application lacks error handling and other critical features for readability. It is intended solely for educational purposes and is not recommended as a foundation for development.
SiSDK 2024.06.00 and above
EFR32 Series 2
Connect two Development Kits to your PC.
Board ID | Description |
---|---|
BRD4182A | EFR32xG22 2.4 GHz 6 dBm Radio Board |
BRD4204D | EFR32ZG23 868-915 MHz 14 dBm Radio Board |
BRD4187C | EFR32xG24 Wireless 2.4 GHz +20 dBm Radio Board |
BRD4270B | EFR32FG25 902-928 MHz +16 dBm Radio Board |
BRD4401C | EFR32xG28 868/915 MHz 20 dBm + 2.4 GHz 10 dBm Radio Board |
- Generate Project with Simplicity Studio v5 or with SLC CLI.
- Adjust parameters detailed in the Configuration section below.
- Build and flash the project on two boards.
This example application demonstrates calibration event handling and downloading packets in RAIL as well as it has packet transmission capabilities. To use this application you need two nodes.
The packet sent and received events are indicated with LED0 on the boards. If an error occures during the transmission or reception of the packets, LED1 is used to indicate this.
If a packet is received by one of the devices, it prints its payload and RSSI ( received signal strength indicator) value to the terminal.
SL_TUTORIAL_DOWNLOADING_MESSAGES_PAYLOAD_LENGTH
is a variable used to define the payload length for transmission in the application. Its value should align with the payload length determined by the radio configuration when using a fixed-length configuration. Additionally, it must not exceed the value ofSL_TUTORIAL_DOWNLOADING_MESSAGES_BUFFER_LENGTH
. The length of the Tx buffer should be set according to the radio configuration using this parameter. TheSL_TUTORIAL_DOWNLOADING_MESSAGES_DEFAULT_CHANNEL
parameter determines the index of the channel that is used for packet transmission and reception (see available channels in the radio_settings.radioconf file of the project).
To initiate a packet transmission, you need to press the PB0 button. Note that the default Radio state in this application is Rx state. It goes back to this state after each Rx or Tx success/failure, so it is always capable of receiving from the other node, and this behavior is symmetric. Additionally, the calibration runs before the radio's first use to ensure optimal performance.
Additional project-specific configurations can be found in the
<project_root>/config/sl_rail_tutorial_downloading_messages_config.h
file.
These configurations are not currently accessible through the UI as component
settings, so you will need to modify them manually using a text editor or IDE.
Sets Payload length in bytes.
Sets Tx and Rx Buffer length in bytes.
Set the index of the default channel used to transmit and receive.
- Only configured channel index can be used (see available channels in the radio_settings.radioconf file of the project).