                   RSL10 EDK 1.3 Release Notes
                   ===========================

23 October 2017

RSL10 is an ultra-low-power, multi-protocol 2.4 GHz radio, designed for use
in wireless devices that demand low power consumption and a restricted size.
The RSL10 Evaluation and Development Kit (EDK) includes the hardware,
firmware, software and documentation needed to evaluate this chip and
develop applications based on RSL10.

This document lists new features in this release, describes known issues,
and points you to more information so you can start using the product.

Release 1.3
-----------

Bug fixes:
- Remote Microphone Stereo Audio Streaming Protocol: optimized the audio
  quality for the left channel.
- Peripheral Server Sleep Application: stopped resets from occurring between
  establishing a connection and termination.
- LPDSP32 Digital Signal Processor (DSP) initialization copies only the data
  that is needed and calculates the data sizes correctly.
- Minimized RX window widening size to conform to the Bluetooth standard
- When bond information is deleted, a security connection request can be
  sent.
- When the connection is lost, the Bluetooth stack handles L2CAP buffering
  correctly after reconnection.
- RSL10 Open Flash Loader:
  - Correctly restore system clock settings after executing flash operations
  - Corrected WorkRAMAddr so that SEGGER RTT works
- Advertisement messages are no longer missed when in Sleep Mode
- Implemented a software recovery mode on all sample applications so that
  applications running from flash memory can be halted when the debug port
  becomes inaccessible.

What's New:
- LPDSP32 package to assist with programming the LPDSP32 processor. Includes
  startup files, Eclipse projects for audio codecs, scripts to integrate
  LPDSP32 output code with ARM Cortex-M3 code, an Eclipse project to test
  various components, and documentation.
- The recommended version of J-Link is 6.20f or later. This provides:
  - Bug fixes listed above for the integrated Flash Loader
  - Support for hardware resets over J-Link that allow you to power cycle
    an Evaluation and Development Board remotely
- RSL10 audio path sample code now handles true stereo use cases
- Sample code readme improvements
- New sample applications demonstrate human interface devices (HID),
  coexistence of custom streaming audio protocol and Bluetooth low energy
  connection for both receiving and transmitting, and corresponding
  Ezairo 7100 sample applications  
- Various improvements to the sample code applications including:
  - Bug fix to peripheral_server_hrp to re-enable notifications after
    reconnecting
  - Standardizing code and fixing functionality of default_MANU_INIT_CFG
    and supplemental_calibrate
  - Adding low power clock options for the external clock and RC oscillator
    to peripheral_server_standby
  - Bug fix to the RC oscillator and added an oscillator measurement feature
    to peripheral_server_sleep
  - Optimized throughput for central_client_uart and peripheral_server_uart
- Edge cases for the use of the DMA have been clarified in the "Hardware
  Reference"
- Various updates to documentation in the "Getting Started with RSL10",
  "Firmware Reference", "Sample Code User's Guide", and "Hardware Reference".

Migrating from RSL10 EDK 1.2 to 1.3:
Code written for EDK 1.2 is compatible with 1.3, except for the
following:
- SIZEOF_WHITELIST in rsl10_map_nvr.h has been replaced by the more
  appropriately named SIZEOF_BONDLIST
- BondInfo_Type->INDEX in rsl10_map_nvr.h has been replaced by the more
  appropriately named BondInfo_Type->STATE
- The sleep_mode_env_tag structure has been updated with a number of
  underlying changes to the structures used to support switching to Sleep
  Mode. Refer to the updated sleep mode applications for the required
  updates to work with the updated firmware.


Known Issues
============

Installer Fails if the Path is Too Long
---------------------------------------
If the installation path is longer than 50 characters, the installer
fails with an error specifying which path is too long. When the
installer tries to install some of the subfolders, the entire path
length exceeds the maximum allowed by Windows. If you choose a location
that is different from the default installation location, ensure that
it does not exceed 50 characters.


Heart Rate Sample Application
-----------------------------
In the heart rate sample application, only central devices with public
addresses are added to the white list since private resolvable random
addresses are not currently being recognized.


Direct Test Mode Script Not Calculating Packet Errors Correctly
---------------------------------------------------------------
The Direct Test Mode Script is not calculating packet errors correctly
for the 2 Mbps function or for data lengths larger than 37 bytes.


