Skip to content

Latest commit

 

History

History

rail_tutorial_transmit

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

RAIL Proprietary - Tutorial Transmit

Overview

This project demonstrates packet transmitting using RAIL.

To get more information about the topic of transmit, 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.

SDK version

SiSDK 2024.06.00 and above

Hardware Required

EFR32 Series 2

Connections Required

Connect a Development Kit to your PC.

Tested boards for working with this example

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
BRD4194A EFR32xG27 Wireless 2.4 GHz +8 dBm Radio Board
BRD4401C EFR32xG28 868/915 MHz 20 dBm + 2.4 GHz 10 dBm Radio Board

Setup

  1. Generate Project with Simplicity Studio v5 or with SLC CLI.
  2. Adjust parameters detailed in the Configuration section below.
  3. Build and flash the project on one board.

How It Works

This project demonstrates how a packet can be transmitted with RAIL. To use this application you need at least one node (transmitter), however to receive the transmitted packets you will also need a receiver node. For more information about packet reception, see RAIL Tutorial 4: Downloading messages.

For the receiver, you can use an application like RAILtest or the Simple TRX example configured with the same radio settings to ensure compatibility during packet reception.

Before transmission, the transmitter increases the last byte of the payload to act as a counter of the transmitted packets.

SL_TUTORIAL_TRANSMIT_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 of SL_TUTORIAL_TRANSMIT_BUFFER_LENGTH. The length of the Tx buffer should be set according to the radio configuration using this parameter. The SL_TUTORIAL_TRANSMIT_DEFAULT_CHANNEL parameter determines the index of the channel that is used for packet transmission (see available channels in the radio_settings.radioconf file of the project).

How to use

To initiate a packet transmission, you need to press the PB0 button.

Configuration

Project Specific Configurations

Additional project-specific configurations can be found in the <project_root>/config/sl_rail_tutorial_transmit_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.

SL_TUTORIAL_TRANSMIT_PAYLOAD_LENGTH

Sets Payload length in bytes.

SL_TUTORIAL_TRANSMIT_BUFFER_LENGTH

Sets Tx Buffer length in bytes.

SL_TUTORIAL_TRANSMIT_DEFAULT_CHANNEL

Set the index of the default channel used to transmit.

  • Only configured channel index can be used (see available channels in the radio_settings.radioconf file of the project).