Radio Control Layer (RCL) Release Notes

Table of Contents

Introduction

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

Disaclaimer

This version has changes in the command status codes and the type of the RCL_init() function from the 7.20 version. 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)
Other 908 102
LRF 4188 37
RCL 4766 0
BLE5 Command Handler 11472 0
Generic PHY Command Handler 6218 0
ADC Noise Command Handler 1212 0
Totals 28764 (5.49%) 139 (0.38%)

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.40.00

ID Summary
RCL-469 IEEE 802.15.4: Create link example and test for IEEE 802.15.4 (Zigbee) PHY using generic commands
RCL-397 Update to more detailed command status codes for stopped commands

Fixed Issues

This list contains all bugfixes since: v7.40.00

ID Summary
RCL-588 The Loki RCL does not ensure Temperature driver is initialized before use causing inaccurate TX power temperature compensation and trim compensation
RCL-567 RCL doesn't clear SYSTIM interrupt mask when no further events are planned upon entering standby
RCL-367 Update packet FIFO handling to avoid losing operations
RCL-438 Issue in “genfsk” PHY firmware with incorrect demodulator termination at end-of-packet (used by MSK and GFSK PHYs)
RCL-437 Issue with incorrect frequency offset compensation for MSK (250kbps) and GFSK (250kbps, 500kbps) PHYs
RCL-209 RCL_init should return void

Known Issues

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

Upgrade and Compatibility Information

This version provides 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 have changed. The values have also changed; named identifiers should always be used when addressing variables of type RCL_CommandStatus.

Identifier in RCL version 7.20 Identifier in this RCL version 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 previously checked for one of the statuses for version 7.20 or earlier, should 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 as in the 7.20 version.

This version has changed the RCL_init() function from returning an int to being void:

void RCL_init(void);

The return value would previously always be 0, and any code that used to check the returned value should behave as if 0 was returned.

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.