Measuring Power Consumption on the RSL10 Evaluation Boards
----------------------------------------------------------
To measure power consumption on the QFN evaluation board, you will need
to use an external configuration consisting of an ammeter connected to 
the CURRENT headers in series and an external power supply. To measure 
power consumption using the WLCSP evaluation board, the ammeter can be 
attached in series with the power supply. This will add an 8 uA offset
which should be subtracted from the measurement provided using the QFN
evaluation board.
 

Audio Stream Broadcast Custom Protocol
--------------------------------------
The audio stream broadcast custom protocol has not been fully characterized.
This can result in unexpected behavior when working with the Audio Stream
Broadcast custom protocol implementation provided for Ezairo 7150 SL.


Sample Code Limited to 16 kHz Usable Input from 32 kHz Sampled Source
---------------------------------------------------------------------
The Audio Stream Broadcast custom protocol sample applications include a PCM
input that in some cases is scaled from 32 kHz sampling down to 16 kHz
sampling. For these use cases, a simple filtering scheme that drops every
second sample is used. In the future, this will be updated to provide
filtering using the asynchronous sample rate conversion block.


The Low-Latency Custom Protocol's Pseudo Random Frequency Hopping Does Not
Work After Power Optimization
--------------------------------------------------------------------------
In some situations after a retransmission, the link has a problem and
terminates.


Issues When Using the Sys_RFFE_SetTXPower to set the PA Power Between -20 dBm
and -1 dBm
-----------------------------------------------------------------------------
Both the Bluetooth stack initialization function and the Sys_RFFE_SetTXPower
function configure the power provided to the RF front-ends power amplifier
(PA). This conflict results in the Bluetooth stack initialization corrupting
the settings selected using the Sys_RFFE_SetTXPower function when attempting
to configure the device for a PA power level between -20 dBm and -1 dBm. This
is only an issue when the Bluetooth stack is initialized after the
Sys_RFFE_SetTXPower function is called.

When configuring the output PA power to -20 dBm or -19 dBm, the expected error
may be beyond the +/- 1 dBm expected for all other PA power configurations. 


Use of the 32 kHz RC Oscillator in the Peripheral-Server Standby Application
----------------------------------------------------------------------------
The release configuration of the peripheral-server standby application fails
to advertise when using the RC oscillator as the clock source.

Use of the 32 kHz RC Oscillator in the Peripheral-Server Sleep Application
--------------------------------------------------------------------------
In the peripheral-server sleep application, if using the 32 kHz RC oscillator 
to clock the period between transactions over Bluetooth, the frequency of the 
RC oscillator is not updated correctly and Bluetooth connections using this 
clock for timing will disconnect if the oscillator frequency drifts over time.


LPDSP32 Documentation is Preliminary
------------------------------------
The LPDSP32 Support information in the PDF file is marked "Preliminary"
because it is expected to change significantly in future releases,
especially due to feedback from this initial release in EDK 1.3.


Further Reading
===============

See "Getting Started with RSL10" to discover:
- How to install the software development tools
- How to connect to the Evaluation and Development Board
- How to run a simple sample application that shows the board is working
- An overview of the documentation set


Map to Zip Files
================

RSL10_EDK:                 Contains the Getting Started guide and installer
                           for the standard RSL10 IDE (Kepler Eclipse).

Documentation.zip:         All manuals in one folder that can be accessed
                           without installing or starting an IDE

RSL10_Utility_Apps.zip:    Contains utility applications and external projects
                           which can be used to help demonstrate and test the
                           functionality of the RSL10 
                           Evaluation and Development Board:
                           - Standalone Flash Loader
                           - Ezairo 7100-based sample audio applications

RSL10_LPDSP32_Support.zip: Startup files, Eclipse project files, a utility to
                           integrate LPDSP32 output code with ARM Cortex-M3
                           processor code, a test suite, and documentation 

History
=======
Release 1.2
-----------

Bug fixes:
- Issue with RX window widening is fixed
- Slave clock can be configured according to clock accuracy values
- Issue with out-of-sequence packets being transferred from Bluetooth
  low energy stacks to the application is resolved
- Direct Test Mode (DTM) test capability is now supported by both light 
  and full BLE stacks

