Radio Control Layer (RCL) 9.20.00.82 Release Notes
Table of Contents
Introduction
The Radio Control Layer (RCL) component for the LPF3 SDK consists of:
- High-level Radio Control Layer driver providing scheduling and power management
- Low-level RF protocol implementation
- Radio core firmware images
- RF configuration arrays and settings
- API documentation
Disclaimer
See Upgrade and Compatibility Information for details.
Documentation
The following documentation is included in RCL.
- API documentation
- Release Notes (this document)
Build Size
The following is the output of the TI ARM Clang size tool:
| Component | Flash Size (Bytes) | RAM Size (Bytes) |
|---|---|---|
| LRF | 5131 | 38 |
| RCL | 5593 | 5 |
| HAL | 1196 | 137 |
| ADC Noise Command Handler | 870 | 0 |
| BLE5 Command Handler | 20386 | 0 |
| Generic PHY Command Handler | 4806 | 0 |
| IEEE 802.15.4 Command Handler | 8044 | 0 |
| Totals | 46026 (8.78%) | 180 (0.49%) |
Note this is the total size of the archive, not necessarily the size of the final linked program.
Dependencies
- coresdk_lpf3: 9.21.00.21
- TI ARM LLVM: 4.0.4.LTS-1
- GCC: 12.3.Rel1-0
- IAR: 9.70.2-0
- Radioconfig: 9.20.01.81
Hardware Setup
This release is tested with the following hardware:
- LP_EM_CC2340R5
- LP_EM_CC2745R10_Q1
No hardware modifications are required.
What’s New
This list contains all new features in: v9.20
| ID | Summary |
|---|---|
| RCL-1012 | DMM: Declare RCL_AdcNoise* API as ‘weak’ to enable application specific override |
| RCL-817 | RCL: Update HAL function names with RCL namespace to avoid conflicting symbol names |
| RCL-389 | RCL: Support for Rx window optimization through PHY-specific command start constants |
| RCL-904 | BLE Coex: Support for three-wire mode |
| RCL-903 | BLE Coex: Support for one-wire mode |
| RCL-710 | IEEE 802.15.4: Support for source matching on incoming packets with extended source address |
| RCL-220 | IEEE 802.15.4: Support Dual PAN |
| RCL-873 | BLE: Support PAwR Advertiser |
| RCL-1286 | NESB: Add support for CC27XX |
| RCL-1351 | BLE CS: Tune step timing and PLL performance on CC2340R53 to meet Bluetooth CS PHY qualification test criteria |
Fixed Issues
This list contains all bugfixes in: v9.20
| ID | Summary |
|---|---|
| RCL-1258 | NESB: PRX command will not respond to graceful stop at certain times |
| RCL-1263 | NESB: Packet payload may be corrupted if a graceful stop is issued during packet reception |
| RCL-935 | BLE: TX output power values not present in the power table are not rounded up as Bluetooth Core Spec requires |
| RCL-1087 | BLE: PAwR Scanner accepts connection request when a connection has already been established |
Known Issues
| ID | Summary |
|---|---|
| RCL-1347 | BLE: Use of long critical sections between the sending of primary advertising packets can cause delayed handling of RCL events potentially leading to radio blackout periods |
| RCL-343 | NESB: Address mismatch counter not implemented |
Upgrade and Compatibility Information
HAL Function Names with Namespace
The RCL HAL function and symbol names have been updated from a naming format hal_what_to_do to RCL_Hal_whatToDo. The namespace is introduced to avoid any symbol name overlap across modules. The table below lists previous vs. new symbol names.
| Previous Name | New Name |
|---|---|
| hal_init_fsm | RCL_Hal_initFsm |
| hal_trigger_command_fsm | RCL_Hal_triggerCommandFsm |
| hal_trigger_dispatch_fsm | RCL_Hal_triggerDispatchFsm |
| hal_trigger_scheduler_fsm | RCL_Hal_triggerSchedulerFsm |
| hal_get_command_ifg_reg | RCL_Hal_getCommandIfgReg |
| hal_get_dispatch_ifg_reg | RCL_Hal_getDispatchIfgReg |
| hal_get_current_time | RCL_Hal_getCurrentTime |
| hal_enable_setup_time_irq | RCL_Hal_enableSetupTimeIrq |
| hal_setup_setup_time | RCL_Hal_setupSetupTime |
| hal_setup_start_time | RCL_Hal_setupStartTime |
| hal_setup_packet_timeout | RCL_Hal_setupPacketTimeout |
| hal_setup_hard_stop_time | RCL_Hal_setupHardStopTime |
| hal_enable_hard_stop_time_irq | RCL_Hal_enableHardStopTimeIrq |
| hal_disable_hard_stop_time_irq | RCL_Hal_disableHardStopTimeIrq |
| hal_setup_graceful_stop_time | RCL_Hal_setupGracefulStopTime |
| hal_enable_graceful_stop_time_irq | RCL_Hal_enableGracefulStopTimeIrq |
| hal_cancel_setup_time | RCL_Hal_cancelSetupTime |
| hal_cancel_start_time | RCL_Hal_cancelStartTime |
| hal_cancel_packet_timeout | RCL_Hal_cancelPacketTimeout |
| hal_cancel_hard_stop_time | RCL_Hal_cancelHardStopTime |
| hal_cancel_graceful_stop_time | RCL_Hal_cancelGracefulStopTime |
| hal_init_dispatch_radio_interrupts | RCL_Hal_initDispatchRadioInterrupts |
| hal_enable_command_radio_interrupt | RCL_Hal_enableCommandRadioInterrupt |
| hal_disable_command_radio_interrupt | RCL_Hal_disableCommandRadioInterrupt |
| hal_clear_command_radio_interrupt | RCL_Hal_clearCommandRadioInterrupt |
| hal_disable_all_command_radio_interrupts | RCL_Hal_disableAllCommandRadioInterrupts |
| hal_disable_all_dispatch_radio_interrupts | RCL_Hal_disableAllDispatchRadioInterrupts |
| hal_temperature_init | RCL_Hal_temperatureInit |
| hal_get_temperature | RCL_Hal_getTemperature |
| hal_get_vdds_voltage | RCL_Hal_getVddsVoltage |
| hal_get_hfxt_ratio | RCL_Hal_getHfxtRatio |
| hal_get_hfxt_ratio_default | RCL_Hal_getHfxtRatioDefault |
| hal_check_clear_timer_compare | RCL_Hal_checkClearTimerCompare |
| hal_setup_cmd_start_cap | RCL_Hal_setupCmdStartCap |
| hal_arm_cmd_start_cap | RCL_Hal_armCmdStartCap |
| hal_get_cmd_start_cap | RCL_Hal_getCmdStartCap |
| hal_setup_sync_found_cap | RCL_Hal_setupSyncFoundCap |
| hal_arm_sync_found_cap | RCL_Hal_armSyncFoundCap |
| hal_get_sync_found_cap | RCL_Hal_getSyncFoundCap |
| hal_setup_cmd_done_cap | RCL_Hal_setupCmdDoneCap |
| hal_arm_cmd_done_cap | RCL_Hal_armCmdDoneCap |
| hal_get_cmd_done_cap | RCL_Hal_getCmdDoneCap |
| hal_set_rcl_clock_enable | RCL_Hal_setRclClockEnable |
| hal_clear_rcl_clock_enable | RCL_Hal_clearRclClockEnable |
| hal_set_dcdc_ipeak_setting | RCL_Hal_setDcdcIpeakSetting |
| hal_enable_clk_buffer | RCL_Hal_enableClkBuffer |
| hal_power_set_standby_constraint | RCL_Hal_powerSetStandbyConstraint |
| hal_power_release_standby_constraint | RCL_Hal_powerReleaseStandbyConstraint |
| hal_power_set_swtcxo_update_constraint | RCL_Hal_powerSetSwTcxoUpdateConstraint |
| hal_power_release_swtcxo_update_constraint | RCL_Hal_powerReleaseSwTcxoUpdateConstraint |
| hal_power_open | RCL_Hal_powerOpen |
| hal_power_close | RCL_Hal_powerClose |
| hal_set_temperature_notification | RCL_Hal_setTemperatureNotification |
| hal_stop_temperature_notification | RCL_Hal_stopTemperatureNotification |
Known Limitations
The following scenarios have limited test coverage in the RCL module tests:
- Stress testing or throughput testing of connection
- Testing of adding buffers to the radio while it is running
- The testing of fields in the
statsstructures
Versioning
This product’s version follows a version format, MM.mm.pp.bb, where MM is a 2 digit Major number, mm is a 2 digit minor number, pp is a 2 digit patch number, and b is an unrestricted set of digits used as an incrementing build counter.