..  README
    Newest guides at the top. Previous one-time guides go into Previous Migration
    Guides section. The nice thing here is that you just need to move the guide.
    Also, these guide are intended to be static one-time snapshots. No effort
    will be made to re-purpose each porting guide for the next release.


Porting and Migration Guides
============================


Porting Guides
--------------

Porting guides are used to port incremental changes from the previous SDK.

SDK porting guides
^^^^^^^^^^^^^^^^^^

.. toctree::
    :titlesonly:

    /ble-stack-5.x-guide/porting-guides/cc23xx/CC23XX_SDK_9.11_to_9.14.rst
    /ble-stack-5.x-guide/porting-guides/cc23xx/CC23XX_SDK_9.10_to_9.11.rst
    /ble-stack-5.x-guide/porting-guides/cc23xx/CC23XX_SDK_8.40_to_9.10.rst
    /ble-stack-5.x-guide/porting-guides/cc23xx/CC23XX_SDK_8.20_to_8.40.rst
    /ble-stack-5.x-guide/porting-guides/cc23xx/CC23XX_SDK_8.10_to_8.20.rst
    /ble-stack-5.x-guide/porting-guides/cc23xx/CC23XX_SDK_7.40_to_8.10.rst
    /ble-stack-5.x-guide/porting-guides/cc23xx/CC23XX_SDK_7.20_to_7.40.rst
    /ble-stack-5.x-guide/porting-guides/cc23xx/CC23XX_SDK_7.10_to_7.20.rst

Fixed Issues
^^^^^^^^^^^^

.. toctree::
    :titlesonly:
    
    /ble-stack-5.x-guide/porting-guides/cc23xx/CC23XX_comprehensive_fix_list.rst

.. Year-to-Year Migration Guides
.. -----------------------------
.. The following migration guides are designed to help migrate across multiple SDK releases.

.. .. toctree: ..:
..     :titlesonly:

..     porting-guides/ble5stack2.01.02-to-ble5stack2.02.01.rst
..     porting-guides/ble5stack2.01.01-to-ble5stack2.02.01.rst


Migration Guides
----------------
Migration guides are used to migrate major changes, e.g. from one device to
another device or from one configuration to another.

.. note:: 
    The F3 SDK 8.40 introduces the RNG Health Check functionality: the RNG 
    driver random number generation APIs will now perform an entropy check and not 
    generate any output if the entropy is not within acceptable ranges; in such case 
    random number generation should be re-attempted. This could cause existing 
    implementations of RNG to not work as expected.

.. code-block:: 
    :caption: Code snippet for checking RNG
    
    for(int i = 0; i < n; i++) //n should be set to at least 5 or 10
    {
        rclStatus = RCL_AdcNoise_get_samples_blocking(localNoiseInput, RNGLPF3RF_noiseInputWordLen);
        
        // Initialize the RNG driver noise input pointer with global noise input array from user //
        rclStatus = RNGLPF3RF_conditionNoiseToGenerateSeed(localNoiseInput);

        if(rclStatus = 0)
        {
        //RNG driver has succeeded generating a number
        break;
        }

        else if(i == (n-1))
        {
        //error handling, report error here
        }
    }


Device migration guides
^^^^^^^^^^^^^^^^^^^^^^^

.. toctree::
    :titlesonly:
                                                                                                                                                                                                                                                 
    /ble-stack-5.x-guide/porting-guides/cc26x2_to_cc23xx.rst
    /ble-stack-5.x-guide/porting-guides/cc2640r2_to_cc23xx.rst
    /ble-stack-5.x-guide/porting-guides/cc254x_to_cc23xx.rst
    /ble-stack-5.x-guide/porting-guides/cc2340r5_to_cc2340r21.rst
    /ble-stack-5.x-guide/porting-guides/cc2340r5_to_cc2340r22.rst
    /ble-stack-5.x-guide/porting-guides/cc2340r5_to_cc2340r53.rst

Other migration guides
^^^^^^^^^^^^^^^^^^^^^^

.. toctree::
    :titlesonly:
    
    /cc23xx/uart_to_uart2.rst
    /cc23xx/gpio-porting-guide-cc23xx.rst
    /ble-stack-5.x-guide/porting-guides/blestack_to_ble5stack-cc23xx.rst
    /ble-stack-5.x-guide/porting-guides/cc23xx/CC2340R5_to_CC2340R5Q.rst
    /cc23xx/cc2340r53-migration-guide.rst
    /ble-stack-5.x-guide/porting-guides/cc23xx/CC2340R53_to_CC2340R53Q1.rst

* :ref:`sec-migrating_to_qfn24_4x4`