What's new:
- The set of sample applications has expanded to include:
  - 17 samples that demonstrate functionality without using Bluetooth(R)
    low energy technology:
    - I2C Master Interface
    - I2C Slave Interface
    - SPI Master Interface
    - SPI Slave Interface
    - Flash Copier and CRC Block
    - UART Interface with DMA
    - UART Interface
    - SysTick Clock
    - Free Running Timer
    - Multi Shot Timer
    - AES-128 Encryption/ Decryption
    - DMIC to OD Audio Pass-through
    - PCM Master Interface
    - PCM Slave Interface
    - ADC and BATMON
    - 32 kHz RC Clock Measurement
    - Kernel Timer
  - UART Over Bluetooth low energy technology
  - Firmware Over The Air
  - Another low power sample demonstrating standby mode
  - Supplemental calibration
  - Remote microphone protocol for stereo audio streaming
- Various improvements in the peripheral_server_sleep application:
  - Compatibility with Bluetooth light and full stacks
  - Support for multiple system clock configurations
  - Reduced power consumption
- The flash loader has been integrated into the Segger J-Link tools 
  starting from version 6.18c. This version should be used for developing 
  and debugging code.The Stand Alone Flash Loader is still available 
  within the RSL10_Utility_Apps.zip file for compatibility but is no 
  longer part of the IDE installation.
- Several configurations of IDEs are available; see the "Map to Zip Files"
  section below for more information.
- The necessary information from the Software Development Tools User's Guide
  has been moved to the respective Getting Started manuals for the various
  Integrated Development Environments (IDEs).
- The various Getting Started manuals contain installation instructions in 
  addition to the basic EDK usage information

Migrating from RSL10 EDK 1.1 to 1.2:
- We no longer provide built-in support for SV3 (early pre-production) silicon.
- The "libs" folder inside the RSL10 EDK installation was renamed to "lib".
- We no longer provide pre-built Debug variants of libraries. Source code with
  project settings that can be used to create Debug libraries is available.
  All sample applications now use the pre-built Release version of libraries.
- To migrate applications from RSL10 EDK 1.1 to 1.2, replace the library search
  paths in the project settings as follows:
             Existing value:                                      New value:
"${eclipse_home}../libs/debug"                       "${eclipse_home}../lib/Release"
"${eclipse_home}../libs/release"                     "${eclipse_home}../lib/Release"
"${eclipse_home}../libs/ble_core/debug"              "${eclipse_home}../lib/ble_core/Release"
"${eclipse_home}../libs/ble_core/release"            "${eclipse_home}../lib/ble_core/Release"
"${eclipse_home}../libs/ble_core/debug_light"        "${eclipse_home}../lib/ble_core/Release_Light"
"${eclipse_home}../libs/ble_core/release_light"      "${eclipse_home}../lib/ble_core/Release_Light"
"${eclipse_home}../libs/ble_core/debug_hci"          "${eclipse_home}../lib/ble_core/Release_HCI"
"${eclipse_home}../libs/ble_core/release_hci"        "${eclipse_home}../lib/ble_core/Release_HCI"
"${eclipse_home}../libs/ble_profiles/debug"          "${eclipse_home}../lib/ble_profiles/Release"
"${eclipse_home}../libs/ble_profiles/release"        "${eclipse_home}../lib/ble_profiles/Release"
"${eclipse_home}../libs/ble_profiles/debug_hci"      "${eclipse_home}../lib/ble_profiles/Release_HCI"
"${eclipse_home}../libs/ble_profiles/release_hci"    "${eclipse_home}../lib/ble_profiles/Release_HCI"
- NOTE: System library sleep/wakeup functions were updated. Existing 
  applications based on the "peripheral_server_sleep" example might be 
  incompatible with RSL10 EDK 1.2. Refer to the latest version of the 
  application to learn how to use the new features. 

Release 1.1
-----------

- Simplified installation procedure: rm and make are part of the installer,
  and the flash loader has been added to the sample application projects so
  that it no longer requires setting up as an IDE external tool.
- New sample applications: blinky--a simple GPIO I/O, and Standby Power Mode
- As part of ongoing efforts to improve the accessibility of information
  provided by our sample applications, all Bluetooth low energy technology
  applications that are delivered as part of the software development tools
  have been restructured for clarity. The applications that have not
  completed this process are separated in a subfolder of samples called
  Evolving, to indicate that they are structured in a less optimal style.
- Direct Test Mode (DTM) supports the Anritsu MT8852B Bluetooth test set
- Flash Loader improvements
- Revised Bluetooth low energy and kernel libraries
- New manuals: RSL10 Installation Guide and Release Notes and RSL10 Sample
  Code User's Guide
- Revised and updated documentation

===============================================================================
Copyright (c) 2017 Semiconductor Components Industries, LLC
(d/b/a ON Semiconductor).
