RCL Release Notes

Table of Contents

Introduction

The Radio Control Layer (RCL) component for the LPF3 SDK consists of:

Disaclaimer

Future versions will have a change in the command status codes. See Upgrade and Compatibility Information for details.

Documentation

The following documentation is included in RCL.

Build Size

The following is the output of the TI ARM Clang size tool:

Component Flash Size (Bytes) RAM Size (Bytes)
LRF BLE Binaries 8716 0
LRF Generic PHY Binaries 8396 0
HAL 964 102
LRF 3936 36
RCL 4452 0
BLE5 Command Handler 8447 0
Generic PHY Command Handler 6174 0
ADC Noise Command Handler 1212 0
Totals 42297 (8.07%) 138 (0.37%)

Note this is the total size of the archive, not necessarily the size of the final linked program.

Dependencies

Hardware Setup

This release is tested with the following hardware:

No hardware modifications are required.

What’s New

This list contains all new features since: v7.20.00

ID Summary
RCL-409 Improve robustness of radio entropy generation in the presence of a strong RF signal
RCL-238 Added support for HFXT SW TCXO by compensating RF PLL

Fixed Issues

This list contains all bugfixes since: v7.20.00

ID Summary
RCL-384 RSSI read back-to-back reading sometimes returns unexpected value
RCL-392 PBE fails to respond if a timer interrupt flag is unexpectedly set at first execution

Known Issues

ID Summary
RCL-343 PBE NESB - Address mismatch counter not implemented

Upgrade and Compatibility Information

Future versions (7.30 and later) will provide more detailed information in the status field of an RCL command that has been stopped. This means that the identifiers of the RCL_CommandStatus enum will change. The values will also change; named identifiers should always be used when addressing variables of type RCL_CommandStatus.

Identifier in this RCL version Identifier in RCL version 7.30 and later Description
RCL_CommandStatus_Descheduled RCL_CommandStatus_DescheduledApi Command was descheduled before starting running in the radio because RCL_CommandStop() was called
RCL_CommandStatus_Descheduled RCL_CommandStatus_DescheduledScheduling Command was descheduled before starting running in the radio due to scheduling of another command
RCL_CommandStatus_GracefulStop RCL_CommandStatus_GracefulStopTimeout Command ended because time set in timing.relGracefulStopTime was reached
RCL_CommandStatus_GracefulStop RCL_CommandStatus_GracefulStopApi Command ended gracefully because RCL_CommandStop() was called with RCL_StopType_Graceful argument
RCL_CommandStatus_GracefulStop RCL_CommandStatus_GracefulStopScheduling Command ended due to scheduling where interrupting command had RCL_ConflictPolicy_Polite
RCL_CommandStatus_HardStop RCL_CommandStatus_HardStopTimeout Command ended because time set in timing.relHardStopTime was reached
RCL_CommandStatus_HardStop RCL_CommandStatus_HardStopApi Command ended because RCL_CommandStop() was called with RCL_StopType_Hard argument
RCL_CommandStatus_HardStop RCL_CommandStatus_HardStopScheduling Command ended due to scheduling where interrupting command had RCL_ConflictPolicy_AlwaysInterrupt

Code that checks for one of the statuses listed above for this version, should in the future check for any of the corresponding new statuses. The macros RCL_CommandStatus_isAnyDescheduled(), RCL_CommandStatus_isAnyGracefulStop(), and RCL_CommandStatus_isAnyHardStop() may be used for that purpose; these macros will give the same behavior both in this version and future versions.

Known Limitations

The following scenarios have limited test coverage in the RCL module tests:

The SW has the following limitations:

Versioning

This product’s version follows a version format, M.mm.pp.bb, where M is a single digit Major number, mm is 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.