Migration Guide#
RAIL SDK 2.19.0#
Highlights:
Uses RAIL LIB 2.19.0
Examples now use
sl_main
instead ofsl_system
Detailed API Change#
API Naming:
Switched from
CamelCase
tosnake_case
for most APIs and typedefs.All public APIs now use
sl_rail_handle_t
,sl_rail_status_t
, etc., instead of the oldRAIL_Handle_t
,RAIL_Status_t
, etc.
Breaking Changes in Version 2.19.0#
Example of API Change:
// Version 2.18.2 (OLD)
uint16_t unpack_packet(
uint8_t *rx_destination,
const RAIL_RxPacketInfo_t *packet_information,
uint8_t **start_of_payload,
phy_modulation_e modulation
);
// Version 2.19.0 (NEW)
uint16_t unpack_packet(
sl_rail_handle_t rail_handle, // New first parameter
uint8_t *rx_destination,
const sl_rail_rx_packet_info_t *packet_information, // Renamed type
uint8_t **start_of_payload,
phy_modulation_e modulation
);
Manual Update for Range Test Projects:
If your project directory name contains
range_test
, you should manually:Remove any lines declaring
static RAIL_Handle_t rail_handle;
from all.c
and.h
files.Remove
rail_handle
from function parameter lists, regardless of its position (beginning, middle, or end).Remove any assignments to
rail_handle
and any standalone usages ofrail_handle
in your code, to ensure no obsolete references remain.
RAIL SDK 2.18.0#
Directory and SDK Structure Changes#
SiSDK-2024.12 Release:
RAIL and Connect SDKs are now separated.
The former
FLEX SDK
is split into:RAIL SDK
Connect SDK
Directory changes: files moved from
app/flex
toapp/rail
andapp/connect
.
Component and API Renames#
Component file names and APIs updated:
Any occurrence of
flex
in APIs or definitions updated to match the new structure.
Table of Changes#
Old File | New File | Changes | Details |
---|---|---|---|
simple_rail_assistance.h | sl_rail_sdk_simple_assistance.h | - | |
simple_rail_heartbeat.h | Deleted | - | |
simple_rail_rx.h | Deleted | - | |
simple_rail_rx_cli.h | Deleted | - | |
simple_rail_tx.h | Deleted | - | |
sl_flex_mode_switch.h | sl_rail_sdk_mode_switch.h | Rename API: prepare_package -> prepare_packet | |
sl_flex_ieee802154_support.h | sl_rail_sdk_ieee802154_support.h | Change part of names: FLEX -> RAIL_SDK , flex -> rail_sdk | |
sl_flex_rail_package_assistant.h | Rename API: prepare_package -> prepare_packet | ||
sl_flex_packet_asm.h | sl_rail_sdk_packet_asm.h | Change part of names: FLEX -> RAIL_SDK, flex -> rail_sdk | |
sl_flex_rail_sleep.h | Rename API: sl_flex_rail_sleep_init -> sl_rail_sdk_sleep_init | ||
sl_flex_util_802154_init.h | sl_rail_sdk_util_802154_init.h | Change part of names: sl_flex_util_init -> sl_rail_sdk_util_init, sl_flex_util_get_handle -> sl_rail_sdk_util_get_handle | |
sl_flex_util_ble_init.h | sl_rail_sdk_util_ble_init.h | Change part of names: sl_flex_util_init -> sl_rail_sdk_util_init, sl_flex_util_get_handle -> sl_rail_sdk_util_get_handle | |
sl_flex_util_ble_protocol.h | sl_rail_sdk_util_ble_protocol.h | Rename include sl_flex_util_ble_protocol_config -> sl_rail_sdk_util_ble_protocol_config | |
sl_rail_simple_cpc.h | sl_rail_sdk_simple_cpc.h | Change part of names: rail -> rail_sdk | |
sl_wmbus_packet_assembler.h | Change part of names: wmbus -> rail_sdk_wmbus | ||
sl_wmbus_sensor_pulse_counter.h | Change part of names: wmbus -> rail_sdk_wmbus | ||
sl_wmbus_sensor_pulse_counter.h | Change part of names: wmbus -> rail_sdk_wmbus | ||
sl_wmbus_sensor_thermometer.h | Change part of names: wmbus -> rail_sdk_wmbus | ||
sl_wmbus_sensor_virtual_water_meter.h | Change part of names: wmbus -> rail_sdk_wmbus |