diff --git a/cpu/cc26xx-cc13xx/rf-core/api/ble_cmd.h b/cpu/cc26xx-cc13xx/rf-core/api/ble_cmd.h
deleted file mode 100644
index 01324401f2d5b6dec7cd8523dd011f59e9638491..0000000000000000000000000000000000000000
--- a/cpu/cc26xx-cc13xx/rf-core/api/ble_cmd.h
+++ /dev/null
@@ -1,1081 +0,0 @@
-/******************************************************************************
-*  Filename:       ble_cmd.h
-*  Revised:        $ $
-*  Revision:       $ $
-*
-*  Description:    CC26xx/CC13xx API for Bluetooth Low Energy commands
-*
-*  Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
-*
-*
-*  Redistribution and use in source and binary forms, with or without
-*  modification, are permitted provided that the following conditions
-*  are met:
-*
-*    Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer.
-*
-*    Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in the
-*    documentation and/or other materials provided with the distribution.
-*
-*    Neither the name of Texas Instruments Incorporated nor the names of
-*    its contributors may be used to endorse or promote products derived
-*    from this software without specific prior written permission.
-*
-*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-*  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-*  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-*  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-*  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-*  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-*  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-*  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-*  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-*  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-*  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-******************************************************************************/
-
-#ifndef BLE_CMD_H_
-#define BLE_CMD_H_
-
-#ifndef __RFC_STRUCT
-#ifdef __GNUC__
-#define __RFC_STRUCT __attribute__ ((aligned (4)))
-#else
-#define __RFC_STRUCT
-#endif
-#endif
-
-//! \addtogroup rfc
-//! @{
-
-//! \addtogroup ble_cmd
-//! @{
-
-#include <stdint.h>
-#include "mailbox.h"
-#include "common_cmd.h"
-
-typedef struct __RFC_STRUCT rfc_bleRadioOp_s rfc_bleRadioOp_t;
-typedef struct __RFC_STRUCT rfc_CMD_BLE_SLAVE_s rfc_CMD_BLE_SLAVE_t;
-typedef struct __RFC_STRUCT rfc_CMD_BLE_MASTER_s rfc_CMD_BLE_MASTER_t;
-typedef struct __RFC_STRUCT rfc_CMD_BLE_ADV_s rfc_CMD_BLE_ADV_t;
-typedef struct __RFC_STRUCT rfc_CMD_BLE_ADV_DIR_s rfc_CMD_BLE_ADV_DIR_t;
-typedef struct __RFC_STRUCT rfc_CMD_BLE_ADV_NC_s rfc_CMD_BLE_ADV_NC_t;
-typedef struct __RFC_STRUCT rfc_CMD_BLE_ADV_SCAN_s rfc_CMD_BLE_ADV_SCAN_t;
-typedef struct __RFC_STRUCT rfc_CMD_BLE_SCANNER_s rfc_CMD_BLE_SCANNER_t;
-typedef struct __RFC_STRUCT rfc_CMD_BLE_INITIATOR_s rfc_CMD_BLE_INITIATOR_t;
-typedef struct __RFC_STRUCT rfc_CMD_BLE_GENERIC_RX_s rfc_CMD_BLE_GENERIC_RX_t;
-typedef struct __RFC_STRUCT rfc_CMD_BLE_TX_TEST_s rfc_CMD_BLE_TX_TEST_t;
-typedef struct __RFC_STRUCT rfc_CMD_BLE_ADV_PAYLOAD_s rfc_CMD_BLE_ADV_PAYLOAD_t;
-typedef struct __RFC_STRUCT rfc_bleMasterSlavePar_s rfc_bleMasterSlavePar_t;
-typedef struct __RFC_STRUCT rfc_bleMasterPar_s rfc_bleMasterPar_t;
-typedef struct __RFC_STRUCT rfc_bleSlavePar_s rfc_bleSlavePar_t;
-typedef struct __RFC_STRUCT rfc_bleAdvPar_s rfc_bleAdvPar_t;
-typedef struct __RFC_STRUCT rfc_bleScannerPar_s rfc_bleScannerPar_t;
-typedef struct __RFC_STRUCT rfc_bleInitiatorPar_s rfc_bleInitiatorPar_t;
-typedef struct __RFC_STRUCT rfc_bleGenericRxPar_s rfc_bleGenericRxPar_t;
-typedef struct __RFC_STRUCT rfc_bleTxTestPar_s rfc_bleTxTestPar_t;
-typedef struct __RFC_STRUCT rfc_bleMasterSlaveOutput_s rfc_bleMasterSlaveOutput_t;
-typedef struct __RFC_STRUCT rfc_bleAdvOutput_s rfc_bleAdvOutput_t;
-typedef struct __RFC_STRUCT rfc_bleScannerOutput_s rfc_bleScannerOutput_t;
-typedef struct __RFC_STRUCT rfc_bleInitiatorOutput_s rfc_bleInitiatorOutput_t;
-typedef struct __RFC_STRUCT rfc_bleGenericRxOutput_s rfc_bleGenericRxOutput_t;
-typedef struct __RFC_STRUCT rfc_bleTxTestOutput_s rfc_bleTxTestOutput_t;
-typedef struct __RFC_STRUCT rfc_bleWhiteListEntry_s rfc_bleWhiteListEntry_t;
-typedef struct __RFC_STRUCT rfc_bleRxStatus_s rfc_bleRxStatus_t;
-
-//! \addtogroup bleRadioOp
-//! @{
-struct __RFC_STRUCT rfc_bleRadioOp_s {
-   uint16_t commandNo;                  //!<        The command ID number
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   uint8_t channel;                     //!< \brief Channel to use<br>
-                                        //!<        0&ndash;39: BLE advertising/data channel number
-                                        //!<        60&ndash;207: Custom frequency; (2300 + <code>channel</code>) MHz
-                                        //!<        255: Use existing frequency
-                                        //!<        Others: <i>Reserved<i>
-   struct {
-      uint8_t init:7;                   //!< \brief If <code>bOverride</code> = 1 or custom frequency is used:<br>
-                                        //!<        0: Do not use whitening<br>
-                                        //!<        Other value: Initialization for 7-bit LFSR whitener
-      uint8_t bOverride:1;              //!< \brief 0: Use default whitening for BLE advertising/data channels<br>
-                                        //!<        1: Override whitening initialization with value of init
-   } whitening;
-   uint8_t* pParams;                    //!<        Pointer to command specific parameter structure
-   uint8_t* pOutput;                    //!<        Pointer to command specific output structure
-};
-
-//! @}
-
-//! \addtogroup CMD_BLE_SLAVE
-//! @{
-#define CMD_BLE_SLAVE                                           0x1801
-struct __RFC_STRUCT rfc_CMD_BLE_SLAVE_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x1801
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   uint8_t channel;                     //!< \brief Channel to use<br>
-                                        //!<        0&ndash;39: BLE advertising/data channel number
-                                        //!<        60&ndash;207: Custom frequency; (2300 + <code>channel</code>) MHz
-                                        //!<        255: Use existing frequency
-                                        //!<        Others: <i>Reserved<i>
-   struct {
-      uint8_t init:7;                   //!< \brief If <code>bOverride</code> = 1 or custom frequency is used:<br>
-                                        //!<        0: Do not use whitening<br>
-                                        //!<        Other value: Initialization for 7-bit LFSR whitener
-      uint8_t bOverride:1;              //!< \brief 0: Use default whitening for BLE advertising/data channels<br>
-                                        //!<        1: Override whitening initialization with value of init
-   } whitening;
-   rfc_bleSlavePar_t *pParams;          //!<        Pointer to command specific parameter structure
-   rfc_bleMasterSlaveOutput_t *pOutput; //!<        Pointer to command specific output structure
-};
-
-//! @}
-
-//! \addtogroup CMD_BLE_MASTER
-//! @{
-#define CMD_BLE_MASTER                                          0x1802
-struct __RFC_STRUCT rfc_CMD_BLE_MASTER_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x1802
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   uint8_t channel;                     //!< \brief Channel to use<br>
-                                        //!<        0&ndash;39: BLE advertising/data channel number
-                                        //!<        60&ndash;207: Custom frequency; (2300 + <code>channel</code>) MHz
-                                        //!<        255: Use existing frequency
-                                        //!<        Others: <i>Reserved<i>
-   struct {
-      uint8_t init:7;                   //!< \brief If <code>bOverride</code> = 1 or custom frequency is used:<br>
-                                        //!<        0: Do not use whitening<br>
-                                        //!<        Other value: Initialization for 7-bit LFSR whitener
-      uint8_t bOverride:1;              //!< \brief 0: Use default whitening for BLE advertising/data channels<br>
-                                        //!<        1: Override whitening initialization with value of init
-   } whitening;
-   rfc_bleMasterPar_t *pParams;         //!<        Pointer to command specific parameter structure
-   rfc_bleMasterSlaveOutput_t *pOutput; //!<        Pointer to command specific output structure
-};
-
-//! @}
-
-//! \addtogroup CMD_BLE_ADV
-//! @{
-#define CMD_BLE_ADV                                             0x1803
-struct __RFC_STRUCT rfc_CMD_BLE_ADV_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x1803
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   uint8_t channel;                     //!< \brief Channel to use<br>
-                                        //!<        0&ndash;39: BLE advertising/data channel number
-                                        //!<        60&ndash;207: Custom frequency; (2300 + <code>channel</code>) MHz
-                                        //!<        255: Use existing frequency
-                                        //!<        Others: <i>Reserved<i>
-   struct {
-      uint8_t init:7;                   //!< \brief If <code>bOverride</code> = 1 or custom frequency is used:<br>
-                                        //!<        0: Do not use whitening<br>
-                                        //!<        Other value: Initialization for 7-bit LFSR whitener
-      uint8_t bOverride:1;              //!< \brief 0: Use default whitening for BLE advertising/data channels<br>
-                                        //!<        1: Override whitening initialization with value of init
-   } whitening;
-   rfc_bleAdvPar_t *pParams;            //!<        Pointer to command specific parameter structure
-   rfc_bleAdvOutput_t *pOutput;         //!<        Pointer to command specific output structure
-};
-
-//! @}
-
-//! \addtogroup CMD_BLE_ADV_DIR
-//! @{
-#define CMD_BLE_ADV_DIR                                         0x1804
-struct __RFC_STRUCT rfc_CMD_BLE_ADV_DIR_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x1804
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   uint8_t channel;                     //!< \brief Channel to use<br>
-                                        //!<        0&ndash;39: BLE advertising/data channel number
-                                        //!<        60&ndash;207: Custom frequency; (2300 + <code>channel</code>) MHz
-                                        //!<        255: Use existing frequency
-                                        //!<        Others: <i>Reserved<i>
-   struct {
-      uint8_t init:7;                   //!< \brief If <code>bOverride</code> = 1 or custom frequency is used:<br>
-                                        //!<        0: Do not use whitening<br>
-                                        //!<        Other value: Initialization for 7-bit LFSR whitener
-      uint8_t bOverride:1;              //!< \brief 0: Use default whitening for BLE advertising/data channels<br>
-                                        //!<        1: Override whitening initialization with value of init
-   } whitening;
-   rfc_bleAdvPar_t *pParams;            //!<        Pointer to command specific parameter structure
-   rfc_bleAdvOutput_t *pOutput;         //!<        Pointer to command specific output structure
-};
-
-//! @}
-
-//! \addtogroup CMD_BLE_ADV_NC
-//! @{
-#define CMD_BLE_ADV_NC                                          0x1805
-struct __RFC_STRUCT rfc_CMD_BLE_ADV_NC_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x1805
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   uint8_t channel;                     //!< \brief Channel to use<br>
-                                        //!<        0&ndash;39: BLE advertising/data channel number
-                                        //!<        60&ndash;207: Custom frequency; (2300 + <code>channel</code>) MHz
-                                        //!<        255: Use existing frequency
-                                        //!<        Others: <i>Reserved<i>
-   struct {
-      uint8_t init:7;                   //!< \brief If <code>bOverride</code> = 1 or custom frequency is used:<br>
-                                        //!<        0: Do not use whitening<br>
-                                        //!<        Other value: Initialization for 7-bit LFSR whitener
-      uint8_t bOverride:1;              //!< \brief 0: Use default whitening for BLE advertising/data channels<br>
-                                        //!<        1: Override whitening initialization with value of init
-   } whitening;
-   rfc_bleAdvPar_t *pParams;            //!<        Pointer to command specific parameter structure
-   rfc_bleAdvOutput_t *pOutput;         //!<        Pointer to command specific output structure
-};
-
-//! @}
-
-//! \addtogroup CMD_BLE_ADV_SCAN
-//! @{
-#define CMD_BLE_ADV_SCAN                                        0x1806
-struct __RFC_STRUCT rfc_CMD_BLE_ADV_SCAN_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x1806
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   uint8_t channel;                     //!< \brief Channel to use<br>
-                                        //!<        0&ndash;39: BLE advertising/data channel number
-                                        //!<        60&ndash;207: Custom frequency; (2300 + <code>channel</code>) MHz
-                                        //!<        255: Use existing frequency
-                                        //!<        Others: <i>Reserved<i>
-   struct {
-      uint8_t init:7;                   //!< \brief If <code>bOverride</code> = 1 or custom frequency is used:<br>
-                                        //!<        0: Do not use whitening<br>
-                                        //!<        Other value: Initialization for 7-bit LFSR whitener
-      uint8_t bOverride:1;              //!< \brief 0: Use default whitening for BLE advertising/data channels<br>
-                                        //!<        1: Override whitening initialization with value of init
-   } whitening;
-   rfc_bleAdvPar_t *pParams;            //!<        Pointer to command specific parameter structure
-   rfc_bleAdvOutput_t *pOutput;         //!<        Pointer to command specific output structure
-};
-
-//! @}
-
-//! \addtogroup CMD_BLE_SCANNER
-//! @{
-#define CMD_BLE_SCANNER                                         0x1807
-struct __RFC_STRUCT rfc_CMD_BLE_SCANNER_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x1807
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   uint8_t channel;                     //!< \brief Channel to use<br>
-                                        //!<        0&ndash;39: BLE advertising/data channel number
-                                        //!<        60&ndash;207: Custom frequency; (2300 + <code>channel</code>) MHz
-                                        //!<        255: Use existing frequency
-                                        //!<        Others: <i>Reserved<i>
-   struct {
-      uint8_t init:7;                   //!< \brief If <code>bOverride</code> = 1 or custom frequency is used:<br>
-                                        //!<        0: Do not use whitening<br>
-                                        //!<        Other value: Initialization for 7-bit LFSR whitener
-      uint8_t bOverride:1;              //!< \brief 0: Use default whitening for BLE advertising/data channels<br>
-                                        //!<        1: Override whitening initialization with value of init
-   } whitening;
-   rfc_bleScannerPar_t *pParams;        //!<        Pointer to command specific parameter structure
-   rfc_bleScannerOutput_t *pOutput;     //!<        Pointer to command specific output structure
-};
-
-//! @}
-
-//! \addtogroup CMD_BLE_INITIATOR
-//! @{
-#define CMD_BLE_INITIATOR                                       0x1808
-struct __RFC_STRUCT rfc_CMD_BLE_INITIATOR_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x1808
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   uint8_t channel;                     //!< \brief Channel to use<br>
-                                        //!<        0&ndash;39: BLE advertising/data channel number
-                                        //!<        60&ndash;207: Custom frequency; (2300 + <code>channel</code>) MHz
-                                        //!<        255: Use existing frequency
-                                        //!<        Others: <i>Reserved<i>
-   struct {
-      uint8_t init:7;                   //!< \brief If <code>bOverride</code> = 1 or custom frequency is used:<br>
-                                        //!<        0: Do not use whitening<br>
-                                        //!<        Other value: Initialization for 7-bit LFSR whitener
-      uint8_t bOverride:1;              //!< \brief 0: Use default whitening for BLE advertising/data channels<br>
-                                        //!<        1: Override whitening initialization with value of init
-   } whitening;
-   rfc_bleInitiatorPar_t *pParams;      //!<        Pointer to command specific parameter structure
-   rfc_bleInitiatorOutput_t *pOutput;   //!<        Pointer to command specific output structure
-};
-
-//! @}
-
-//! \addtogroup CMD_BLE_GENERIC_RX
-//! @{
-#define CMD_BLE_GENERIC_RX                                      0x1809
-struct __RFC_STRUCT rfc_CMD_BLE_GENERIC_RX_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x1809
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   uint8_t channel;                     //!< \brief Channel to use<br>
-                                        //!<        0&ndash;39: BLE advertising/data channel number
-                                        //!<        60&ndash;207: Custom frequency; (2300 + <code>channel</code>) MHz
-                                        //!<        255: Use existing frequency
-                                        //!<        Others: <i>Reserved<i>
-   struct {
-      uint8_t init:7;                   //!< \brief If <code>bOverride</code> = 1 or custom frequency is used:<br>
-                                        //!<        0: Do not use whitening<br>
-                                        //!<        Other value: Initialization for 7-bit LFSR whitener
-      uint8_t bOverride:1;              //!< \brief 0: Use default whitening for BLE advertising/data channels<br>
-                                        //!<        1: Override whitening initialization with value of init
-   } whitening;
-   rfc_bleGenericRxPar_t *pParams;      //!<        Pointer to command specific parameter structure
-   rfc_bleGenericRxOutput_t *pOutput;   //!<        Pointer to command specific output structure
-};
-
-//! @}
-
-//! \addtogroup CMD_BLE_TX_TEST
-//! @{
-#define CMD_BLE_TX_TEST                                         0x180A
-struct __RFC_STRUCT rfc_CMD_BLE_TX_TEST_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x180A
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   uint8_t channel;                     //!< \brief Channel to use<br>
-                                        //!<        0&ndash;39: BLE advertising/data channel number
-                                        //!<        60&ndash;207: Custom frequency; (2300 + <code>channel</code>) MHz
-                                        //!<        255: Use existing frequency
-                                        //!<        Others: <i>Reserved<i>
-   struct {
-      uint8_t init:7;                   //!< \brief If <code>bOverride</code> = 1 or custom frequency is used:<br>
-                                        //!<        0: Do not use whitening<br>
-                                        //!<        Other value: Initialization for 7-bit LFSR whitener
-      uint8_t bOverride:1;              //!< \brief 0: Use default whitening for BLE advertising/data channels<br>
-                                        //!<        1: Override whitening initialization with value of init
-   } whitening;
-   rfc_bleTxTestPar_t *pParams;         //!<        Pointer to command specific parameter structure
-   rfc_bleTxTestOutput_t *pOutput;      //!<        Pointer to command specific output structure
-};
-
-//! @}
-
-//! \addtogroup CMD_BLE_ADV_PAYLOAD
-//! @{
-#define CMD_BLE_ADV_PAYLOAD                                     0x1001
-struct __RFC_STRUCT rfc_CMD_BLE_ADV_PAYLOAD_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x1001
-   uint8_t payloadType;                 //!< \brief 0: Advertising data<br>
-                                        //!<        1: Scan response data
-   uint8_t newLen;                      //!<        Length of the new payload
-   uint8_t* pNewData;                   //!<        Pointer to the buffer containing the new data
-   rfc_bleAdvPar_t *pParams;            //!<        Pointer to the parameter structure to update
-};
-
-//! @}
-
-//! \addtogroup bleMasterSlavePar
-//! @{
-struct __RFC_STRUCT rfc_bleMasterSlavePar_s {
-   dataQueue_t* pRxQ;                   //!<        Pointer to receive queue
-   dataQueue_t* pTxQ;                   //!<        Pointer to transmit queue
-   struct {
-      uint8_t bAutoFlushIgnored:1;      //!<        If 1, automatically remove ignored packets from Rx queue
-      uint8_t bAutoFlushCrcErr:1;       //!<        If 1, automatically remove packets with CRC error from Rx queue
-      uint8_t bAutoFlushEmpty:1;        //!<        If 1, automatically remove empty packets from Rx queue
-      uint8_t bIncludeLenByte:1;        //!<        If 1, include the received length byte in the stored packet; otherwise discard it
-      uint8_t bIncludeCrc:1;            //!<        If 1, include the received CRC field in the stored packet; otherwise discard it
-      uint8_t bAppendRssi:1;            //!<        If 1, append an RSSI byte to the packet in the Rx queue
-      uint8_t bAppendStatus:1;          //!<        If 1, append a status byte to the packet in the Rx queue
-      uint8_t bAppendTimestamp:1;       //!<        If 1, append a timestamp to the packet in the Rx queue
-   } rxConfig;                          //!<        Configuration bits for the receive queue entries
-   struct {
-      uint8_t lastRxSn:1;               //!<        The SN bit of the header of the last packet received with CRC OK
-      uint8_t lastTxSn:1;               //!<        The SN bit of the header of the last transmitted packet
-      uint8_t nextTxSn:1;               //!<        The SN bit of the header of the next packet to transmit
-      uint8_t bFirstPkt:1;              //!<        For slave: 0 if a packet has been transmitted on the connection, 1 otherwise
-      uint8_t bAutoEmpty:1;             //!<        1 if the last transmitted packet was an auto-empty packet
-      uint8_t bLlCtrlTx:1;              //!<        1 if the last transmitted packet was an LL control packet (LLID = 11)
-      uint8_t bLlCtrlAckRx:1;           //!<        1 if the last received packet was the ACK of an LL control packet
-      uint8_t bLlCtrlAckPending:1;      //!<        1 if the last successfully received packet was an LL control packet which has not yet been ACK'ed
-   } seqStat;
-   uint8_t maxNack;                     //!<        Maximum number of NACKs received before operation ends. 0: No limit
-   uint8_t maxPkt;                      //!<        Maximum number of packets transmitted in the operation before it ends. 0: No limit
-   uint32_t accessAddress;              //!<        Access address used on the connection
-   uint8_t crcInit0;                    //!<        CRC initialization value used on the connection &ndash; least significant byte
-   uint8_t crcInit1;                    //!<        CRC initialization value used on the connection &ndash; middle byte
-   uint8_t crcInit2;                    //!<        CRC initialization value used on the connection &ndash; most significant byte
-};
-
-//! @}
-
-//! \addtogroup bleMasterPar
-//! @{
-//! Parameter structure for master (CMD_BLE_MASTER)
-
-struct __RFC_STRUCT rfc_bleMasterPar_s {
-   dataQueue_t* pRxQ;                   //!<        Pointer to receive queue
-   dataQueue_t* pTxQ;                   //!<        Pointer to transmit queue
-   struct {
-      uint8_t bAutoFlushIgnored:1;      //!<        If 1, automatically remove ignored packets from Rx queue
-      uint8_t bAutoFlushCrcErr:1;       //!<        If 1, automatically remove packets with CRC error from Rx queue
-      uint8_t bAutoFlushEmpty:1;        //!<        If 1, automatically remove empty packets from Rx queue
-      uint8_t bIncludeLenByte:1;        //!<        If 1, include the received length byte in the stored packet; otherwise discard it
-      uint8_t bIncludeCrc:1;            //!<        If 1, include the received CRC field in the stored packet; otherwise discard it
-      uint8_t bAppendRssi:1;            //!<        If 1, append an RSSI byte to the packet in the Rx queue
-      uint8_t bAppendStatus:1;          //!<        If 1, append a status byte to the packet in the Rx queue
-      uint8_t bAppendTimestamp:1;       //!<        If 1, append a timestamp to the packet in the Rx queue
-   } rxConfig;                          //!<        Configuration bits for the receive queue entries
-   struct {
-      uint8_t lastRxSn:1;               //!<        The SN bit of the header of the last packet received with CRC OK
-      uint8_t lastTxSn:1;               //!<        The SN bit of the header of the last transmitted packet
-      uint8_t nextTxSn:1;               //!<        The SN bit of the header of the next packet to transmit
-      uint8_t bFirstPkt:1;              //!<        For slave: 0 if a packet has been transmitted on the connection, 1 otherwise
-      uint8_t bAutoEmpty:1;             //!<        1 if the last transmitted packet was an auto-empty packet
-      uint8_t bLlCtrlTx:1;              //!<        1 if the last transmitted packet was an LL control packet (LLID = 11)
-      uint8_t bLlCtrlAckRx:1;           //!<        1 if the last received packet was the ACK of an LL control packet
-      uint8_t bLlCtrlAckPending:1;      //!<        1 if the last successfully received packet was an LL control packet which has not yet been ACK'ed
-   } seqStat;
-   uint8_t maxNack;                     //!<        Maximum number of NACKs received before operation ends. 0: No limit
-   uint8_t maxPkt;                      //!<        Maximum number of packets transmitted in the operation before it ends. 0: No limit
-   uint32_t accessAddress;              //!<        Access address used on the connection
-   uint8_t crcInit0;                    //!<        CRC initialization value used on the connection &ndash; least significant byte
-   uint8_t crcInit1;                    //!<        CRC initialization value used on the connection &ndash; middle byte
-   uint8_t crcInit2;                    //!<        CRC initialization value used on the connection &ndash; most significant byte
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } endTrigger;                        //!<        Trigger that causes the device to end the connection event as soon as allowed
-   ratmr_t endTime;                     //!< \brief Time used together with <code>endTrigger</code> that causes the device to end the
-                                        //!<        connection event as soon as allowed
-};
-
-//! @}
-
-//! \addtogroup bleSlavePar
-//! @{
-//! Parameter structure for slave (CMD_BLE_SLAVE)
-
-struct __RFC_STRUCT rfc_bleSlavePar_s {
-   dataQueue_t* pRxQ;                   //!<        Pointer to receive queue
-   dataQueue_t* pTxQ;                   //!<        Pointer to transmit queue
-   struct {
-      uint8_t bAutoFlushIgnored:1;      //!<        If 1, automatically remove ignored packets from Rx queue
-      uint8_t bAutoFlushCrcErr:1;       //!<        If 1, automatically remove packets with CRC error from Rx queue
-      uint8_t bAutoFlushEmpty:1;        //!<        If 1, automatically remove empty packets from Rx queue
-      uint8_t bIncludeLenByte:1;        //!<        If 1, include the received length byte in the stored packet; otherwise discard it
-      uint8_t bIncludeCrc:1;            //!<        If 1, include the received CRC field in the stored packet; otherwise discard it
-      uint8_t bAppendRssi:1;            //!<        If 1, append an RSSI byte to the packet in the Rx queue
-      uint8_t bAppendStatus:1;          //!<        If 1, append a status byte to the packet in the Rx queue
-      uint8_t bAppendTimestamp:1;       //!<        If 1, append a timestamp to the packet in the Rx queue
-   } rxConfig;                          //!<        Configuration bits for the receive queue entries
-   struct {
-      uint8_t lastRxSn:1;               //!<        The SN bit of the header of the last packet received with CRC OK
-      uint8_t lastTxSn:1;               //!<        The SN bit of the header of the last transmitted packet
-      uint8_t nextTxSn:1;               //!<        The SN bit of the header of the next packet to transmit
-      uint8_t bFirstPkt:1;              //!<        For slave: 0 if a packet has been transmitted on the connection, 1 otherwise
-      uint8_t bAutoEmpty:1;             //!<        1 if the last transmitted packet was an auto-empty packet
-      uint8_t bLlCtrlTx:1;              //!<        1 if the last transmitted packet was an LL control packet (LLID = 11)
-      uint8_t bLlCtrlAckRx:1;           //!<        1 if the last received packet was the ACK of an LL control packet
-      uint8_t bLlCtrlAckPending:1;      //!<        1 if the last successfully received packet was an LL control packet which has not yet been ACK'ed
-   } seqStat;
-   uint8_t maxNack;                     //!<        Maximum number of NACKs received before operation ends. 0: No limit
-   uint8_t maxPkt;                      //!<        Maximum number of packets transmitted in the operation before it ends. 0: No limit
-   uint32_t accessAddress;              //!<        Access address used on the connection
-   uint8_t crcInit0;                    //!<        CRC initialization value used on the connection &ndash; least significant byte
-   uint8_t crcInit1;                    //!<        CRC initialization value used on the connection &ndash; middle byte
-   uint8_t crcInit2;                    //!<        CRC initialization value used on the connection &ndash; most significant byte
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } timeoutTrigger;                    //!<        Trigger that defines timeout of the first receive operation
-   ratmr_t timeoutTime;                 //!< \brief Time used together with <code>timeoutTrigger</code> that defines timeout of the first
-                                        //!<        receive operation
-   uint16_t __dummy0;
-   uint8_t __dummy1;
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } endTrigger;                        //!<        Trigger that causes the device to end the connection event as soon as allowed
-   ratmr_t endTime;                     //!< \brief Time used together with <code>endTrigger</code> that causes the device to end the
-                                        //!<        connection event as soon as allowed
-};
-
-//! @}
-
-//! \addtogroup bleAdvPar
-//! @{
-//! Parameter structure for advertiser (CMD_BLE_ADV*)
-
-struct __RFC_STRUCT rfc_bleAdvPar_s {
-   dataQueue_t* pRxQ;                   //!<        Pointer to receive queue
-   struct {
-      uint8_t bAutoFlushIgnored:1;      //!<        If 1, automatically remove ignored packets from Rx queue
-      uint8_t bAutoFlushCrcErr:1;       //!<        If 1, automatically remove packets with CRC error from Rx queue
-      uint8_t bAutoFlushEmpty:1;        //!<        If 1, automatically remove empty packets from Rx queue
-      uint8_t bIncludeLenByte:1;        //!<        If 1, include the received length byte in the stored packet; otherwise discard it
-      uint8_t bIncludeCrc:1;            //!<        If 1, include the received CRC field in the stored packet; otherwise discard it
-      uint8_t bAppendRssi:1;            //!<        If 1, append an RSSI byte to the packet in the Rx queue
-      uint8_t bAppendStatus:1;          //!<        If 1, append a status byte to the packet in the Rx queue
-      uint8_t bAppendTimestamp:1;       //!<        If 1, append a timestamp to the packet in the Rx queue
-   } rxConfig;                          //!<        Configuration bits for the receive queue entries
-   struct {
-      uint8_t advFilterPolicy:2;        //!< \brief The advertiser filter policy, as defined in Volume 2, Part E, Section 7.8.5 of
-                                        //!<        the Bluetooth 4.0 spec
-      uint8_t deviceAddrType:1;         //!<        The type of the device address &ndash; public (0) or random (1)
-      uint8_t peerAddrType:1;           //!<        Directed advertiser: The type of the peer address &ndash; public (0) or random (1)
-      uint8_t bStrictLenFilter:1;       //!<        1: Discard messages with illegal length
-   } advConfig;
-   uint8_t advLen;                      //!<        Size of advertiser data
-   uint8_t scanRspLen;                  //!<        Size of scan response data
-   uint8_t* pAdvData;                   //!<        Pointer to buffer containing ADV*_IND data
-   uint8_t* pScanRspData;               //!<        Pointer to buffer containing SCAN_RSP data
-   uint16_t* pDeviceAddress;            //!<        Pointer to device address used for this device
-   rfc_bleWhiteListEntry_t *pWhiteList; //!<        Pointer to white list or peer address (directed advertiser)
-   uint16_t __dummy0;
-   uint8_t __dummy1;
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } endTrigger;                        //!<        Trigger that causes the device to end the advertiser event as soon as allowed
-   ratmr_t endTime;                     //!< \brief Time used together with <code>endTrigger</code> that causes the device to end the
-                                        //!<        advertiser event as soon as allowed
-};
-
-//! @}
-
-//! \addtogroup bleScannerPar
-//! @{
-//! Parameter structure for scanner (CMD_BLE_SCANNER)
-
-struct __RFC_STRUCT rfc_bleScannerPar_s {
-   dataQueue_t* pRxQ;                   //!<        Pointer to receive queue
-   struct {
-      uint8_t bAutoFlushIgnored:1;      //!<        If 1, automatically remove ignored packets from Rx queue
-      uint8_t bAutoFlushCrcErr:1;       //!<        If 1, automatically remove packets with CRC error from Rx queue
-      uint8_t bAutoFlushEmpty:1;        //!<        If 1, automatically remove empty packets from Rx queue
-      uint8_t bIncludeLenByte:1;        //!<        If 1, include the received length byte in the stored packet; otherwise discard it
-      uint8_t bIncludeCrc:1;            //!<        If 1, include the received CRC field in the stored packet; otherwise discard it
-      uint8_t bAppendRssi:1;            //!<        If 1, append an RSSI byte to the packet in the Rx queue
-      uint8_t bAppendStatus:1;          //!<        If 1, append a status byte to the packet in the Rx queue
-      uint8_t bAppendTimestamp:1;       //!<        If 1, append a timestamp to the packet in the Rx queue
-   } rxConfig;                          //!<        Configuration bits for the receive queue entries
-   struct {
-      uint8_t scanFilterPolicy:1;       //!< \brief The advertiser filter policy, as defined in Volume 2, Part E, Section 7.8.10 of
-                                        //!<        the Bluetooth 4.0 spec
-      uint8_t bActiveScan:1;            //!< \brief 0: Passive scan<br>
-                                        //!<        1: Active scan
-      uint8_t deviceAddrType:1;         //!<        The type of the device address &ndash; public (0) or random (1)
-      uint8_t :1;
-      uint8_t bStrictLenFilter:1;       //!<        1: Discard messages with illegal length
-      uint8_t bAutoWlIgnore:1;          //!<        1: Automatically set ignore bit in white list
-      uint8_t bEndOnRpt:1;              //!<        1: End scanner operation after each reported ADV*_IND and potentially SCAN_RSP
-   } scanConfig;
-   uint16_t randomState;                //!<        State for pseudo-random number generation used in backoff procedure
-   uint16_t backoffCount;               //!<        Parameter <i>backoffCount</i> used in backoff procedure, cf. Bluetooth 4.0 spec
-   struct {
-      uint8_t logUpperLimit:4;          //!<        Binary logarithm of parameter upperLimit used in scanner backoff procedure
-      uint8_t bLastSucceeded:1;         //!< \brief 1 if the last SCAN_RSP was successfully received and <code>upperLimit</code>
-                                        //!<        not changed
-      uint8_t bLastFailed:1;            //!< \brief 1 if reception of the last SCAN_RSP failed and <code>upperLimit</code> was not
-                                        //!<        changed
-   } backoffPar;
-   uint8_t scanReqLen;                  //!<        Size of scan request data
-   uint8_t* pScanReqData;               //!<        Pointer to buffer containing SCAN_REQ data
-   uint16_t* pDeviceAddress;            //!<        Pointer to device address used for this device
-   rfc_bleWhiteListEntry_t *pWhiteList; //!<        Pointer to white list
-   uint16_t __dummy0;
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } timeoutTrigger;                    //!<        Trigger that causes the device to stop receiving as soon as allowed
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } endTrigger;                        //!<        Trigger that causes the device to stop receiving as soon as allowed
-   ratmr_t timeoutTime;                 //!< \brief Time used together with <code>timeoutTrigger</code> that causes the device to stop
-                                        //!<        receiving as soon as allowed, ending with BLE_DONE_RXTIMEOUT
-   ratmr_t endTime;                     //!< \brief Time used together with <code>endTrigger</code> that causes the device to stop
-                                        //!<        receiving as soon as allowed, ending with BLE_DONE_ENDED
-};
-
-//! @}
-
-//! \addtogroup bleInitiatorPar
-//! @{
-//! Parameter structure for initiator (CMD_BLE_INITIATOR)
-
-struct __RFC_STRUCT rfc_bleInitiatorPar_s {
-   dataQueue_t* pRxQ;                   //!<        Pointer to receive queue
-   struct {
-      uint8_t bAutoFlushIgnored:1;      //!<        If 1, automatically remove ignored packets from Rx queue
-      uint8_t bAutoFlushCrcErr:1;       //!<        If 1, automatically remove packets with CRC error from Rx queue
-      uint8_t bAutoFlushEmpty:1;        //!<        If 1, automatically remove empty packets from Rx queue
-      uint8_t bIncludeLenByte:1;        //!<        If 1, include the received length byte in the stored packet; otherwise discard it
-      uint8_t bIncludeCrc:1;            //!<        If 1, include the received CRC field in the stored packet; otherwise discard it
-      uint8_t bAppendRssi:1;            //!<        If 1, append an RSSI byte to the packet in the Rx queue
-      uint8_t bAppendStatus:1;          //!<        If 1, append a status byte to the packet in the Rx queue
-      uint8_t bAppendTimestamp:1;       //!<        If 1, append a timestamp to the packet in the Rx queue
-   } rxConfig;                          //!<        Configuration bits for the receive queue entries
-   struct {
-      uint8_t bUseWhiteList:1;          //!< \brief Initiator filter policy, cf. Volume 2, Part E, Section 7.8.10 of the
-                                        //!<        Bluetooth 4.0 spec:<br>
-                                        //!<        0: Use specific peer address<br>
-                                        //!<        1: Use white list
-      uint8_t bDynamicWinOffset:1;      //!<        1: Use dynamic WinOffset insertion
-      uint8_t deviceAddrType:1;         //!<        The type of the device address &ndash; public (0) or random (1)
-      uint8_t peerAddrType:1;           //!<        The type of the peer address &ndash; public (0) or random (1)
-      uint8_t bStrictLenFilter:1;       //!<        1: Discard messages with illegal length
-   } initConfig;
-   uint8_t __dummy0;
-   uint8_t connectReqLen;               //!<        Size of connect request data
-   uint8_t* pConnectReqData;            //!<        Pointer to buffer containing LLData to go in the CONNECT_REQ
-   uint16_t* pDeviceAddress;            //!<        Pointer to device address used for this device
-   rfc_bleWhiteListEntry_t *pWhiteList; //!<        Pointer to white list or peer address
-   ratmr_t connectTime;                 //!< \brief Indication of timer value of the first possible start time of the first connection event.
-                                        //!<        Set to the calculated value if a connection is made and to the next possible connection
-                                        //!<        time if not.
-   uint16_t __dummy1;
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } timeoutTrigger;                    //!<        Trigger that causes the device to stop receiving as soon as allowed
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } endTrigger;                        //!<        Trigger that causes the device to stop receiving as soon as allowed
-   ratmr_t timeoutTime;                 //!< \brief Time used together with <code>timeoutTrigger</code> that causes the device to stop
-                                        //!<        receiving as soon as allowed, ending with BLE_DONE_RXTIMEOUT
-   ratmr_t endTime;                     //!< \brief Time used together with <code>endTrigger</code> that causes the device to stop
-                                        //!<        receiving as soon as allowed, ending with BLE_DONE_ENDED
-};
-
-//! @}
-
-//! \addtogroup bleGenericRxPar
-//! @{
-//! Parameter structure for generic Rx (CMD_BLE_GENERIC_RX)
-
-struct __RFC_STRUCT rfc_bleGenericRxPar_s {
-   dataQueue_t* pRxQ;                   //!<        Pointer to receive queue. May be NULL; if so, received packets are not stored
-   struct {
-      uint8_t bAutoFlushIgnored:1;      //!<        If 1, automatically remove ignored packets from Rx queue
-      uint8_t bAutoFlushCrcErr:1;       //!<        If 1, automatically remove packets with CRC error from Rx queue
-      uint8_t bAutoFlushEmpty:1;        //!<        If 1, automatically remove empty packets from Rx queue
-      uint8_t bIncludeLenByte:1;        //!<        If 1, include the received length byte in the stored packet; otherwise discard it
-      uint8_t bIncludeCrc:1;            //!<        If 1, include the received CRC field in the stored packet; otherwise discard it
-      uint8_t bAppendRssi:1;            //!<        If 1, append an RSSI byte to the packet in the Rx queue
-      uint8_t bAppendStatus:1;          //!<        If 1, append a status byte to the packet in the Rx queue
-      uint8_t bAppendTimestamp:1;       //!<        If 1, append a timestamp to the packet in the Rx queue
-   } rxConfig;                          //!<        Configuration bits for the receive queue entries
-   uint8_t bRepeat;                     //!< \brief 0: End operation after receiving a packet<br>
-                                        //!<        1: Restart receiver after receiving a packet
-   uint16_t __dummy0;
-   uint32_t accessAddress;              //!<        Access address used on the connection
-   uint8_t crcInit0;                    //!<        CRC initialization value used on the connection &ndash; least significant byte
-   uint8_t crcInit1;                    //!<        CRC initialization value used on the connection &ndash; middle byte
-   uint8_t crcInit2;                    //!<        CRC initialization value used on the connection &ndash; most significant byte
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } endTrigger;                        //!<        Trigger that causes the device to end the Rx operation
-   ratmr_t endTime;                     //!< \brief Time used together with <code>endTrigger</code> that causes the device to end the
-                                        //!<        Rx operation
-};
-
-//! @}
-
-//! \addtogroup bleTxTestPar
-//! @{
-//! Parameter structure for Tx test (CMD_BLE_TX_TEST)
-
-struct __RFC_STRUCT rfc_bleTxTestPar_s {
-   uint16_t numPackets;                 //!< \brief Number of packets to transmit<br>
-                                        //!<        0: Transmit unlimited number of packets
-   uint8_t payloadLength;               //!<        The number of payload bytes in each packet.
-   uint8_t packetType;                  //!< \brief The packet type to be used, encoded according to the Bluetooth 4.0 spec, Volume 2, Part E,
-                                        //!<        Section 7.8.29
-   ratmr_t period;                      //!<        Number of radio timer cycles between the start of each packet
-   struct {
-      uint8_t bOverrideDefault:1;       //!< \brief 0: Use default packet encoding<br>
-                                        //!<        1: Override packet contents
-      uint8_t bUsePrbs9:1;              //!< \brief If <code>bOverride</code> is 1:<br>
-                                        //!<        1: Use PRBS9 encoding of packet
-      uint8_t bUsePrbs15:1;             //!< \brief If <code>bOverride</code> is 1:<br>
-                                        //!<        1: Use PRBS15 encoding of packet
-   } config;
-   uint8_t byteVal;                     //!<        If <code>config.bOverride</code> is 1, value of each byte to be sent
-   uint8_t __dummy0;
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } endTrigger;                        //!<        Trigger that causes the device to end the Test Tx operation
-   ratmr_t endTime;                     //!< \brief Time used together with <code>endTrigger</code> that causes the device to end the
-                                        //!<        Test Tx operation
-};
-
-//! @}
-
-//! \addtogroup bleMasterSlaveOutput
-//! @{
-//! Output structure for master and slave (CMD_BLE_MASTER/CMD_BLE_SLAVE)
-
-struct __RFC_STRUCT rfc_bleMasterSlaveOutput_s {
-   uint8_t nTx;                         //!< \brief Total number of packets (including auto-empty and retransmissions) that have been
-                                        //!<        transmitted
-   uint8_t nTxAck;                      //!<        Total number of transmitted packets (including auto-empty) that have been ACK'ed
-   uint8_t nTxCtrl;                     //!<        Number of unique LL control packets from the Tx queue that have been transmitted
-   uint8_t nTxCtrlAck;                  //!<        Number of LL control packets from the Tx queue that have been finished (ACK'ed)
-   uint8_t nTxCtrlAckAck;               //!< \brief Number of LL control packets that have been ACK'ed and where an ACK has been sent in
-                                        //!<        response
-   uint8_t nTxRetrans;                  //!<        Number of retransmissions that has been done
-   uint8_t nTxEntryDone;                //!<        Number of packets from the Tx queue that have been finished (ACK'ed)
-   uint8_t nRxOk;                       //!<        Number of packets that have been received with payload, CRC OK and not ignored
-   uint8_t nRxCtrl;                     //!<        Number of LL control packets that have been received with CRC OK and not ignored
-   uint8_t nRxCtrlAck;                  //!< \brief Number of LL control packets that have been received with CRC OK and not ignored, and
-                                        //!<        then ACK'ed
-   uint8_t nRxNok;                      //!<        Number of packets that have been received with CRC error
-   uint8_t nRxIgnored;                  //!< \brief Number of packets that have been received with CRC OK and ignored due to repeated
-                                        //!<        sequence number
-   uint8_t nRxEmpty;                    //!<        Number of packets that have been received with CRC OK and no payload
-   uint8_t nRxBufFull;                  //!<        Number of packets that have been received and discarded due to lack of buffer space
-   int8_t lastRssi;                     //!<        RSSI of last received packet
-   struct {
-      uint8_t bTimeStampValid:1;        //!<        1 if a valid time stamp has been written to timeStamp; 0 otherwise
-      uint8_t bLastCrcErr:1;            //!<        1 if the last received packet had CRC error; 0 otherwise
-      uint8_t bLastIgnored:1;           //!<        1 if the last received packet with CRC OK was ignored; 0 otherwise
-      uint8_t bLastEmpty:1;             //!<        1 if the last received packet with CRC OK was empty; 0 otherwise
-      uint8_t bLastCtrl:1;              //!<        1 if the last received packet with CRC OK was empty; 0 otherwise
-      uint8_t bLastMd:1;                //!<        1 if the last received packet with CRC OK had MD = 1; 0 otherwise
-      uint8_t bLastAck:1;               //!< \brief 1 if the last received packet with CRC OK was an ACK of a transmitted packet;
-                                        //!<        0 otherwise
-   } pktStatus;
-   ratmr_t timeStamp;                   //!<        Slave operation: Time stamp of first received packet
-};
-
-//! @}
-
-//! \addtogroup bleAdvOutput
-//! @{
-//! Output structure for advertiser (CMD_BLE_ADV*)
-
-struct __RFC_STRUCT rfc_bleAdvOutput_s {
-   uint16_t nTxAdvInd;                  //!<        Number of ADV*_IND packets completely transmitted
-   uint8_t nTxScanRsp;                  //!<        Number of  SCAN_RSP packets transmitted
-   uint8_t nRxScanReq;                  //!<        Number of SCAN_REQ packets received OK and not ignored
-   uint8_t nRxConnectReq;               //!<        Number of CONNECT_REQ packets received OK and not ignored
-   uint8_t __dummy0;
-   uint16_t nRxNok;                     //!<        Number of packets received with CRC error
-   uint16_t nRxIgnored;                 //!<        Number of packets received with CRC OK, but ignored
-   uint8_t nRxBufFull;                  //!<        Number of packets received that did not fit in Rx queue
-   int8_t lastRssi;                     //!<        The RSSI of the last received packet
-   ratmr_t timeStamp;                   //!<        Time stamp of the last received packet
-};
-
-//! @}
-
-//! \addtogroup bleScannerOutput
-//! @{
-//! Output structure for scanner (CMD_BLE_SCANNER)
-
-struct __RFC_STRUCT rfc_bleScannerOutput_s {
-   uint16_t nTxScanReq;                 //!<        Number of transmitted SCAN_REQ packets
-   uint16_t nBackedOffScanReq;          //!<        Number of SCAN_REQ packets not sent due to backoff procedure
-   uint16_t nRxAdvOk;                   //!<        Number of ADV*_IND packets received with CRC OK and not ignored
-   uint16_t nRxAdvIgnored;              //!<        Number of ADV*_IND packets received with CRC OK, but ignored
-   uint16_t nRxAdvNok;                  //!<        Number of ADV*_IND packets received with CRC error
-   uint16_t nRxScanRspOk;               //!<        Number of SCAN_RSP packets received with CRC OK and not ignored
-   uint16_t nRxScanRspIgnored;          //!<        Number of SCAN_RSP packets received with CRC OK, but ignored
-   uint16_t nRxScanRspNok;              //!<        Number of SCAN_RSP packets received with CRC error
-   uint8_t nRxAdvBufFull;               //!<        Number of ADV*_IND packets received that did not fit in Rx queue
-   uint8_t nRxScanRspBufFull;           //!<        Number of SCAN_RSP packets received that did not fit in Rx queue
-   int8_t lastRssi;                     //!<        The RSSI of the last received packet
-   uint8_t __dummy0;
-   ratmr_t timeStamp;                   //!<        Time stamp of the last successfully received ADV*_IND packet that was not ignored
-};
-
-//! @}
-
-//! \addtogroup bleInitiatorOutput
-//! @{
-//! Output structure for initiator (CMD_BLE_INITIATOR)
-
-struct __RFC_STRUCT rfc_bleInitiatorOutput_s {
-   uint8_t nTxConnectReq;               //!<        Number of transmitted CONNECT_REQ packets
-   uint8_t nRxAdvOk;                    //!<        Number of ADV*_IND packets received with CRC OK and not ignored
-   uint16_t nRxAdvIgnored;              //!<        Number of ADV*_IND packets received with CRC OK, but ignored
-   uint16_t nRxAdvNok;                  //!<        Number of ADV*_IND packets received with CRC error
-   uint8_t nRxAdvBufFull;               //!<        Number of ADV*_IND packets received that did not fit in Rx queue
-   int8_t lastRssi;                     //!<        The RSSI of the last received packet
-   ratmr_t timeStamp;                   //!<        Time stamp of the received ADV*_IND packet that caused transmission of CONNECT_REQ
-};
-
-//! @}
-
-//! \addtogroup bleGenericRxOutput
-//! @{
-//! Output structure for generic Rx (CMD_BLE_GENERIC_RX)
-
-struct __RFC_STRUCT rfc_bleGenericRxOutput_s {
-   uint16_t nRxOk;                      //!<        Number of packets received with CRC OK
-   uint16_t nRxNok;                     //!<        Number of packets received with CRC error
-   uint16_t nRxBufFull;                 //!<        Number of packets that have been received and discarded due to lack of buffer space
-   int8_t lastRssi;                     //!<        The RSSI of the last received packet
-   uint8_t __dummy0;
-   ratmr_t timeStamp;                   //!<        Time stamp of the last received packet
-};
-
-//! @}
-
-//! \addtogroup bleTxTestOutput
-//! @{
-//! Output structure for Tx test (CMD_BLE_TX_TEST)
-
-struct __RFC_STRUCT rfc_bleTxTestOutput_s {
-   uint16_t nTx;                        //!<        Number of packets transmitted
-};
-
-//! @}
-
-//! \addtogroup bleWhiteListEntry
-//! @{
-//! White list entry structure
-
-struct __RFC_STRUCT rfc_bleWhiteListEntry_s {
-   uint8_t size;                        //!<        Number of while list entries. Used in the first entry of the list only
-   struct {
-      uint8_t bEnable:1;                //!<        1 if the entry is in use, 0 if the entry is not in use
-      uint8_t addrType:1;               //!<        The type address in the entry &ndash; public (0) or random (1)
-      uint8_t bWlIgn:1;                 //!< \brief 1 if the entry is to be ignored by a scanner, 0 otherwise. Used to mask out
-                                        //!<        entries that have already been scanned and reported.
-   } conf;
-   uint16_t address;                    //!<        Least significant 16 bits of the address contained in the entry
-   uint32_t addressHi;                  //!<        Most significant 32 bits of the address contained in the entry
-};
-
-//! @}
-
-//! \addtogroup bleRxStatus
-//! @{
-//! Receive status byte that may be appended to message in receive buffer
-
-struct __RFC_STRUCT rfc_bleRxStatus_s {
-   struct {
-      uint8_t channel:6;                //!< \brief The channel on which the packet was received, provided channel is in the range
-                                        //!<        0&ndash;39; otherwise 0x3F
-      uint8_t bIgnore:1;                //!<        1 if the packet is marked as ignored, 0 otherwise
-      uint8_t bCrcErr:1;                //!<        1 if the packet was received with CRC error, 0 otherwise
-   } status;
-};
-
-//! @}
-
-//! @}
-//! @}
-#endif /* BLE_CMD_H_ */
diff --git a/cpu/cc26xx-cc13xx/rf-core/api/ble_mailbox.h b/cpu/cc26xx-cc13xx/rf-core/api/ble_mailbox.h
deleted file mode 100644
index dcce1996c935f059fa85b568260e561ff59c9cf4..0000000000000000000000000000000000000000
--- a/cpu/cc26xx-cc13xx/rf-core/api/ble_mailbox.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/******************************************************************************
-*  Filename:       ble_mailbox.h
-*  Revised:        $ $
-*  Revision:       $ $
-*
-*  Description:    Definitions for BLE interface
-*
-*  Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
-*
-*
-*  Redistribution and use in source and binary forms, with or without
-*  modification, are permitted provided that the following conditions
-*  are met:
-*
-*    Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer.
-*
-*    Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in the
-*    documentation and/or other materials provided with the distribution.
-*
-*    Neither the name of Texas Instruments Incorporated nor the names of
-*    its contributors may be used to endorse or promote products derived
-*    from this software without specific prior written permission.
-*
-*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-*  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-*  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-*  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-*  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-*  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-*  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-*  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-*  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-*  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-*  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-******************************************************************************/
-
-#ifndef BLE_MAILBOX_H_
-#define BLE_MAILBOX_H_
-
-/// \name Radio operation status
-///@{
-/// \name Operation finished normally
-///@{
-#define BLE_DONE_OK             0x1400  ///< Operation ended normally
-#define BLE_DONE_RXTIMEOUT      0x1401  ///< Timeout of first Rx of slave operation or end of scan window
-#define BLE_DONE_NOSYNC         0x1402  ///< Timeout of subsequent Rx
-#define BLE_DONE_RXERR          0x1403  ///< Operation ended because of receive error (CRC or other)
-#define BLE_DONE_CONNECT        0x1404  ///< CONNECT_REQ received or transmitted
-#define BLE_DONE_MAXNACK        0x1405  ///< Maximum number of retransmissions exceeded
-#define BLE_DONE_ENDED          0x1406  ///< Operation stopped after end trigger
-#define BLE_DONE_ABORT          0x1407  ///< Operation aborted by command
-#define BLE_DONE_STOPPED        0x1408  ///< Operation stopped after stop command
-///@}
-/// \name Operation finished with error
-///@{
-#define BLE_ERROR_PAR           0x1800  ///< Illegal parameter
-#define BLE_ERROR_RXBUF         0x1801  ///< No available Rx buffer (Advertiser, Scanner, Initiator)
-#define BLE_ERROR_NO_SETUP      0x1802  ///< Operation using Rx or Tx attemted when not in BLE mode
-#define BLE_ERROR_NO_FS         0x1803  ///< Operation using Rx or Tx attemted without frequency synth configured
-#define BLE_ERROR_SYNTH_PROG    0x1804  ///< Synthesizer programming failed to complete on time
-#define BLE_ERROR_RXOVF         0x1805  ///< Receiver overflowed during operation
-#define BLE_ERROR_TXUNF         0x1806  ///< Transmitter underflowed during operation
-///@}
-///@}
-
-#endif /* BLE_MAILBOX_H_ */
diff --git a/cpu/cc26xx-cc13xx/rf-core/api/common_cmd.h b/cpu/cc26xx-cc13xx/rf-core/api/common_cmd.h
deleted file mode 100644
index 308f0c3ee5fdb94060c5d00b50309516e8a069c6..0000000000000000000000000000000000000000
--- a/cpu/cc26xx-cc13xx/rf-core/api/common_cmd.h
+++ /dev/null
@@ -1,1031 +0,0 @@
-/******************************************************************************
-*  Filename:       common_cmd.h
-*  Revised:        2015-08-04 10:40:45 +0200 (Tue, 04 Aug 2015)
-*  Revision:       44326
-*
-*  Description:    CC13xx API for common/generic commands
-*
-*  Copyright (c) 2015, Texas Instruments Incorporated
-*  All rights reserved.
-*
-*  Redistribution and use in source and binary forms, with or without
-*  modification, are permitted provided that the following conditions are met:
-*
-*  1) Redistributions of source code must retain the above copyright notice,
-*     this list of conditions and the following disclaimer.
-*
-*  2) Redistributions in binary form must reproduce the above copyright notice,
-*     this list of conditions and the following disclaimer in the documentation
-*     and/or other materials provided with the distribution.
-*
-*  3) Neither the name of the ORGANIZATION nor the names of its contributors may
-*     be used to endorse or promote products derived from this software without
-*     specific prior written permission.
-*
-*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-*  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-*  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-*  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-*  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-*  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-*  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-*  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-*  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-*  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-*  POSSIBILITY OF SUCH DAMAGE.
-*
-******************************************************************************/
-
-#ifndef COMMON_CMD_H_
-#define COMMON_CMD_H_
-
-#ifndef __RFC_STRUCT
-#ifdef __GNUC__
-#define __RFC_STRUCT __attribute__ ((aligned (4)))
-#else
-#define __RFC_STRUCT
-#endif
-#endif
-
-//! \addtogroup rfc
-//! @{
-
-//! \addtogroup common_cmd
-//! @{
-
-#include <stdint.h>
-#include "mailbox.h"
-
-typedef struct __RFC_STRUCT rfc_command_s rfc_command_t;
-typedef struct __RFC_STRUCT rfc_radioOp_s rfc_radioOp_t;
-typedef struct __RFC_STRUCT rfc_CMD_NOP_s rfc_CMD_NOP_t;
-typedef struct __RFC_STRUCT rfc_CMD_RADIO_SETUP_s rfc_CMD_RADIO_SETUP_t;
-typedef struct __RFC_STRUCT rfc_CMD_FS_s rfc_CMD_FS_t;
-typedef struct __RFC_STRUCT rfc_CMD_FS_OFF_s rfc_CMD_FS_OFF_t;
-typedef struct __RFC_STRUCT rfc_CMD_RX_s rfc_CMD_RX_t;
-typedef struct __RFC_STRUCT rfc_CMD_TX_s rfc_CMD_TX_t;
-typedef struct __RFC_STRUCT rfc_CMD_RX_TEST_s rfc_CMD_RX_TEST_t;
-typedef struct __RFC_STRUCT rfc_CMD_TX_TEST_s rfc_CMD_TX_TEST_t;
-typedef struct __RFC_STRUCT rfc_CMD_SYNC_STOP_RAT_s rfc_CMD_SYNC_STOP_RAT_t;
-typedef struct __RFC_STRUCT rfc_CMD_SYNC_START_RAT_s rfc_CMD_SYNC_START_RAT_t;
-typedef struct __RFC_STRUCT rfc_CMD_COUNT_s rfc_CMD_COUNT_t;
-typedef struct __RFC_STRUCT rfc_CMD_FS_POWERUP_s rfc_CMD_FS_POWERUP_t;
-typedef struct __RFC_STRUCT rfc_CMD_FS_POWERDOWN_s rfc_CMD_FS_POWERDOWN_t;
-typedef struct __RFC_STRUCT rfc_CMD_SCH_IMM_s rfc_CMD_SCH_IMM_t;
-typedef struct __RFC_STRUCT rfc_CMD_COUNT_BRANCH_s rfc_CMD_COUNT_BRANCH_t;
-typedef struct __RFC_STRUCT rfc_CMD_PATTERN_CHECK_s rfc_CMD_PATTERN_CHECK_t;
-typedef struct __RFC_STRUCT rfc_CMD_TX_POWER_BOOST_s rfc_CMD_TX_POWER_BOOST_t;
-typedef struct __RFC_STRUCT rfc_CMD_ABORT_s rfc_CMD_ABORT_t;
-typedef struct __RFC_STRUCT rfc_CMD_STOP_s rfc_CMD_STOP_t;
-typedef struct __RFC_STRUCT rfc_CMD_GET_RSSI_s rfc_CMD_GET_RSSI_t;
-typedef struct __RFC_STRUCT rfc_CMD_UPDATE_RADIO_SETUP_s rfc_CMD_UPDATE_RADIO_SETUP_t;
-typedef struct __RFC_STRUCT rfc_CMD_TRIGGER_s rfc_CMD_TRIGGER_t;
-typedef struct __RFC_STRUCT rfc_CMD_GET_FW_INFO_s rfc_CMD_GET_FW_INFO_t;
-typedef struct __RFC_STRUCT rfc_CMD_START_RAT_s rfc_CMD_START_RAT_t;
-typedef struct __RFC_STRUCT rfc_CMD_PING_s rfc_CMD_PING_t;
-typedef struct __RFC_STRUCT rfc_CMD_ADD_DATA_ENTRY_s rfc_CMD_ADD_DATA_ENTRY_t;
-typedef struct __RFC_STRUCT rfc_CMD_REMOVE_DATA_ENTRY_s rfc_CMD_REMOVE_DATA_ENTRY_t;
-typedef struct __RFC_STRUCT rfc_CMD_FLUSH_QUEUE_s rfc_CMD_FLUSH_QUEUE_t;
-typedef struct __RFC_STRUCT rfc_CMD_CLEAR_RX_s rfc_CMD_CLEAR_RX_t;
-typedef struct __RFC_STRUCT rfc_CMD_REMOVE_PENDING_ENTRIES_s rfc_CMD_REMOVE_PENDING_ENTRIES_t;
-typedef struct __RFC_STRUCT rfc_CMD_SET_RAT_CMP_s rfc_CMD_SET_RAT_CMP_t;
-typedef struct __RFC_STRUCT rfc_CMD_SET_RAT_CPT_s rfc_CMD_SET_RAT_CPT_t;
-typedef struct __RFC_STRUCT rfc_CMD_DISABLE_RAT_CH_s rfc_CMD_DISABLE_RAT_CH_t;
-typedef struct __RFC_STRUCT rfc_CMD_SET_RAT_OUTPUT_s rfc_CMD_SET_RAT_OUTPUT_t;
-typedef struct __RFC_STRUCT rfc_CMD_ARM_RAT_CH_s rfc_CMD_ARM_RAT_CH_t;
-typedef struct __RFC_STRUCT rfc_CMD_DISARM_RAT_CH_s rfc_CMD_DISARM_RAT_CH_t;
-typedef struct __RFC_STRUCT rfc_CMD_SET_TX_POWER_s rfc_CMD_SET_TX_POWER_t;
-typedef struct __RFC_STRUCT rfc_CMD_UPDATE_FS_s rfc_CMD_UPDATE_FS_t;
-typedef struct __RFC_STRUCT rfc_CMD_BUS_REQUEST_s rfc_CMD_BUS_REQUEST_t;
-
-//! \addtogroup command
-//! @{
-struct __RFC_STRUCT rfc_command_s {
-   uint16_t commandNo;                  //!<        The command ID number
-};
-
-//! @}
-
-//! \addtogroup radioOp
-//! @{
-//! Common definition for radio operation commands
-
-struct __RFC_STRUCT rfc_radioOp_s {
-   uint16_t commandNo;                  //!<        The command ID number
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-};
-
-//! @}
-
-//! \addtogroup CMD_NOP
-//! @{
-#define CMD_NOP                                                 0x0801
-struct __RFC_STRUCT rfc_CMD_NOP_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0801
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-};
-
-//! @}
-
-//! \addtogroup CMD_RADIO_SETUP
-//! @{
-#define CMD_RADIO_SETUP                                         0x0802
-struct __RFC_STRUCT rfc_CMD_RADIO_SETUP_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0802
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   uint8_t mode;                        //!< \brief The main mode to use<br>
-                                        //!<        0x00: BLE<br>
-                                        //!<        0x01: IEEE 802.15.4<br>
-                                        //!<        0x02: 2 Mbps GFSK<br>
-                                        //!<        0x05: 5 Mbps coded 8-FSK<br>
-                                        //!<        0x06: ANT<br>
-                                        //!<        0xFF: Keep existing mode; update overrides only<br>
-                                        //!<        Others: <i>Reserved</i>
-   uint8_t loDivider;                   //!< \brief LO divider setting to use. Supported values: 0 (equivalent to 2), 2, 5, 6, 10, 12, 15,
-                                        //!<        and 30.<br>
-                                        //!<        Value of 0 or 2 only supported for devices that support 2.4 GHz operation
-   struct {
-      uint16_t frontEndMode:3;          //!< \brief 0x00: Differential mode<br>
-                                        //!<        0x01: Single-ended mode RFP<br>
-                                        //!<        0x02: Single-ended mode RFN<br>
-                                        //!<        0x05 Single-ended mode RFP with external frontend control on RF pins (RFN and RXTX)<br>
-                                        //!<        0x06 Single-ended mode RFN with external frontend control on RF pins (RFP and RXTX)<br>
-                                        //!<        Others: <i>Reserved</i>
-      uint16_t biasMode:1;              //!< \brief 0: Internal bias<br>
-                                        //!<        1: External bias
-      uint16_t :6;
-      uint16_t bNoFsPowerUp:1;          //!< \brief 0: Power up frequency synth<br>
-                                        //!<        1: Do not power up frequency synth
-   } config;                            //!<        Configuration options
-   struct {
-      uint16_t IB:6;                    //!<        Value to write to the PA power control field at 25 &deg;C
-      uint16_t GC:2;                    //!<        Value to write to the gain control of the 1st stage of the PA
-      uint16_t boost:1;                 //!<        Value of boost bit in synth
-      uint16_t tempCoeff:7;             //!<        Temperature coefficient for IB. 0: No temperature compensation
-   } txPower;                           //!<        Transmit power
-   uint32_t* pRegOverride;              //!< \brief Pointer to a list of hardware and configuration registers to override. If NULL, no
-                                        //!<        override is used.
-};
-
-//! @}
-
-//! \addtogroup CMD_FS
-//! @{
-#define CMD_FS                                                  0x0803
-struct __RFC_STRUCT rfc_CMD_FS_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0803
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   uint16_t frequency;                  //!<        The frequency in MHz to tune to
-   uint16_t fractFreq;                  //!<        Fractional part of the frequency to tune to
-   struct {
-      uint8_t bTxMode:1;                //!< \brief 0: Start synth in Rx mode<br>
-                                        //!<        1: Start synth in Tx mode
-      uint8_t refFreq:6;                //!< \brief 0: Use default reference frequency<br>
-                                        //!<        Others: Use reference frequency 24 MHz/<code>refFreq</code>
-   } synthConf;
-   uint8_t __dummy0;
-   uint8_t midPrecal;                   //!<        Mid pre-calibration value to use when <code>bOverrideCalib</code> and <code>bSkipCoarseCalib</code> are both 1
-   uint8_t ktPrecal;                    //!<        KT pre-calibration value to use when <code>bOverrideCalib</code> and <code>bSkipCoarseCalib</code> are both 1
-   uint16_t tdcPrecal;                  //!<        TDC pre-calibration value to use when <code>bOverrideCalib</code> and <code>bSkipCoarseCalib</code> are both 1
-};
-
-//! @}
-
-//! \addtogroup CMD_FS_OFF
-//! @{
-#define CMD_FS_OFF                                              0x0804
-struct __RFC_STRUCT rfc_CMD_FS_OFF_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0804
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-};
-
-//! @}
-
-//! \addtogroup CMD_RX
-//! @{
-#define CMD_RX                                                  0x0805
-struct __RFC_STRUCT rfc_CMD_RX_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0805
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   struct {
-      uint16_t endianness:1;            //!< \brief 0: Least significant bit first<br>
-                                        //!<        1: Most significant bit first
-      uint16_t numHdrBits:6;            //!<        Number of bits in the header
-      uint16_t bFsOff:1;                //!< \brief 0: Keep frequency synth on after command<br>
-                                        //!<        1: Turn frequency synth off after command
-      uint16_t bUseCrc:1;               //!< \brief 0: No CRC<br>
-                                        //!<        1: The last bytes of the packet are a CRC
-      uint16_t bCrcIncSw:1;             //!< \brief 0: Do not include sync word in CRC calculation<br>
-                                        //!<        1: Include sync word in CRC calculation
-      uint16_t bCrcIncHdr:1;            //!< \brief 0: Do not include header in CRC calculation<br>
-                                        //!<        1: Include header in CRC calculation
-      uint16_t bReportCrc:1;            //!< \brief 0: Do not write CRC to receive buffer<br>
-                                        //!<        1: Write received CRC to receive buffer
-      uint16_t endType:1;               //!< \brief 0: Packet is received to the end if end trigger happens after sync is obtained<br>
-                                        //!<        1: Packet reception is stopped if end trigger happens
-      uint16_t bDualSw:1;               //!< \brief 0: Single sync word<br>
-                                        //!<        1: Dual sync word.
-   } pktConfig;
-   uint32_t syncWord;                   //!<        Sync word to receive
-   uint32_t syncWord2;                  //!<        Secondary sync word to receive if <code>pktConfig.bDualSw</code> = 1
-   struct {
-      uint16_t numLenBits:4;            //!<        Number of bits in the length field
-      uint16_t lenFieldPos:5;           //!<        Bit position of the first bit in the length field
-      uint16_t lenOffset:7;             //!<        Signed number to add to the received length field
-   } lenConfig;
-   uint16_t maxLen;                     //!<        Maximum number of bytes in the received packet (including header, excluding CRC)
-   uint8_t* pRecPkt;                    //!<        Pointer to buffer for received packet. NULL: Do not store the contents.
-   ratmr_t endTime;                     //!<        Time to end the operation
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } endTrigger;                        //!<        Trigger classifier for ending the operation
-   int8_t rssi;                         //!<        RSSI of received packet
-   uint16_t recLen;                     //!<        Number of bytes written to receive buffer
-   ratmr_t timeStamp;                   //!<        Time stamp of received packet
-   uint16_t nRxOk;                      //!<        Counter of number of received packets with CRC OK and first sync word
-   uint16_t nRxNok;                     //!<        Counter of number of received packets with CRC error and first sync word
-   uint16_t nRx2Ok;                     //!< \brief Counter of number of received packets with CRC OK and second sync word; may safely be
-                                        //!<        omitted if <code>pktConfig.bDualSw</code> is 0
-   uint16_t nRx2Nok;                    //!< \brief Counter of number of received packets with CRC error and second sync word; may safely be
-                                        //!<        omitted if <code>pktConfig.bDualSw</code> is 0
-};
-
-//! @}
-
-//! \addtogroup CMD_TX
-//! @{
-#define CMD_TX                                                  0x0806
-struct __RFC_STRUCT rfc_CMD_TX_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0806
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   struct {
-      uint16_t endianness:1;            //!< \brief 0: Least significant bit first<br>
-                                        //!<        1: Most significant bit first
-      uint16_t numHdrBits:6;            //!<        Number of bits in the header
-      uint16_t bFsOff:1;                //!< \brief 0: Keep frequency synth on after command<br>
-                                        //!<        1: Turn frequency synth off after command
-      uint16_t bUseCrc:1;               //!< \brief 0: No CRC<br>
-                                        //!<        1: Append a CRC to the packet
-      uint16_t bCrcIncSw:1;             //!< \brief 0: Do not include sync word in CRC calculation<br>
-                                        //!<        1: Include sync word in CRC calculation
-      uint16_t bCrcIncHdr:1;            //!< \brief 0: Do not include header in CRC calculation<br>
-                                        //!<        1: Include header in CRC calculation
-   } pktConfig;
-   uint32_t syncWord;                   //!<        Sync word to transmit
-   uint8_t* pTxPkt;                     //!<        Pointer to buffer for transmitted packet.
-   uint16_t pktLen;                     //!<        Number of bytes in the transmitted packet
-};
-
-//! @}
-
-//! \addtogroup CMD_RX_TEST
-//! @{
-#define CMD_RX_TEST                                             0x0807
-struct __RFC_STRUCT rfc_CMD_RX_TEST_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0807
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   struct {
-      uint8_t bEnaFifo:1;               //!< \brief 0: Do not enable FIFO in modem, so that received data is not available<br>
-                                        //!<        1: Enable FIFO in modem &ndash; the data must be read out by the application
-      uint8_t bFsOff:1;                 //!< \brief 0: Keep frequency synth on after command<br>
-                                        //!<        1: Turn frequency synth off after command
-      uint8_t bNoSync:1;                //!< \brief 0: Run sync search as normal for the configured mode<br>
-                                        //!<        1: Write correlation thresholds to the maximum value to avoid getting sync
-   } config;
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } endTrigger;                        //!<        Trigger classifier for ending the operation
-   uint32_t syncWord;                   //!<        Sync word to use for receiver
-   ratmr_t endTime;                     //!<        Time to end the operation
-};
-
-//! @}
-
-//! \addtogroup CMD_TX_TEST
-//! @{
-#define CMD_TX_TEST                                             0x0808
-struct __RFC_STRUCT rfc_CMD_TX_TEST_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0808
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   struct {
-      uint8_t bUseCw:1;                 //!< \brief 0: Send modulated signal<br>
-                                        //!<        1: Send continuous wave
-      uint8_t bFsOff:1;                 //!< \brief 0: Keep frequency synth on after command<br>
-                                        //!<        1: Turn frequency synth off after command
-      uint8_t whitenMode:2;             //!< \brief 0: No whitening<br>
-                                        //!<        1: Default whitening<br>
-                                        //!<        2: PRBS-15<br>
-                                        //!<        3: PRBS-32
-   } config;
-   uint8_t __dummy0;
-   uint16_t txWord;                     //!<        Value to send to the modem before whitening
-   uint8_t __dummy1;
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } endTrigger;                        //!<        Trigger classifier for ending the operation
-   uint32_t syncWord;                   //!<        Sync word to use for transmitter
-   ratmr_t endTime;                     //!<        Time to end the operation
-};
-
-//! @}
-
-//! \addtogroup CMD_SYNC_STOP_RAT
-//! @{
-#define CMD_SYNC_STOP_RAT                                       0x0809
-struct __RFC_STRUCT rfc_CMD_SYNC_STOP_RAT_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0809
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   uint16_t __dummy0;
-   ratmr_t rat0;                        //!< \brief The returned RAT timer value corresponding to the value the RAT would have had when the
-                                        //!<        RTC was zero
-};
-
-//! @}
-
-//! \addtogroup CMD_SYNC_START_RAT
-//! @{
-#define CMD_SYNC_START_RAT                                      0x080A
-struct __RFC_STRUCT rfc_CMD_SYNC_START_RAT_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x080A
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   uint16_t __dummy0;
-   ratmr_t rat0;                        //!< \brief The desired RAT timer value corresponding to the value the RAT would have had when the
-                                        //!<        RTC was zero. This parameter is returned by CMD_SYNC_STOP_RAT
-};
-
-//! @}
-
-//! \addtogroup CMD_COUNT
-//! @{
-#define CMD_COUNT                                               0x080B
-struct __RFC_STRUCT rfc_CMD_COUNT_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x080B
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   uint16_t counter;                    //!< \brief Counter. On start, the radio CPU decrements the value, and the end status of the operation
-                                        //!<        differs if the result is zero
-};
-
-//! @}
-
-//! \addtogroup CMD_FS_POWERUP
-//! @{
-#define CMD_FS_POWERUP                                          0x080C
-struct __RFC_STRUCT rfc_CMD_FS_POWERUP_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x080C
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   uint16_t __dummy0;
-   uint32_t* pRegOverride;              //!<        Pointer to a list of hardware and configuration registers to override. If NULL, no override is used.
-};
-
-//! @}
-
-//! \addtogroup CMD_FS_POWERDOWN
-//! @{
-#define CMD_FS_POWERDOWN                                        0x080D
-struct __RFC_STRUCT rfc_CMD_FS_POWERDOWN_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x080D
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-};
-
-//! @}
-
-//! \addtogroup CMD_SCH_IMM
-//! @{
-#define CMD_SCH_IMM                                             0x0810
-struct __RFC_STRUCT rfc_CMD_SCH_IMM_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0810
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   uint16_t __dummy0;
-   uint32_t cmdrVal;                    //!<        Value as would be written to CMDR
-   uint32_t cmdstaVal;                  //!<        Value as would be returned in CMDSTA
-};
-
-//! @}
-
-//! \addtogroup CMD_COUNT_BRANCH
-//! @{
-#define CMD_COUNT_BRANCH                                        0x0812
-struct __RFC_STRUCT rfc_CMD_COUNT_BRANCH_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0812
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   uint16_t counter;                    //!< \brief Counter. On start, the radio CPU decrements the value, and the end status of the operation
-                                        //!<        differs if the result is zero
-   rfc_radioOp_t *pNextOpIfOk;          //!<        Pointer to next operation if counter did not expire
-};
-
-//! @}
-
-//! \addtogroup CMD_PATTERN_CHECK
-//! @{
-#define CMD_PATTERN_CHECK                                       0x0813
-struct __RFC_STRUCT rfc_CMD_PATTERN_CHECK_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0813
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   struct {
-      uint16_t operation:2;             //!< \brief Operation to perform<br>
-                                        //!<        0: True if value == <code>compareVal</code><br>
-                                        //!<        1: True if value < <code>compareVal</code><br>
-                                        //!<        2: True if value > <code>compareVal</code><br>
-                                        //!<        3: <i>Reserved</i>
-      uint16_t bByteRev:1;              //!< \brief If 1, interchange the four bytes of the value, so that they are read
-                                        //!<        most-significant-byte-first.
-      uint16_t bBitRev:1;               //!<        If 1, perform bit reversal of the value
-      uint16_t signExtend:5;            //!< \brief 0: Treat value and <code>compareVal</code> as unsigned<br>
-                                        //!<        1&ndash;31: Treat value and <code>compareVal</code> as signed, where the value
-                                        //!<        gives the number of the most significant bit in the signed number.
-      uint16_t bRxVal:1;                //!< \brief 0: Use <code>pValue</code> as a pointer<br>
-                                        //!<        1: Use <code>pValue</code> as a signed offset to the start of the last
-                                        //!<        committed Rx entry element
-   } patternOpt;                        //!<        Options for comparison
-   rfc_radioOp_t *pNextOpIfOk;          //!<        Pointer to next operation if comparison result was true
-   uint8_t* pValue;                     //!<        Pointer to read from, or offset from last Rx entry if <code>patternOpt.bRxVal</code> == 1
-   uint32_t mask;                       //!<        Bit mask to apply before comparison
-   uint32_t compareVal;                 //!<        Value to compare to
-};
-
-//! @}
-
-//! \addtogroup CMD_TX_POWER_BOOST
-//! @{
-#define CMD_TX_POWER_BOOST                                      0x0816
-struct __RFC_STRUCT rfc_CMD_TX_POWER_BOOST_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0816
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   uint8_t vddrLevel;                   //!< \brief VDDR level to set<br>
-                                        //!<        0xFD: Trim VDDR voltage to normal level (VDDR_TRIM), nominally 1.68 V<br>
-                                        //!<        0xFE: Trim VDDR voltage to high level (VDDR_TRIM_H), nominally 1.85 V<br>
-                                        //!<        0xFF: Trim VDDR voltage to higher level (VDDR_TRIM_HH), nominally 1.95 V<br>
-                                        //!<        Other: reserved
-   uint8_t paTrimValue;                 //!< \brief Optional power amplifier trim setting manipulation<br>
-                                        //!<        0x00-0x1F: Value to write in ADI_0_RF:PACTL0.TRIM register field<br>
-                                        //!<        0xFE: Set PACTL0.TRIM to its default value from FCFG1<br>
-                                        //!<        0xFF: Do not write PACTL0.TRIM, use the setting that is already applied<br>
-};
-
-//! @}
-
-//! \addtogroup CMD_ABORT
-//! @{
-#define CMD_ABORT                                               0x0401
-struct __RFC_STRUCT rfc_CMD_ABORT_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0401
-};
-
-//! @}
-
-//! \addtogroup CMD_STOP
-//! @{
-#define CMD_STOP                                                0x0402
-struct __RFC_STRUCT rfc_CMD_STOP_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0402
-};
-
-//! @}
-
-//! \addtogroup CMD_GET_RSSI
-//! @{
-#define CMD_GET_RSSI                                            0x0403
-struct __RFC_STRUCT rfc_CMD_GET_RSSI_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0403
-};
-
-//! @}
-
-//! \addtogroup CMD_UPDATE_RADIO_SETUP
-//! @{
-#define CMD_UPDATE_RADIO_SETUP                                  0x0001
-struct __RFC_STRUCT rfc_CMD_UPDATE_RADIO_SETUP_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0001
-   uint16_t __dummy0;
-   uint32_t* pRegOverride;              //!<        Pointer to a list of hardware and configuration registers to override
-};
-
-//! @}
-
-//! \addtogroup CMD_TRIGGER
-//! @{
-#define CMD_TRIGGER                                             0x0404
-struct __RFC_STRUCT rfc_CMD_TRIGGER_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0404
-   uint8_t triggerNo;                   //!<        Command trigger number
-};
-
-//! @}
-
-//! \addtogroup CMD_GET_FW_INFO
-//! @{
-#define CMD_GET_FW_INFO                                         0x0002
-struct __RFC_STRUCT rfc_CMD_GET_FW_INFO_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0002
-   uint16_t versionNo;                  //!<        Firmware version number
-   uint16_t startOffset;                //!<        The start of free RAM
-   uint16_t freeRamSz;                  //!<        The size of free RAM
-   uint16_t availRatCh;                 //!<        Bitmap of available RAT channels
-};
-
-//! @}
-
-//! \addtogroup CMD_START_RAT
-//! @{
-#define CMD_START_RAT                                           0x0405
-struct __RFC_STRUCT rfc_CMD_START_RAT_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0405
-};
-
-//! @}
-
-//! \addtogroup CMD_PING
-//! @{
-#define CMD_PING                                                0x0406
-struct __RFC_STRUCT rfc_CMD_PING_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0406
-};
-
-//! @}
-
-//! \addtogroup CMD_ADD_DATA_ENTRY
-//! @{
-#define CMD_ADD_DATA_ENTRY                                      0x0005
-struct __RFC_STRUCT rfc_CMD_ADD_DATA_ENTRY_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0005
-   uint16_t __dummy0;
-   dataQueue_t* pQueue;                 //!<        Pointer to the queue structure to which the entry will be added
-   uint8_t* pEntry;                     //!<        Pointer to the entry
-};
-
-//! @}
-
-//! \addtogroup CMD_REMOVE_DATA_ENTRY
-//! @{
-#define CMD_REMOVE_DATA_ENTRY                                   0x0006
-struct __RFC_STRUCT rfc_CMD_REMOVE_DATA_ENTRY_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0006
-   uint16_t __dummy0;
-   dataQueue_t* pQueue;                 //!<        Pointer to the queue structure from which the entry will be removed
-   uint8_t* pEntry;                     //!<        Pointer to the entry that was removed
-};
-
-//! @}
-
-//! \addtogroup CMD_FLUSH_QUEUE
-//! @{
-#define CMD_FLUSH_QUEUE                                         0x0007
-struct __RFC_STRUCT rfc_CMD_FLUSH_QUEUE_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0007
-   uint16_t __dummy0;
-   dataQueue_t* pQueue;                 //!<        Pointer to the queue structure to be flushed
-   uint8_t* pFirstEntry;                //!<        Pointer to the first entry that was removed
-};
-
-//! @}
-
-//! \addtogroup CMD_CLEAR_RX
-//! @{
-#define CMD_CLEAR_RX                                            0x0008
-struct __RFC_STRUCT rfc_CMD_CLEAR_RX_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0008
-   uint16_t __dummy0;
-   dataQueue_t* pQueue;                 //!<        Pointer to the queue structure to be cleared
-};
-
-//! @}
-
-//! \addtogroup CMD_REMOVE_PENDING_ENTRIES
-//! @{
-#define CMD_REMOVE_PENDING_ENTRIES                              0x0009
-struct __RFC_STRUCT rfc_CMD_REMOVE_PENDING_ENTRIES_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0009
-   uint16_t __dummy0;
-   dataQueue_t* pQueue;                 //!<        Pointer to the queue structure to be flushed
-   uint8_t* pFirstEntry;                //!<        Pointer to the first entry that was removed
-};
-
-//! @}
-
-//! \addtogroup CMD_SET_RAT_CMP
-//! @{
-#define CMD_SET_RAT_CMP                                         0x000A
-struct __RFC_STRUCT rfc_CMD_SET_RAT_CMP_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x000A
-   uint8_t ratCh;                       //!<        The radio timer channel number
-   uint8_t __dummy0;
-   ratmr_t compareTime;                 //!<        The time at which the compare occurs
-};
-
-//! @}
-
-//! \addtogroup CMD_SET_RAT_CPT
-//! @{
-#define CMD_SET_RAT_CPT                                         0x0603
-struct __RFC_STRUCT rfc_CMD_SET_RAT_CPT_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0603
-   struct {
-      uint16_t :3;
-      uint16_t inputSrc:5;              //!<        Input source indicator
-      uint16_t ratCh:4;                 //!<        The radio timer channel number
-      uint16_t bRepeated:1;             //!< \brief 0: Single capture mode<br>
-                                        //!<        1: Repeated capture mode
-      uint16_t inputMode:2;             //!< \brief Input mode:<br>
-                                        //!<        0: Capture on rising edge<br>
-                                        //!<        1: Capture on falling edge<br>
-                                        //!<        2: Capture on both edges<br>
-                                        //!<        3: <i>Reserved</i>
-   } config;
-};
-
-//! @}
-
-//! \addtogroup CMD_DISABLE_RAT_CH
-//! @{
-#define CMD_DISABLE_RAT_CH                                      0x0408
-struct __RFC_STRUCT rfc_CMD_DISABLE_RAT_CH_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0408
-   uint8_t ratCh;                       //!<        The radio timer channel number
-};
-
-//! @}
-
-//! \addtogroup CMD_SET_RAT_OUTPUT
-//! @{
-#define CMD_SET_RAT_OUTPUT                                      0x0604
-struct __RFC_STRUCT rfc_CMD_SET_RAT_OUTPUT_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0604
-   struct {
-      uint16_t :2;
-      uint16_t outputSel:3;             //!<        Output event indicator
-      uint16_t outputMode:3;            //!< \brief 0: Set output line low as default; and pulse on event. Duration of pulse is one RF Core clock period (ca. 41.67 ns).<br>
-                                        //!<        1: Set output line high on event<br>
-                                        //!<        2: Set output line low on event<br>
-                                        //!<        3: Toggle (invert) output line state on event<br>
-                                        //!<        4: Immediately set output line to low (does not change upon event)<br>
-                                        //!<        5: Immediately set output line to high (does not change upon event)<br>
-                                        //!<        Others: <i>Reserved</i>
-      uint16_t ratCh:4;                 //!<        The radio timer channel number
-   } config;
-};
-
-//! @}
-
-//! \addtogroup CMD_ARM_RAT_CH
-//! @{
-#define CMD_ARM_RAT_CH                                          0x0409
-struct __RFC_STRUCT rfc_CMD_ARM_RAT_CH_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0409
-   uint8_t ratCh;                       //!<        The radio timer channel number
-};
-
-//! @}
-
-//! \addtogroup CMD_DISARM_RAT_CH
-//! @{
-#define CMD_DISARM_RAT_CH                                       0x040A
-struct __RFC_STRUCT rfc_CMD_DISARM_RAT_CH_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x040A
-   uint8_t ratCh;                       //!<        The radio timer channel number
-};
-
-//! @}
-
-//! \addtogroup CMD_SET_TX_POWER
-//! @{
-#define CMD_SET_TX_POWER                                        0x0010
-struct __RFC_STRUCT rfc_CMD_SET_TX_POWER_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0010
-   struct {
-      uint16_t IB:6;                    //!<        Value to write to the PA power control field at 25 &deg;C
-      uint16_t GC:2;                    //!<        Value to write to the gain control of the 1st stage of the PA
-      uint16_t boost:1;                 //!<        Value of boost bit in synth
-      uint16_t tempCoeff:7;             //!<        Temperature coefficient for IB. 0: No temperature compensation
-   } txPower;                           //!<        New Tx power setting
-};
-
-//! @}
-
-//! \addtogroup CMD_UPDATE_FS
-//! @{
-#define CMD_UPDATE_FS                                           0x0011
-struct __RFC_STRUCT rfc_CMD_UPDATE_FS_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x0011
-   uint16_t frequency;                  //!<        The frequency in MHz to tune to
-   uint16_t fractFreq;                  //!<        Fractional part of the frequency to tune to
-};
-
-//! @}
-
-//! \addtogroup CMD_BUS_REQUEST
-//! @{
-#define CMD_BUS_REQUEST                                         0x040E
-struct __RFC_STRUCT rfc_CMD_BUS_REQUEST_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x040E
-   uint8_t bSysBusNeeded;               //!< \brief 0: System bus may sleep<br>
-                                        //!<        1: System bus access needed
-};
-
-//! @}
-
-//! @}
-//! @}
-#endif /* COMMON_CMD_H_ */
diff --git a/cpu/cc26xx-cc13xx/rf-core/api/data_entry.h b/cpu/cc26xx-cc13xx/rf-core/api/data_entry.h
deleted file mode 100644
index c396a211f35dd69db68341212861c89b412d931c..0000000000000000000000000000000000000000
--- a/cpu/cc26xx-cc13xx/rf-core/api/data_entry.h
+++ /dev/null
@@ -1,213 +0,0 @@
-/******************************************************************************
-*  Filename:       data_entry.h
-*  Revised:        2015-08-04 11:44:20 +0200 (Tue, 04 Aug 2015)
-*  Revision:       44329
-*
-*  Description:    Definition of API for data exchange
-*
-*  Copyright (c) 2015, Texas Instruments Incorporated
-*  All rights reserved.
-*
-*  Redistribution and use in source and binary forms, with or without
-*  modification, are permitted provided that the following conditions are met:
-*
-*  1) Redistributions of source code must retain the above copyright notice,
-*     this list of conditions and the following disclaimer.
-*
-*  2) Redistributions in binary form must reproduce the above copyright notice,
-*     this list of conditions and the following disclaimer in the documentation
-*     and/or other materials provided with the distribution.
-*
-*  3) Neither the name of the ORGANIZATION nor the names of its contributors may
-*     be used to endorse or promote products derived from this software without
-*     specific prior written permission.
-*
-*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-*  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-*  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-*  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-*  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-*  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-*  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-*  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-*  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-*  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-*  POSSIBILITY OF SUCH DAMAGE.
-*
-******************************************************************************/
-
-#ifndef DATA_ENTRY_H_
-#define DATA_ENTRY_H_
-
-#ifndef __RFC_STRUCT
-#ifdef __GNUC__
-#define __RFC_STRUCT __attribute__ ((aligned (4)))
-#else
-#define __RFC_STRUCT
-#endif
-#endif
-
-//! \addtogroup rfc
-//! @{
-
-//! \addtogroup data_entry
-//! @{
-
-#include <stdint.h>
-#include "mailbox.h"
-
-typedef struct __RFC_STRUCT rfc_dataEntry_s rfc_dataEntry_t;
-typedef struct __RFC_STRUCT rfc_dataEntryGeneral_s rfc_dataEntryGeneral_t;
-typedef struct __RFC_STRUCT rfc_dataEntryMulti_s rfc_dataEntryMulti_t;
-typedef struct __RFC_STRUCT rfc_dataEntryPointer_s rfc_dataEntryPointer_t;
-typedef struct __RFC_STRUCT rfc_dataEntryPartial_s rfc_dataEntryPartial_t;
-
-//! \addtogroup dataEntry
-//! @{
-struct __RFC_STRUCT rfc_dataEntry_s {
-   uint8_t* pNextEntry;                 //!<        Pointer to next entry in the queue, NULL if this is the last entry
-   uint8_t status;                      //!<        Indicates status of entry, including whether it is free for the system CPU to write to
-   struct {
-      uint8_t type:2;                   //!< \brief Type of data entry structure<br>
-                                        //!<        0: General data entry <br>
-                                        //!<        1: Multi-element Rx entry<br>
-                                        //!<        2: Pointer entry<br>
-                                        //!<        3: Partial read Rx entry
-      uint8_t lenSz:2;                  //!< \brief Size of length word in start of each Rx entry element<br>
-                                        //!<        0: No length indicator<br>
-                                        //!<        1: One byte length indicator<br>
-                                        //!<        2: Two bytes length indicator<br>
-                                        //!<        3: <i>Reserved</i>
-      uint8_t irqIntv:4;                //!< \brief For partial read Rx entry only: The number of bytes between interrupt generated
-                                        //!<        by the radio CPU (0: 16 bytes)
-   } config;
-   uint16_t length;                     //!< \brief For pointer entries: Number of bytes in the data buffer pointed to<br>
-                                        //!<        For other entries: Number of bytes following this length field
-};
-
-//! @}
-
-//! \addtogroup dataEntryGeneral
-//! @{
-//! General data entry structure (type = 0)
-
-struct __RFC_STRUCT rfc_dataEntryGeneral_s {
-   uint8_t* pNextEntry;                 //!<        Pointer to next entry in the queue, NULL if this is the last entry
-   uint8_t status;                      //!<        Indicates status of entry, including whether it is free for the system CPU to write to
-   struct {
-      uint8_t type:2;                   //!< \brief Type of data entry structure<br>
-                                        //!<        0: General data entry <br>
-                                        //!<        1: Multi-element Rx entry<br>
-                                        //!<        2: Pointer entry<br>
-                                        //!<        3: Partial read Rx entry
-      uint8_t lenSz:2;                  //!< \brief Size of length word in start of each Rx entry element<br>
-                                        //!<        0: No length indicator<br>
-                                        //!<        1: One byte length indicator<br>
-                                        //!<        2: Two bytes length indicator<br>
-                                        //!<        3: <i>Reserved</i>
-      uint8_t irqIntv:4;                //!< \brief For partial read Rx entry only: The number of bytes between interrupt generated
-                                        //!<        by the radio CPU (0: 16 bytes)
-   } config;
-   uint16_t length;                     //!< \brief For pointer entries: Number of bytes in the data buffer pointed to<br>
-                                        //!<        For other entries: Number of bytes following this length field
-   uint8_t data;                        //!<        First byte of the data array to be received or transmitted
-};
-
-//! @}
-
-//! \addtogroup dataEntryMulti
-//! @{
-//! Multi-element data entry structure (type = 1)
-
-struct __RFC_STRUCT rfc_dataEntryMulti_s {
-   uint8_t* pNextEntry;                 //!<        Pointer to next entry in the queue, NULL if this is the last entry
-   uint8_t status;                      //!<        Indicates status of entry, including whether it is free for the system CPU to write to
-   struct {
-      uint8_t type:2;                   //!< \brief Type of data entry structure<br>
-                                        //!<        0: General data entry <br>
-                                        //!<        1: Multi-element Rx entry<br>
-                                        //!<        2: Pointer entry<br>
-                                        //!<        3: Partial read Rx entry
-      uint8_t lenSz:2;                  //!< \brief Size of length word in start of each Rx entry element<br>
-                                        //!<        0: No length indicator<br>
-                                        //!<        1: One byte length indicator<br>
-                                        //!<        2: Two bytes length indicator<br>
-                                        //!<        3: <i>Reserved</i>
-      uint8_t irqIntv:4;                //!< \brief For partial read Rx entry only: The number of bytes between interrupt generated
-                                        //!<        by the radio CPU (0: 16 bytes)
-   } config;
-   uint16_t length;                     //!< \brief For pointer entries: Number of bytes in the data buffer pointed to<br>
-                                        //!<        For other entries: Number of bytes following this length field
-   uint16_t numElements;                //!<        Number of entry elements committed in the entry
-   uint16_t nextIndex;                  //!<        Index to the byte after the last byte of the last entry element committed by the radio CPU
-   uint8_t rxData;                      //!<        First byte of the data array of received data entry elements
-};
-
-//! @}
-
-//! \addtogroup dataEntryPointer
-//! @{
-//! Pointer data entry structure (type = 2)
-
-struct __RFC_STRUCT rfc_dataEntryPointer_s {
-   uint8_t* pNextEntry;                 //!<        Pointer to next entry in the queue, NULL if this is the last entry
-   uint8_t status;                      //!<        Indicates status of entry, including whether it is free for the system CPU to write to
-   struct {
-      uint8_t type:2;                   //!< \brief Type of data entry structure<br>
-                                        //!<        0: General data entry <br>
-                                        //!<        1: Multi-element Rx entry<br>
-                                        //!<        2: Pointer entry<br>
-                                        //!<        3: Partial read Rx entry
-      uint8_t lenSz:2;                  //!< \brief Size of length word in start of each Rx entry element<br>
-                                        //!<        0: No length indicator<br>
-                                        //!<        1: One byte length indicator<br>
-                                        //!<        2: Two bytes length indicator<br>
-                                        //!<        3: <i>Reserved</i>
-      uint8_t irqIntv:4;                //!< \brief For partial read Rx entry only: The number of bytes between interrupt generated
-                                        //!<        by the radio CPU (0: 16 bytes)
-   } config;
-   uint16_t length;                     //!< \brief For pointer entries: Number of bytes in the data buffer pointed to<br>
-                                        //!<        For other entries: Number of bytes following this length field
-   uint8_t* pData;                      //!<        Pointer to data buffer of data to be received ro transmitted
-};
-
-//! @}
-
-//! \addtogroup dataEntryPartial
-//! @{
-//! Partial read data entry structure (type = 3)
-
-struct __RFC_STRUCT rfc_dataEntryPartial_s {
-   uint8_t* pNextEntry;                 //!<        Pointer to next entry in the queue, NULL if this is the last entry
-   uint8_t status;                      //!<        Indicates status of entry, including whether it is free for the system CPU to write to
-   struct {
-      uint8_t type:2;                   //!< \brief Type of data entry structure<br>
-                                        //!<        0: General data entry <br>
-                                        //!<        1: Multi-element Rx entry<br>
-                                        //!<        2: Pointer entry<br>
-                                        //!<        3: Partial read Rx entry
-      uint8_t lenSz:2;                  //!< \brief Size of length word in start of each Rx entry element<br>
-                                        //!<        0: No length indicator<br>
-                                        //!<        1: One byte length indicator<br>
-                                        //!<        2: Two bytes length indicator<br>
-                                        //!<        3: <i>Reserved</i>
-      uint8_t irqIntv:4;                //!< \brief For partial read Rx entry only: The number of bytes between interrupt generated
-                                        //!<        by the radio CPU (0: 16 bytes)
-   } config;
-   uint16_t length;                     //!< \brief For pointer entries: Number of bytes in the data buffer pointed to<br>
-                                        //!<        For other entries: Number of bytes following this length field
-   struct {
-      uint16_t numElements:13;          //!<        Number of entry elements committed in the entry
-      uint16_t bEntryOpen:1;            //!<        1 if the entry contains an element that is still open for appending data
-      uint16_t bFirstCont:1;            //!<        1 if the first element is a continuation of the last packet from the previous entry
-      uint16_t bLastCont:1;             //!<        1 if the packet in the last element continues in the next entry
-   } pktStatus;
-   uint16_t nextIndex;                  //!<        Index to the byte after the last byte of the last entry element committed by the radio CPU
-   uint8_t rxData;                      //!<        First byte of the data array of received data entry elements
-};
-
-//! @}
-
-//! @}
-//! @}
-#endif /* DATA_ENTRY_H_ */
diff --git a/cpu/cc26xx-cc13xx/rf-core/api/ieee_cmd.h b/cpu/cc26xx-cc13xx/rf-core/api/ieee_cmd.h
index 62f9abd32a04b07ea477976800e773cdcfa06097..6cbaf24a2126d3ec5777f0c875db3dbe41c491ae 100644
--- a/cpu/cc26xx-cc13xx/rf-core/api/ieee_cmd.h
+++ b/cpu/cc26xx-cc13xx/rf-core/api/ieee_cmd.h
@@ -55,8 +55,8 @@
 //! @{
 
 #include <stdint.h>
-#include "mailbox.h"
-#include "common_cmd.h"
+#include "driverlib/rf_mailbox.h"
+#include "driverlib/rf_common_cmd.h"
 
 typedef struct __RFC_STRUCT rfc_CMD_IEEE_RX_s rfc_CMD_IEEE_RX_t;
 typedef struct __RFC_STRUCT rfc_CMD_IEEE_ED_SCAN_s rfc_CMD_IEEE_ED_SCAN_t;
diff --git a/cpu/cc26xx-cc13xx/rf-core/api/ieee_mailbox.h b/cpu/cc26xx-cc13xx/rf-core/api/ieee_mailbox.h
index c6784da095fb8b30fe4049d8a3999d980239813a..f96c540add8cfca601269a02437ba5b72b2e6952 100644
--- a/cpu/cc26xx-cc13xx/rf-core/api/ieee_mailbox.h
+++ b/cpu/cc26xx-cc13xx/rf-core/api/ieee_mailbox.h
@@ -40,7 +40,7 @@
 #ifndef IEEE_MAILBOX_H_
 #define IEEE_MAILBOX_H_
 
-#include "mailbox.h"
+#include "driverlib/rf_mailbox.h"
 
 
 /// \name Radio operation status
diff --git a/cpu/cc26xx-cc13xx/rf-core/api/mailbox.h b/cpu/cc26xx-cc13xx/rf-core/api/mailbox.h
deleted file mode 100644
index 119565959fd6d790474a4fc47042d300456609b9..0000000000000000000000000000000000000000
--- a/cpu/cc26xx-cc13xx/rf-core/api/mailbox.h
+++ /dev/null
@@ -1,328 +0,0 @@
-/******************************************************************************
-*  Filename:       mailbox.h
-*  Revised:        2015-06-29 12:59:58 +0200 (Mon, 29 Jun 2015)
-*  Revision:       44063
-*
-*  Description:    Definitions for interface between system and radio CPU
-*
-*  Copyright (c) 2015, Texas Instruments Incorporated
-*  All rights reserved.
-*
-*  Redistribution and use in source and binary forms, with or without
-*  modification, are permitted provided that the following conditions are met:
-*
-*  1) Redistributions of source code must retain the above copyright notice,
-*     this list of conditions and the following disclaimer.
-*
-*  2) Redistributions in binary form must reproduce the above copyright notice,
-*     this list of conditions and the following disclaimer in the documentation
-*     and/or other materials provided with the distribution.
-*
-*  3) Neither the name of the ORGANIZATION nor the names of its contributors may
-*     be used to endorse or promote products derived from this software without
-*     specific prior written permission.
-*
-*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-*  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-*  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-*  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-*  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-*  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-*  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-*  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-*  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-*  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-*  POSSIBILITY OF SUCH DAMAGE.
-*
-******************************************************************************/
-
-#ifndef MAILBOX_H_
-#define MAILBOX_H_
-
-#include <stdint.h>
-#include <string.h>
-
-/// Type definition for RAT
-typedef uint32_t ratmr_t;
-
-
-
-/// Type definition for a data queue
-typedef struct {
-   uint8_t *pCurrEntry;   ///< Pointer to the data queue entry to be used, NULL for an empty queue
-   uint8_t *pLastEntry;   ///< Pointer to the last entry in the queue, NULL for a circular queue
-} dataQueue_t;
-
-
-
-/// \name CPE interrupt definitions
-/// Interrupt masks for the CPE interrupt in RDBELL.
-///@{
-#define IRQN_COMMAND_DONE           0           ///< Radio operation command finished
-#define IRQN_LAST_COMMAND_DONE      1           ///< Last radio operation command in a chain finished
-#define IRQN_FG_COMMAND_DONE        2           ///< FG level Radio operation command finished
-#define IRQN_LAST_FG_COMMAND_DONE   3           ///< Last FG level radio operation command in a chain finished
-#define IRQN_TX_DONE                4           ///< Packet transmitted
-#define IRQN_TX_ACK                 5           ///< ACK packet transmitted
-#define IRQN_TX_CTRL                6           ///< Control packet transmitted
-#define IRQN_TX_CTRL_ACK            7           ///< Acknowledgement received on a transmitted control packet
-#define IRQN_TX_CTRL_ACK_ACK        8           ///< Acknowledgement received on a transmitted control packet, and acknowledgement transmitted for that packet
-#define IRQN_TX_RETRANS             9           ///< Packet retransmitted
-#define IRQN_TX_ENTRY_DONE          10          ///< Tx queue data entry state changed to Finished
-#define IRQN_TX_BUFFER_CHANGED      11          ///< A buffer change is complete
-#define IRQN_RX_OK                  16          ///< Packet received with CRC OK, payload, and not to be ignored
-#define IRQN_RX_NOK                 17          ///< Packet received with CRC error
-#define IRQN_RX_IGNORED             18          ///< Packet received with CRC OK, but to be ignored
-#define IRQN_RX_EMPTY               19          ///< Packet received with CRC OK, not to be ignored, no payload
-#define IRQN_RX_CTRL                20          ///< Control packet received with CRC OK, not to be ignored
-#define IRQN_RX_CTRL_ACK            21          ///< Control packet received with CRC OK, not to be ignored, then ACK sent
-#define IRQN_RX_BUF_FULL            22          ///< Packet received that did not fit in the Rx queue
-#define IRQN_RX_ENTRY_DONE          23          ///< Rx queue data entry changing state to Finished
-#define IRQN_RX_DATA_WRITTEN        24          ///< Data written to partial read Rx buffer
-#define IRQN_RX_N_DATA_WRITTEN      25          ///< Specified number of bytes written to partial read Rx buffer
-#define IRQN_RX_ABORTED             26          ///< Packet reception stopped before packet was done
-#define IRQN_RX_COLLISION_DETECTED  27          ///< A collision was indicated during packet reception
-#define IRQN_SYNTH_NO_LOCK          28          ///< The synth has gone out of lock after calibration
-#define IRQN_MODULES_UNLOCKED       29          ///< As part of the boot process, the CM0 has opened access to RF core modules and memories
-#define IRQN_BOOT_DONE              30          ///< The RF core CPU boot is finished
-
-#define IRQN_INTERNAL_ERROR         31          ///< Internal error observed
-
-#define IRQ_COMMAND_DONE            (1U << IRQN_COMMAND_DONE)
-#define IRQ_LAST_COMMAND_DONE       (1U << IRQN_LAST_COMMAND_DONE)
-#define IRQ_FG_COMMAND_DONE         (1U << IRQN_FG_COMMAND_DONE)
-#define IRQ_LAST_FG_COMMAND_DONE    (1U << IRQN_LAST_FG_COMMAND_DONE)
-
-#define IRQ_TX_DONE                 (1U << IRQN_TX_DONE)
-#define IRQ_TX_ACK                  (1U << IRQN_TX_ACK)
-#define IRQ_TX_CTRL                 (1U << IRQN_TX_CTRL)
-#define IRQ_TX_CTRL_ACK             (1U << IRQN_TX_CTRL_ACK)
-#define IRQ_TX_CTRL_ACK_ACK         (1U << IRQN_TX_CTRL_ACK_ACK)
-#define IRQ_TX_RETRANS              (1U << IRQN_TX_RETRANS)
-
-#define IRQ_TX_ENTRY_DONE           (1U << IRQN_TX_ENTRY_DONE)
-#define IRQ_TX_BUFFER_CHANGED       (1U << IRQN_TX_BUFFER_CHANGED)
-
-#define IRQ_RX_OK                   (1U << IRQN_RX_OK)
-#define IRQ_RX_NOK                  (1U << IRQN_RX_NOK)
-#define IRQ_RX_IGNORED              (1U << IRQN_RX_IGNORED)
-#define IRQ_RX_EMPTY                (1U << IRQN_RX_EMPTY)
-#define IRQ_RX_CTRL                 (1U << IRQN_RX_CTRL)
-#define IRQ_RX_CTRL_ACK             (1U << IRQN_RX_CTRL_ACK)
-#define IRQ_RX_BUF_FULL             (1U << IRQN_RX_BUF_FULL)
-#define IRQ_RX_ENTRY_DONE           (1U << IRQN_RX_ENTRY_DONE)
-#define IRQ_RX_DATA_WRITTEN         (1U << IRQN_RX_DATA_WRITTEN)
-#define IRQ_RX_N_DATA_WRITTEN       (1U << IRQN_RX_N_DATA_WRITTEN)
-#define IRQ_RX_ABORTED              (1U << IRQN_RX_ABORTED)
-#define IRQ_RX_COLLISION_DETECTED   (1U << IRQN_RX_COLLISION_DETECTED)
-#define IRQ_SYNTH_NO_LOCK           (1U << IRQN_SYNTH_NO_LOCK)
-#define IRQ_MODULES_UNLOCKED        (1U << IRQN_MODULES_UNLOCKED)
-#define IRQ_BOOT_DONE               (1U << IRQN_BOOT_DONE)
-#define IRQ_INTERNAL_ERROR          (1U << IRQN_INTERNAL_ERROR)
-///@}
-
-
-
-/// \name CMDSTA values
-/// Values returned in result byte of CMDSTA
-///@{
-#define CMDSTA_Pending 0x00              ///< The command has not yet been parsed
-#define CMDSTA_Done 0x01                 ///< Command successfully parsed
-
-#define CMDSTA_IllegalPointer 0x81       ///< The pointer signalled in CMDR is not valid
-#define CMDSTA_UnknownCommand 0x82       ///< The command number in the command structure is unknown
-#define CMDSTA_UnknownDirCommand 0x83    ///< The command number for a direct command is unknown, or the
-                                         ///< command is not a direct command
-#define CMDSTA_ContextError 0x85         ///< An immediate or direct command was issued in a context
-                                         ///< where it is not supported
-#define CMDSTA_SchedulingError 0x86      ///< A radio operation command was attempted to be scheduled
-                                         ///< while another operation was already running in the RF core
-#define CMDSTA_ParError 0x87             ///< There were errors in the command parameters that are parsed
-                                         ///< on submission.
-#define CMDSTA_QueueError 0x88           ///< An operation on a data entry queue was attempted that was
-                                         ///< not supported by the queue in its current state
-#define CMDSTA_QueueBusy 0x89            ///< An operation on a data entry was attempted while that entry
-                                         ///< was busy
-///@}
-
-
-
-/// \name Macros for sending direct commands
-///@{
-/// Direct command with no parameter
-#define CMDR_DIR_CMD(cmdId) (((cmdId) << 16) | 1)
-
-/// Direct command with 1-byte parameter
-#define CMDR_DIR_CMD_1BYTE(cmdId, par) (((cmdId) << 16) | ((par) << 8) | 1)
-
-/// Direct command with 2-byte parameter
-#define CMDR_DIR_CMD_2BYTE(cmdId, par) (((cmdId) << 16) | ((par) & 0xFFFC) | 1)
-
-///@}
-
-
-
-/// \name Definitions for trigger types
-///@{
-#define TRIG_NOW 0            ///< Triggers immediately
-#define TRIG_NEVER 1          ///< Never trigs
-#define TRIG_ABSTIME 2        ///< Trigs at an absolute time
-#define TRIG_REL_SUBMIT 3     ///< Trigs at a time relative to the command was submitted
-#define TRIG_REL_START 4      ///< Trigs at a time relative to the command started
-#define TRIG_REL_PREVSTART 5  ///< Trigs at a time relative to the previous command in the chain started
-#define TRIG_REL_FIRSTSTART 6 ///< Trigs at a time relative to the first command in the chain started
-#define TRIG_REL_PREVEND 7    ///< Trigs at a time relative to the previous command in the chain ended
-#define TRIG_REL_EVT1 8       ///< Trigs at a time relative to the context defined "Event 1"
-#define TRIG_REL_EVT2 9       ///< Trigs at a time relative to the context defined "Event 2"
-#define TRIG_EXTERNAL 10      ///< Trigs at an external event to the radio timer
-#define TRIG_PAST_BM 0x80     ///< Bitmask for setting pastTrig bit in order to trig immediately if
-                              ///< trigger happened in the past
-///@}
-
-
-/// \name Definitions for conditional execution
-///@{
-#define COND_ALWAYS 0         ///< Always run next command (except in case of Abort)
-#define COND_NEVER 1          ///< Never run next command
-#define COND_STOP_ON_FALSE 2  ///< Run next command if this command returned True, stop if it returned
-                              ///< False
-#define COND_STOP_ON_TRUE 3   ///< Stop if this command returned True, run next command if it returned
-                              ///< False
-#define COND_SKIP_ON_FALSE 4  ///< Run next command if this command returned True, skip a number of
-                              ///< commands if it returned False
-#define COND_SKIP_ON_TRUE 5   ///< Skip a number of commands if this command returned True, run next
-                              ///< command if it returned False
-///@}
-
-
-
-/// \name Radio operation status
-///@{
-/// \name Operation not finished
-///@{
-#define IDLE             0x0000   ///< Operation not started
-#define PENDING          0x0001   ///< Start of command is pending
-#define ACTIVE           0x0002   ///< Running
-#define SKIPPED          0x0003   ///< Operation skipped due to condition in another command
-///@}
-/// \name Operation finished normally
-///@{
-#define DONE_OK          0x0400   ///< Operation ended normally
-#define DONE_COUNTDOWN   0x0401   ///< Counter reached zero
-#define DONE_RXERR       0x0402   ///< Operation ended with CRC error
-#define DONE_TIMEOUT     0x0403   ///< Operation ended with timeout
-#define DONE_STOPPED     0x0404   ///< Operation stopped after CMD_STOP command
-#define DONE_ABORT       0x0405   ///< Operation aborted by CMD_ABORT command
-#define DONE_FAILED      0x0406   ///< Scheduled immediate command failed
-///@}
-/// \name Operation finished with error
-///@{
-#define ERROR_PAST_START 0x0800   ///< The start trigger occurred in the past
-#define ERROR_START_TRIG 0x0801   ///< Illegal start trigger parameter
-#define ERROR_CONDITION  0x0802   ///< Illegal condition for next operation
-#define ERROR_PAR        0x0803   ///< Error in a command specific parameter
-#define ERROR_POINTER    0x0804   ///< Invalid pointer to next operation
-#define ERROR_CMDID      0x0805   ///< Next operation has a command ID that is undefined or not a radio
-                                  ///< operation command
-#define ERROR_WRONG_BG   0x0806   ///< FG level command not compatible with running BG level command
-#define ERROR_NO_SETUP   0x0807   ///< Operation using Rx or Tx attempted without CMD_RADIO_SETUP
-#define ERROR_NO_FS      0x0808   ///< Operation using Rx or Tx attempted without frequency synth configured
-#define ERROR_SYNTH_PROG 0x0809   ///< Synthesizer calibration failed
-#define ERROR_TXUNF      0x080A   ///< Tx underflow observed
-#define ERROR_RXOVF      0x080B   ///< Rx overflow observed
-#define ERROR_NO_RX      0x080C   ///< Attempted to access data from Rx when no such data was yet received
-#define ERROR_PENDING    0x080D   ///< Command submitted in the future with another command at different level pending
-///@}
-///@}
-
-
-/// \name Data entry types
-///@{
-#define DATA_ENTRY_TYPE_GEN 0     ///< General type: Tx entry or single element Rx entry
-#define DATA_ENTRY_TYPE_MULTI 1   ///< Multi-element Rx entry type
-#define DATA_ENTRY_TYPE_PTR 2     ///< Pointer entry type
-#define DATA_ENTRY_TYPE_PARTIAL 3 ///< Partial read entry type
-///@
-
-
-/// \name Data entry statuses
-///@{
-#define DATA_ENTRY_PENDING 0      ///< Entry not yet used
-#define DATA_ENTRY_ACTIVE 1       ///< Entry in use by radio CPU
-#define DATA_ENTRY_BUSY 2         ///< Entry being updated
-#define DATA_ENTRY_FINISHED 3     ///< Radio CPU is finished accessing the entry
-#define DATA_ENTRY_UNFINISHED 4   ///< Radio CPU is finished accessing the entry, but packet could not be finished
-///@}
-
-
-
-/// \name Macros for RF register override
-///@{
-/// Macro for ADI half-size value-mask combination
-#define ADI_VAL_MASK(addr, mask, value) \
-(((addr) & 1) ? (((mask) & 0x0F) | (((value) & 0x0F) << 4)) : \
- ((((mask) & 0x0F) << 4) | ((value) & 0x0F)))
-/// 32-bit write of 16-bit value
-#define HW_REG_OVERRIDE(addr, val) ((((uintptr_t) (addr)) & 0xFFFC) | ((uint32_t)(val) << 16))
-/// ADI register, full-size write
-#define ADI_REG_OVERRIDE(adiNo, addr, val) (2 | ((uint32_t)(val) << 16) | \
-(((addr) & 0x3F) << 24) | (((adiNo) ? 1U : 0) << 31))
-/// 2 ADI registers, full-size write
-#define ADI_2REG_OVERRIDE(adiNo, addr, val, addr2, val2) \
-(2 | ((uint32_t)(val2) << 2) | (((addr2) & 0x3F) << 10) | ((uint32_t)(val) << 16) | \
-(((addr) & 0x3F) << 24) | (((adiNo) ? 1U : 0) << 31))
-/// ADI register, half-size read-modify-write
-#define ADI_HALFREG_OVERRIDE(adiNo, addr, mask, val) (2 | (ADI_VAL_MASK(addr, mask, val) << 16) | \
-(((addr) & 0x3F) << 24) | (1U << 30) | (((adiNo) ? 1U : 0) << 31))
-/// 2 ADI registers, half-size read-modify-write
-#define ADI_2HALFREG_OVERRIDE(adiNo, addr, mask, val, addr2, mask2, val2) \
-(2 | (ADI_VAL_MASK(addr2, mask2, val2) << 2) | (((addr2) & 0x3F) << 10) | \
-(ADI_VAL_MASK(addr, mask, val) << 16) | (((addr) & 0x3F) << 24) | (1U << 30) | (((adiNo) ? 1U : 0) << 31))
-
-/// 16-bit SW register as defined in radio_par_def.txt
-#define SW_REG_OVERRIDE(cmd, field, val) (3 | ((_POSITION_##cmd##_##field) << 4) | ((uint32_t)(val) << 16))
-/// SW register as defined in radio_par_def.txt with added index (for use with registers > 16 bits).
-#define SW_REG_IND_OVERRIDE(cmd, field, offset, val) (3 | \
-(((_POSITION_##cmd##_##field) + ((offset) << 1)) << 4) | ((uint32_t)(val) << 16))
-/// 8-bit SW register as defined in radio_par_def.txt
-#define SW_REG_BYTE_OVERRIDE(cmd, field, val) (0x8003 | ((_POSITION_##cmd##_##field) << 4) | \
-((uint32_t)(val) << 16))
-/// Two 8-bit SW registers as defined in radio_par_def.txt; the one given by field and the next byte.
-#define SW_REG_2BYTE_OVERRIDE(cmd, field, val0, val1) (3 | (((_POSITION_##cmd##_##field) & 0xFFFE) << 4) | \
-                                                       (((uint32_t)(val0) << 16) & 0x00FF0000) | ((uint32_t)(val1) << 24))
-#define HW16_ARRAY_OVERRIDE(addr, length) (1 | (((uintptr_t) (addr)) & 0xFFFC) | ((uint32_t)(length) << 16))
-#define HW32_ARRAY_OVERRIDE(addr, length) (1 | (((uintptr_t) (addr)) & 0xFFFC) | \
-((uint32_t)(length) << 16) | (1U << 30))
-#define ADI_ARRAY_OVERRIDE(adiNo, addr, bHalfSize, length) (1 | ((((addr) & 0x3F) << 2)) | \
-((!!(bHalfSize)) << 8) | ((!!(adiNo)) << 9) | ((uint32_t)(length) << 16) | (2U << 30))
-#define SW_ARRAY_OVERRIDE(cmd, firstfield, length) (1 | (((_POSITION_##cmd##_##firstfield)) << 2) | \
-((uint32_t)(length) << 16) | (3U << 30))
-#define MCE_RFE_OVERRIDE(bMceRam, mceRomBank, mceMode, bRfeRam, rfeRomBank, rfeMode) \
-   (7 | ((!!(bMceRam)) << 8) | (((mceRomBank) & 0x07) << 9) | ((!!(bRfeRam)) << 12) | (((rfeRomBank) & 0x07) << 13) | \
-    (((mceMode) & 0x00FF) << 16) | (((rfeMode) & 0x00FF) << 24))
-#define NEW_OVERRIDE_SEGMENT(address) (((((uintptr_t)(address)) & 0x03FFFFFC) << 6) | 0x000F | \
-   (((((uintptr_t)(address) >> 24) == 0x20) ? 0x01 : \
-     (((uintptr_t)(address) >> 24) == 0x21) ? 0x02 : \
-     (((uintptr_t)(address) >> 24) == 0xA0) ? 0x03 : \
-     (((uintptr_t)(address) >> 24) == 0x00) ? 0x04 : \
-     (((uintptr_t)(address) >> 24) == 0x10) ? 0x05 : \
-     (((uintptr_t)(address) >> 24) == 0x11) ? 0x06 : \
-     (((uintptr_t)(address) >> 24) == 0x40) ? 0x07 : \
-     (((uintptr_t)(address) >> 24) == 0x50) ? 0x08 : \
-     0x09) << 4)) // Use illegal value for illegal address range
-/// End of string for override register
-#define END_OVERRIDE 0xFFFFFFFF
-
-
-/// ADI address-value pair
-#define ADI_ADDR_VAL(addr, value) ((((addr) & 0x7F) << 8) | ((value) & 0xFF))
-#define ADI_ADDR_VAL_MASK(addr, mask, value) ((((addr) & 0x7F) << 8) | ADI_VAL_MASK(addr, mask, value))
-
-/// Low half-word
-#define LOWORD(value) ((value) & 0xFFFF)
-/// High half-word
-#define HIWORD(value) ((value) >> 16)
-///@}
-
-
-#endif /* MAILBOX_H_ */
diff --git a/cpu/cc26xx-cc13xx/rf-core/api/prop_cmd.h b/cpu/cc26xx-cc13xx/rf-core/api/prop_cmd.h
deleted file mode 100644
index e0d0a0c357b6a4ebd566bebcca866d227a58a7a7..0000000000000000000000000000000000000000
--- a/cpu/cc26xx-cc13xx/rf-core/api/prop_cmd.h
+++ /dev/null
@@ -1,596 +0,0 @@
-/******************************************************************************
-*  Filename:       prop_cmd.h
-*  Revised:        2015-08-04 10:40:45 +0200 (Tue, 04 Aug 2015)
-*  Revision:       44326
-*
-*  Description:    CC13xx API for Proprietary mode commands
-*
-*  Copyright (c) 2015, Texas Instruments Incorporated
-*  All rights reserved.
-*
-*  Redistribution and use in source and binary forms, with or without
-*  modification, are permitted provided that the following conditions are met:
-*
-*  1) Redistributions of source code must retain the above copyright notice,
-*     this list of conditions and the following disclaimer.
-*
-*  2) Redistributions in binary form must reproduce the above copyright notice,
-*     this list of conditions and the following disclaimer in the documentation
-*     and/or other materials provided with the distribution.
-*
-*  3) Neither the name of the ORGANIZATION nor the names of its contributors may
-*     be used to endorse or promote products derived from this software without
-*     specific prior written permission.
-*
-*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-*  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-*  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-*  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-*  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-*  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-*  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-*  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-*  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-*  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-*  POSSIBILITY OF SUCH DAMAGE.
-*
-******************************************************************************/
-
-#ifndef PROP_CMD_H_
-#define PROP_CMD_H_
-
-#ifndef __RFC_STRUCT
-#ifdef __GNUC__
-#define __RFC_STRUCT __attribute__ ((aligned (4)))
-#else
-#define __RFC_STRUCT
-#endif
-#endif
-
-//! \addtogroup rfc
-//! @{
-
-//! \addtogroup prop_cmd
-//! @{
-
-#include <stdint.h>
-#include "mailbox.h"
-#include "common_cmd.h"
-
-typedef struct __RFC_STRUCT rfc_carrierSense_s rfc_carrierSense_t;
-typedef struct __RFC_STRUCT rfc_CMD_PROP_TX_s rfc_CMD_PROP_TX_t;
-typedef struct __RFC_STRUCT rfc_CMD_PROP_RX_s rfc_CMD_PROP_RX_t;
-typedef struct __RFC_STRUCT rfc_CMD_PROP_TX_ADV_s rfc_CMD_PROP_TX_ADV_t;
-typedef struct __RFC_STRUCT rfc_CMD_PROP_RX_ADV_s rfc_CMD_PROP_RX_ADV_t;
-typedef struct __RFC_STRUCT rfc_CMD_PROP_RADIO_SETUP_s rfc_CMD_PROP_RADIO_SETUP_t;
-typedef struct __RFC_STRUCT rfc_CMD_PROP_RADIO_DIV_SETUP_s rfc_CMD_PROP_RADIO_DIV_SETUP_t;
-typedef struct __RFC_STRUCT rfc_CMD_PROP_SET_LEN_s rfc_CMD_PROP_SET_LEN_t;
-typedef struct __RFC_STRUCT rfc_CMD_PROP_RESTART_RX_s rfc_CMD_PROP_RESTART_RX_t;
-typedef struct __RFC_STRUCT rfc_propRxOutput_s rfc_propRxOutput_t;
-typedef struct __RFC_STRUCT rfc_propRxStatus_s rfc_propRxStatus_t;
-
-//! \addtogroup carrierSense
-//! @{
-struct __RFC_STRUCT rfc_carrierSense_s {
-   struct {
-      uint8_t bEnaRssi:1;               //!<        If 1, enable RSSI as a criterion
-      uint8_t bEnaCorr:1;               //!<        If 1, enable correlation as a criterion
-      uint8_t operation:1;              //!< \brief 0: Busy if either RSSI or correlation indicates Busy<br>
-                                        //!<        1: Busy if both RSSI and correlation indicates Busy
-      uint8_t busyOp:1;                 //!< \brief 0: Continue carrier sense on channel Busy<br>
-                                        //!<        1: End carrier sense on channel Busy<br>
-                                        //!<        For an Rx command, the receiver will continue when carrier sense ends, but it will then not end if channel goes Idle
-      uint8_t idleOp:1;                 //!< \brief 0: Continue on channel Idle<br>
-                                        //!<        1: End on channel Idle
-      uint8_t timeoutRes:1;             //!< \brief 0: Timeout with channel state Invalid treated as Busy<br>
-                                        //!<        1: Timeout with channel state Invalid treated as Idle
-   } csConf;
-   int8_t rssiThr;                      //!<        RSSI threshold
-   uint8_t numRssiIdle;                 //!< \brief Number of consecutive RSSI measurements below the threshold needed before the channel is
-                                        //!<        declared Idle
-   uint8_t numRssiBusy;                 //!< \brief Number of consecutive RSSI measurements above the threshold needed before the channel is
-                                        //!<        declared Busy
-   uint16_t corrPeriod;                 //!<        Number of RAT ticks for a correlation observation periods
-   struct {
-      uint8_t numCorrInv:4;             //!< \brief Number of subsequent correlation tops with maximum <code>corrPeriod</code> RAT
-                                        //!<        ticks between them needed to go from Idle to Invalid
-      uint8_t numCorrBusy:4;            //!< \brief Number of subsequent correlation tops with maximum <code>corrPeriod</code> RAT
-                                        //!<        ticks between them needed to go from Invalid to Busy
-   } corrConfig;
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } csEndTrigger;                      //!<        Trigger classifier for ending the carrier sense
-   ratmr_t csEndTime;                   //!<        Time used together with <code>csEndTrigger</code> for ending the operation
-};
-
-//! @}
-
-//! \addtogroup CMD_PROP_TX
-//! @{
-#define CMD_PROP_TX                                             0x3801
-struct __RFC_STRUCT rfc_CMD_PROP_TX_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x3801
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   struct {
-      uint8_t bFsOff:1;                 //!< \brief 0: Keep frequency synth on after command<br>
-                                        //!<        1: Turn frequency synth off after command
-      uint8_t :2;
-      uint8_t bUseCrc:1;                //!< \brief 0: Do not append CRC<br>
-                                        //!<        1: Append CRC
-      uint8_t bVarLen:1;                //!< \brief 0: Fixed length<br>
-                                        //!<        1: Transmit length as first byte
-   } pktConf;
-   uint8_t pktLen;                      //!<        Packet length
-   uint32_t syncWord;                   //!<        Sync word to transmit
-   uint8_t* pPkt;                       //!<        Pointer to packet
-};
-
-//! @}
-
-//! \addtogroup CMD_PROP_RX
-//! @{
-#define CMD_PROP_RX                                             0x3802
-struct __RFC_STRUCT rfc_CMD_PROP_RX_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x3802
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   struct {
-      uint8_t bFsOff:1;                 //!< \brief 0: Keep frequency synth on after command<br>
-                                        //!<        1: Turn frequency synth off after command
-      uint8_t bRepeatOk:1;              //!< \brief 0: End operation after receiving a packet correctly<br>
-                                        //!<        1: Go back to sync search after receiving a packet correctly
-      uint8_t bRepeatNok:1;             //!< \brief 0: End operation after receiving a packet with CRC error<br>
-                                        //!<        1: Go back to sync search after receiving a packet with CRC error
-      uint8_t bUseCrc:1;                //!< \brief 0: Do not check CRC<br>
-                                        //!<        1: Check CRC
-      uint8_t bVarLen:1;                //!< \brief 0: Fixed length<br>
-                                        //!<        1: Receive length as first byte
-      uint8_t bChkAddress:1;            //!< \brief 0: No address check<br>
-                                        //!<        1: Check address
-      uint8_t endType:1;                //!< \brief 0: Packet is received to the end if end trigger happens after sync is obtained<br>
-                                        //!<        1: Packet reception is stopped if end trigger happens
-      uint8_t filterOp:1;               //!< \brief 0: Stop receiver and restart sync search on address mismatch<br>
-                                        //!<        1: Receive packet and mark it as ignored on address mismatch
-   } pktConf;
-   struct {
-      uint8_t bAutoFlushIgnored:1;      //!<        If 1, automatically discard ignored packets from Rx queue
-      uint8_t bAutoFlushCrcErr:1;       //!<        If 1, automatically discard packets with CRC error from Rx queue
-      uint8_t :1;
-      uint8_t bIncludeHdr:1;            //!<        If 1, include the received header or length byte in the stored packet; otherwise discard it
-      uint8_t bIncludeCrc:1;            //!<        If 1, include the received CRC field in the stored packet; otherwise discard it
-      uint8_t bAppendRssi:1;            //!<        If 1, append an RSSI byte to the packet in the Rx queue
-      uint8_t bAppendTimestamp:1;       //!<        If 1, append a timestamp to the packet in the Rx queue
-      uint8_t bAppendStatus:1;          //!<        If 1, append a status byte to the packet in the Rx queue
-   } rxConf;                            //!<        Rx configuration
-   uint32_t syncWord;                   //!<        Sync word to listen for
-   uint8_t maxPktLen;                   //!< \brief Packet length for fixed length, maximum packet length for variable length<br>
-                                        //!<        0: Unlimited or unknown length
-   uint8_t address0;                    //!<        Address
-   uint8_t address1;                    //!< \brief Address (set equal to <code>address0</code> to accept only one address. If 0xFF, accept
-                                        //!<        0x00 as well)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } endTrigger;                        //!<        Trigger classifier for ending the operation
-   ratmr_t endTime;                     //!<        Time used together with <code>endTrigger</code> for ending the operation
-   dataQueue_t* pQueue;                 //!<        Pointer to receive queue
-   uint8_t* pOutput;                    //!<        Pointer to output structure
-};
-
-//! @}
-
-//! \addtogroup CMD_PROP_TX_ADV
-//! @{
-#define CMD_PROP_TX_ADV                                         0x3803
-struct __RFC_STRUCT rfc_CMD_PROP_TX_ADV_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x3803
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   struct {
-      uint8_t bFsOff:1;                 //!< \brief 0: Keep frequency synth on after command<br>
-                                        //!<        1: Turn frequency synth off after command
-      uint8_t :2;
-      uint8_t bUseCrc:1;                //!< \brief 0: Do not append CRC<br>
-                                        //!<        1: Append CRC
-      uint8_t bCrcIncSw:1;              //!< \brief 0:Do not include sync word in CRC calculation<br>
-                                        //!<        1: Include sync word in CRC calculation
-      uint8_t bCrcIncHdr:1;             //!< \brief 0: Do not include header in CRC calculation<br>
-                                        //!<        1: Include header in CRC calculation
-   } pktConf;
-   uint8_t numHdrBits;                  //!<        Number of bits in header (0&ndash;32)
-   uint16_t pktLen;                     //!<        Packet length. 0: Unlimited
-   struct {
-      uint8_t bExtTxTrig:1;             //!< \brief 0: Start packet on a fixed time from the command start trigger<br>
-                                        //!<        1: Start packet on an external trigger (input event to RAT)
-      uint8_t inputMode:2;              //!< \brief Input mode if external trigger is used for Tx start<br>
-                                        //!<        0: Rising edge<br>
-                                        //!<        1: Falling edge<br>
-                                        //!<        2: Both edges<br>
-                                        //!<        3: <i>Reserved</i>
-      uint8_t source:5;                 //!<        RAT input event number used for capture if external trigger is used for Tx start
-   } startConf;
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } preTrigger;                        //!<        Trigger for transition from preamble to sync word
-   ratmr_t preTime;                     //!< \brief Time used together with <code>preTrigger</code> for transition from preamble to sync
-                                        //!<        word. If <code>preTrigger.triggerType</code> is set to "now", one preamble as
-                                        //!<        configured in the setup will be sent. Otherwise, the preamble will be repeated until
-                                        //!<        this trigger is observed.
-   uint32_t syncWord;                   //!<        Sync word to transmit
-   uint8_t* pPkt;                       //!<        Pointer to packet, or Tx queue for unlimited length
-};
-
-//! @}
-
-//! \addtogroup CMD_PROP_RX_ADV
-//! @{
-#define CMD_PROP_RX_ADV                                         0x3804
-struct __RFC_STRUCT rfc_CMD_PROP_RX_ADV_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x3804
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   struct {
-      uint8_t bFsOff:1;                 //!< \brief 0: Keep frequency synth on after command<br>
-                                        //!<        1: Turn frequency synth off after command
-      uint8_t bRepeatOk:1;              //!< \brief 0: End operation after receiving a packet correctly<br>
-                                        //!<        1: Go back to sync search after receiving a packet correctly
-      uint8_t bRepeatNok:1;             //!< \brief 0: End operation after receiving a packet with CRC error<br>
-                                        //!<        1: Go back to sync search after receiving a packet with CRC error
-      uint8_t bUseCrc:1;                //!< \brief 0: Do not check CRC<br>
-                                        //!<        1: Check CRC
-      uint8_t bCrcIncSw:1;              //!< \brief 0: Do not include sync word in CRC calculation<br>
-                                        //!<        1: Include sync word in CRC calculation
-      uint8_t bCrcIncHdr:1;             //!< \brief 0: Do not include header in CRC calculation <br>
-                                        //!<        1: Include header in CRC calculation
-      uint8_t endType:1;                //!< \brief 0: Packet is received to the end if end trigger happens after sync is obtained<br>
-                                        //!<        1: Packet reception is stopped if end trigger happens
-      uint8_t filterOp:1;               //!< \brief 0: Stop receiver and restart sync search on address mismatch<br>
-                                        //!<        1: Receive packet and mark it as ignored on address mismatch
-   } pktConf;
-   struct {
-      uint8_t bAutoFlushIgnored:1;      //!<        If 1, automatically discard ignored packets from Rx queue
-      uint8_t bAutoFlushCrcErr:1;       //!<        If 1, automatically discard packets with CRC error from Rx queue
-      uint8_t :1;
-      uint8_t bIncludeHdr:1;            //!<        If 1, include the received header or length byte in the stored packet; otherwise discard it
-      uint8_t bIncludeCrc:1;            //!<        If 1, include the received CRC field in the stored packet; otherwise discard it
-      uint8_t bAppendRssi:1;            //!<        If 1, append an RSSI byte to the packet in the Rx queue
-      uint8_t bAppendTimestamp:1;       //!<        If 1, append a timestamp to the packet in the Rx queue
-      uint8_t bAppendStatus:1;          //!<        If 1, append a status byte to the packet in the Rx queue
-   } rxConf;                            //!<        Rx configuration
-   uint32_t syncWord0;                  //!<        Sync word to listen for
-   uint32_t syncWord1;                  //!<        Alternative sync word if non-zero
-   uint16_t maxPktLen;                  //!< \brief Packet length for fixed length, maximum packet length for variable length<br>
-                                        //!<        0: Unlimited or unknown length
-   struct {
-      uint16_t numHdrBits:6;            //!<        Number of bits in header (0&ndash;32)
-      uint16_t lenPos:5;                //!<        Position of length field in header (0&ndash;31)
-      uint16_t numLenBits:5;            //!<        Number of bits in length field (0&ndash;16)
-   } hdrConf;
-   struct {
-      uint16_t addrType:1;              //!< \brief 0: Address after header<br>
-                                        //!<        1: Address in header
-      uint16_t addrSize:5;              //!< \brief If <code>addrType</code> = 0: Address size in bytes<br>
-                                        //!<        If <code>addrType</code> = 1: Address size in bits
-      uint16_t addrPos:5;               //!< \brief If <code>addrType</code> = 1: Bit position of address in header<br>
-                                        //!<        If <code>addrType</code> = 0: Non-zero to extend address with sync word identifier
-      uint16_t numAddr:5;               //!<        Number of addresses in address list
-   } addrConf;
-   int8_t lenOffset;                    //!<        Signed value to add to length field
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } endTrigger;                        //!<        Trigger classifier for ending the operation
-   ratmr_t endTime;                     //!<        Time used together with <code>endTrigger</code> for ending the operation
-   uint8_t* pAddr;                      //!<        Pointer to address list
-   dataQueue_t* pQueue;                 //!<        Pointer to receive queue
-   uint8_t* pOutput;                    //!<        Pointer to output structure
-};
-
-//! @}
-
-//! \addtogroup CMD_PROP_RADIO_SETUP
-//! @{
-#define CMD_PROP_RADIO_SETUP                                    0x3806
-struct __RFC_STRUCT rfc_CMD_PROP_RADIO_SETUP_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x3806
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   struct {
-      uint16_t modType:3;               //!< \brief 0: FSK<br>
-                                        //!<        1: GFSK<br>
-                                        //!<        Others: <i>Reserved</i>
-      uint16_t deviation:13;            //!<        Deviation (250 Hz steps)
-   } modulation;
-   struct {
-      uint32_t preScale:4;              //!<        Prescaler value
-      uint32_t :4;
-      uint32_t rateWord:21;             //!<        Rate word
-   } symbolRate;
-   uint8_t rxBw;                        //!<        Receiver bandwidth
-   struct {
-      uint8_t nPreamBytes:6;            //!< \brief 0&ndash;30: Number of preamble bytes<br>
-                                        //!<        31: 4 preamble bits
-      uint8_t preamMode:2;              //!< \brief 0: Send 0 as the first preamble bit<br>
-                                        //!<        1: Send 1 as the first preamble bit<br>
-                                        //!<        2: Send same first bit in preamble and sync word<br>
-                                        //!<        3: Send different first bit in preamble and sync word
-   } preamConf;
-   struct {
-      uint16_t nSwBits:6;               //!<        Number of sync word bits (up to 32)
-      uint16_t bBitReversal:1;          //!< \brief 0: Use positive deviation for 1<br>
-                                        //!<        1: Use positive deviation for 0
-      uint16_t bMsbFirst:1;             //!< \brief 0: Least significant bit transmitted first<br>
-                                        //!<        1: Most significant bit transmitted first
-      uint16_t fecMode:4;               //!< \brief Select coding<br>
-                                        //!<        0: Uncoded binary modulation<br>
-                                        //!<        10: Manchester coded binary modulation<br>
-                                        //!<        Others: <i>Reserved</i>
-      uint16_t :1;
-      uint16_t whitenMode:3;            //!< \brief 0: No whitening<br>
-                                        //!<        1: CC1101/CC2500 compatible whitening<br>
-                                        //!<        2: PN9 whitening without byte reversal<br>
-                                        //!<        3: <i>Reserved</i><br>
-                                        //!<        4: No whitener, 32-bit IEEE 802.15.4g compatible CRC<br>
-                                        //!<        5: IEEE 802.15.4g compatible whitener and 32-bit CRC<br>
-                                        //!<        6: No whitener, dynamically IEEE 802.15.4g compatible 16-bit or 32-bit CRC<br>
-                                        //!<        7: Dynamically IEEE 802.15.4g compatible whitener and 16-bit or 32-bit CRC
-   } formatConf;
-   struct {
-      uint16_t frontEndMode:3;          //!< \brief 0x00: Differential mode<br>
-                                        //!<        0x01: Single-ended mode RFP<br>
-                                        //!<        0x02: Single-ended mode RFN<br>
-                                        //!<        0x05 Single-ended mode RFP with external frontend control on RF pins (RFN and RXTX)<br>
-                                        //!<        0x06 Single-ended mode RFN with external frontend control on RF pins (RFP and RXTX)<br>
-                                        //!<        Others: <i>Reserved</i>
-      uint16_t biasMode:1;              //!< \brief 0: Internal bias<br>
-                                        //!<        1: External bias
-      uint16_t :6;
-      uint16_t bNoFsPowerUp:1;          //!< \brief 0: Power up frequency synth<br>
-                                        //!<        1: Do not power up frequency synth
-   } config;                            //!<        Configuration options
-   uint16_t txPower;                    //!<        Transmit power
-   uint32_t* pRegOverride;              //!< \brief Pointer to a list of hardware and configuration registers to override. If NULL, no
-                                        //!<        override is used.
-};
-
-//! @}
-
-//! \addtogroup CMD_PROP_RADIO_DIV_SETUP
-//! @{
-#define CMD_PROP_RADIO_DIV_SETUP                                0x3807
-struct __RFC_STRUCT rfc_CMD_PROP_RADIO_DIV_SETUP_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x3807
-   uint16_t status;                     //!< \brief An integer telling the status of the command. This value is
-                                        //!<        updated by the radio CPU during operation and may be read by the
-                                        //!<        system CPU at any time.
-   rfc_radioOp_t *pNextOp;              //!<        Pointer to the next operation to run after this operation is done
-   ratmr_t startTime;                   //!<        Absolute or relative start time (depending on the value of <code>startTrigger</code>)
-   struct {
-      uint8_t triggerType:4;            //!<        The type of trigger
-      uint8_t bEnaCmd:1;                //!< \brief 0: No alternative trigger command<br>
-                                        //!<        1: CMD_TRIGGER can be used as an alternative trigger
-      uint8_t triggerNo:2;              //!<        The trigger number of the CMD_TRIGGER command that triggers this action
-      uint8_t pastTrig:1;               //!< \brief 0: A trigger in the past is never triggered, or for start of commands, give an error<br>
-                                        //!<        1: A trigger in the past is triggered as soon as possible
-   } startTrigger;                      //!<        Identification of the trigger that starts the operation
-   struct {
-      uint8_t rule:4;                   //!<        Condition for running next command: Rule for how to proceed
-      uint8_t nSkip:4;                  //!<        Number of skips if the rule involves skipping
-   } condition;
-   struct {
-      uint16_t modType:3;               //!< \brief 0: FSK<br>
-                                        //!<        1: GFSK<br>
-                                        //!<        Others: <i>Reserved</i>
-      uint16_t deviation:13;            //!<        Deviation (250 Hz steps)
-   } modulation;
-   struct {
-      uint32_t preScale:4;              //!<        Prescaler value
-      uint32_t :4;
-      uint32_t rateWord:21;             //!<        Rate word
-   } symbolRate;
-   uint8_t rxBw;                        //!<        Receiver bandwidth
-   struct {
-      uint8_t nPreamBytes:6;            //!< \brief 0&ndash;30: Number of preamble bytes<br>
-                                        //!<        31: 4 preamble bits
-      uint8_t preamMode:2;              //!< \brief 0: Send 0 as the first preamble bit<br>
-                                        //!<        1: Send 1 as the first preamble bit<br>
-                                        //!<        2: Send same first bit in preamble and sync word<br>
-                                        //!<        3: Send different first bit in preamble and sync word
-   } preamConf;
-   struct {
-      uint16_t nSwBits:6;               //!<        Number of sync word bits (up to 32)
-      uint16_t bBitReversal:1;          //!< \brief 0: Use positive deviation for 1<br>
-                                        //!<        1: Use positive deviation for 0
-      uint16_t bMsbFirst:1;             //!< \brief 0: Least significant bit transmitted first<br>
-                                        //!<        1: Most significant bit transmitted first
-      uint16_t fecMode:4;               //!< \brief Select coding<br>
-                                        //!<        0: Uncoded binary modulation<br>
-                                        //!<        10: Manchester coded binary modulation<br>
-                                        //!<        Others: <i>Reserved</i>
-      uint16_t :1;
-      uint16_t whitenMode:3;            //!< \brief 0: No whitening<br>
-                                        //!<        1: CC1101/CC2500 compatible whitening<br>
-                                        //!<        2: PN9 whitening without byte reversal<br>
-                                        //!<        3: <i>Reserved</i><br>
-                                        //!<        4: No whitener, 32-bit IEEE 802.15.4g compatible CRC<br>
-                                        //!<        5: IEEE 802.15.4g compatible whitener and 32-bit CRC<br>
-                                        //!<        6: No whitener, dynamically IEEE 802.15.4g compatible 16-bit or 32-bit CRC<br>
-                                        //!<        7: Dynamically IEEE 802.15.4g compatible whitener and 16-bit or 32-bit CRC
-   } formatConf;
-   struct {
-      uint16_t frontEndMode:3;          //!< \brief 0x00: Differential mode<br>
-                                        //!<        0x01: Single-ended mode RFP<br>
-                                        //!<        0x02: Single-ended mode RFN<br>
-                                        //!<        0x05 Single-ended mode RFP with external frontend control on RF pins (RFN and RXTX)<br>
-                                        //!<        0x06 Single-ended mode RFN with external frontend control on RF pins (RFP and RXTX)<br>
-                                        //!<        Others: <i>Reserved</i>
-      uint16_t biasMode:1;              //!< \brief 0: Internal bias<br>
-                                        //!<        1: External bias
-      uint16_t :6;
-      uint16_t bNoFsPowerUp:1;          //!< \brief 0: Power up frequency synth<br>
-                                        //!<        1: Do not power up frequency synth
-   } config;                            //!<        Configuration options
-   uint16_t txPower;                    //!<        Transmit power
-   uint32_t* pRegOverride;              //!< \brief Pointer to a list of hardware and configuration registers to override. If NULL, no
-                                        //!<        override is used.
-   uint16_t centerFreq;                 //!< \brief Center frequency of the frequency band used, in MHz; used for calculating some internal Tx and Rx parameters.
-                                        //!<        For a single channel RF system, this should be set equal to the RF frequency used.
-                                        //!<        For a multi channel RF system (e.g. frequency hopping spread spectrum), this should be set equal
-                                        //!<        to the center frequency of the frequency band used.
-   int16_t intFreq;                     //!< \brief Intermediate frequency to use for Rx, in MHz on 4.12 signed format. Tx will use same
-                                        //!<        intermediate frequency if supported, otherwise 0.<br>
-                                        //!<        0x8000: Use default.
-   uint8_t loDivider;                   //!<        LO frequency divider setting to use. Supported values: 2, 5, 6, 10, 12, 15, and 30
-};
-
-//! @}
-
-//! \addtogroup CMD_PROP_SET_LEN
-//! @{
-#define CMD_PROP_SET_LEN                                        0x3401
-struct __RFC_STRUCT rfc_CMD_PROP_SET_LEN_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x3401
-   uint16_t rxLen;                      //!<        Payload length to use
-};
-
-//! @}
-
-//! \addtogroup CMD_PROP_RESTART_RX
-//! @{
-#define CMD_PROP_RESTART_RX                                     0x3402
-struct __RFC_STRUCT rfc_CMD_PROP_RESTART_RX_s {
-   uint16_t commandNo;                  //!<        The command ID number 0x3402
-};
-
-//! @}
-
-//! \addtogroup propRxOutput
-//! @{
-//! Output structure for Rx operations
-
-struct __RFC_STRUCT rfc_propRxOutput_s {
-   uint16_t nRxOk;                      //!<        Number of packets that have been received with payload, CRC OK and not ignored
-   uint16_t nRxNok;                     //!<        Number of packets that have been received with CRC error
-   uint8_t nRxIgnored;                  //!<        Number of packets that have been received with CRC OK and ignored due to address mismatch
-   uint8_t nRxStopped;                  //!<        Number of packets not received due to illegal length or address mismatch with pktConf.filterOp = 1
-   uint8_t nRxBufFull;                  //!<        Number of packets that have been received and discarded due to lack of buffer space
-   int8_t lastRssi;                     //!<        RSSI of last received packet
-   ratmr_t timeStamp;                   //!<        Time stamp of last received packet
-};
-
-//! @}
-
-//! \addtogroup propRxStatus
-//! @{
-//! Receive status byte that may be appended to message in receive buffer
-
-struct __RFC_STRUCT rfc_propRxStatus_s {
-   struct {
-      uint8_t addressInd:5;             //!<        Index of address found (0 if not applicable)
-      uint8_t syncWordId:1;             //!<        0 for primary sync word, 1 for alternate sync word
-      uint8_t result:2;                 //!< \brief 0: Packet received correctly, not ignored<br>
-                                        //!<        1: Packet received with CRC error<br>
-                                        //!<        2: Packet received correctly, but can be ignored<br>
-                                        //!<        3: Packet reception was aborted
-   } status;
-};
-
-//! @}
-
-//! @}
-//! @}
-#endif /* PROP_CMD_H_ */
diff --git a/cpu/cc26xx-cc13xx/rf-core/api/prop_mailbox.h b/cpu/cc26xx-cc13xx/rf-core/api/prop_mailbox.h
deleted file mode 100644
index ff7b6c25b95a88939547cc7407dc10d8b6546a1f..0000000000000000000000000000000000000000
--- a/cpu/cc26xx-cc13xx/rf-core/api/prop_mailbox.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/******************************************************************************
-*  Filename:       prop_mailbox.h
-*  Revised:        2015-06-29 12:59:58 +0200 (Mon, 29 Jun 2015)
-*  Revision:       44063
-*
-*  Description:    Definitions for proprietary mode radio interface
-*
-*  Copyright (c) 2015, Texas Instruments Incorporated
-*  All rights reserved.
-*
-*  Redistribution and use in source and binary forms, with or without
-*  modification, are permitted provided that the following conditions are met:
-*
-*  1) Redistributions of source code must retain the above copyright notice,
-*     this list of conditions and the following disclaimer.
-*
-*  2) Redistributions in binary form must reproduce the above copyright notice,
-*     this list of conditions and the following disclaimer in the documentation
-*     and/or other materials provided with the distribution.
-*
-*  3) Neither the name of the ORGANIZATION nor the names of its contributors may
-*     be used to endorse or promote products derived from this software without
-*     specific prior written permission.
-*
-*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-*  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-*  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-*  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-*  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-*  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-*  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-*  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-*  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-*  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-*  POSSIBILITY OF SUCH DAMAGE.
-*
-******************************************************************************/
-
-#ifndef PROP_MAILBOX_H_
-#define PROP_MAILBOX_H_
-
-/// \name Radio operation status
-///@{
-/// \name Operation finished normally
-///@{
-#define PROP_DONE_OK            0x3400  ///< Operation ended normally
-#define PROP_DONE_RXTIMEOUT     0x3401  ///< Operation stopped after end trigger while waiting for sync
-#define PROP_DONE_BREAK         0x3402  ///< Rx stopped due to time out in the middle of a packet
-#define PROP_DONE_ENDED         0x3403  ///< Operation stopped after end trigger during reception
-#define PROP_DONE_STOPPED       0x3404  ///< Operation stopped after stop command
-#define PROP_DONE_ABORT         0x3405  ///< Operation aborted by abort command
-#define PROP_DONE_RXERR         0x3406  ///< Operation ended after receiving packet with CRC error
-#define PROP_DONE_IDLE          0x3407  ///< Carrier sense operation ended because of idle channel
-#define PROP_DONE_BUSY          0x3408  ///< Carrier sense operation ended because of busy channel
-#define PROP_DONE_IDLETIMEOUT   0x3409  ///< Carrier sense operation ended because of time out with csConf.timeoutRes = 1
-#define PROP_DONE_BUSYTIMEOUT   0x340A  ///< Carrier sense operation ended because of time out with csConf.timeoutRes = 0
-
-///@}
-/// \name Operation finished with error
-///@{
-#define PROP_ERROR_PAR          0x3800  ///< Illegal parameter
-#define PROP_ERROR_RXBUF        0x3801  ///< No available Rx buffer at the start of a packet
-#define PROP_ERROR_RXFULL       0x3802  ///< Out of Rx buffer during reception in a partial read buffer
-#define PROP_ERROR_NO_SETUP     0x3803  ///< Radio was not set up in proprietary mode
-#define PROP_ERROR_NO_FS        0x3804  ///< Synth was not programmed when running Rx or Tx
-#define PROP_ERROR_RXOVF        0x3805  ///< Rx overflow observed during operation
-#define PROP_ERROR_TXUNF        0x3806  ///< Tx underflow observed during operation
-///@}
-///@}
-
-#endif /* PROP_MAILBOX_H_ */
diff --git a/cpu/cc26xx-cc13xx/rf-core/ieee-mode.c b/cpu/cc26xx-cc13xx/rf-core/ieee-mode.c
index 81382b204b4547724ca8bf34e1c0f0d8839d8bbd..1bc7de0fd47644ce8053c713af5b78174ac17eda 100644
--- a/cpu/cc26xx-cc13xx/rf-core/ieee-mode.c
+++ b/cpu/cc26xx-cc13xx/rf-core/ieee-mode.c
@@ -63,11 +63,11 @@
 #include "hw_rfc_pwr.h"
 /*---------------------------------------------------------------------------*/
 /* RF Core Mailbox API */
-#include "rf-core/api/mailbox.h"
-#include "rf-core/api/common_cmd.h"
 #include "rf-core/api/ieee_cmd.h"
-#include "rf-core/api/data_entry.h"
 #include "rf-core/api/ieee_mailbox.h"
+#include "driverlib/rf_mailbox.h"
+#include "driverlib/rf_common_cmd.h"
+#include "driverlib/rf_data_entry.h"
 /*---------------------------------------------------------------------------*/
 #include "smartrf-settings.h"
 /*---------------------------------------------------------------------------*/
@@ -179,25 +179,23 @@ static uint8_t rf_stats[16] = { 0 };
 /* TX Power dBm lookup table - values from SmartRF Studio */
 typedef struct output_config {
   radio_value_t dbm;
-  uint8_t register_ib;
-  uint8_t register_gc;
-  uint8_t temp_coeff;
+  uint16_t tx_power; /* Value for the CMD_RADIO_SETUP.txPower field */
 } output_config_t;
 
 static const output_config_t output_power[] = {
-  {  5, 0x30, 0x00, 0x93 },
-  {  4, 0x24, 0x00, 0x93 },
-  {  3, 0x1c, 0x00, 0x5a },
-  {  2, 0x18, 0x00, 0x4e },
-  {  1, 0x14, 0x00, 0x42 },
-  {  0, 0x21, 0x01, 0x31 },
-  { -3, 0x18, 0x01, 0x25 },
-  { -6, 0x11, 0x01, 0x1d },
-  { -9, 0x0e, 0x01, 0x19 },
-  {-12, 0x0b, 0x01, 0x14 },
-  {-15, 0x0b, 0x03, 0x0c },
-  {-18, 0x09, 0x03, 0x0c },
-  {-21, 0x07, 0x03, 0x0c },
+  {  5, 0x9330 },
+  {  4, 0x9324 },
+  {  3, 0x5a1c },
+  {  2, 0x4e18 },
+  {  1, 0x4214 },
+  {  0, 0x3161 },
+  { -3, 0x2558 },
+  { -6, 0x1d52 },
+  { -9, 0x194e },
+  {-12, 0x144b },
+  {-15, 0x0ccb },
+  {-18, 0x0cc9 },
+  {-21, 0x0cc7 },
 };
 
 #define OUTPUT_CONFIG_COUNT (sizeof(output_power) / sizeof(output_config_t))
@@ -473,9 +471,7 @@ set_tx_power(radio_value_t power)
 
   memset(&cmd, 0x00, sizeof(cmd));
   cmd.commandNo = CMD_SET_TX_POWER;
-  cmd.txPower.IB = output_power[i].register_ib;
-  cmd.txPower.GC = output_power[i].register_gc;
-  cmd.txPower.tempCoeff = output_power[i].temp_coeff;
+  cmd.txPower = output_power[i].tx_power;
 
   if(rf_core_send_cmd((uint32_t)&cmd, &cmd_status) == RF_CORE_CMD_ERROR) {
     PRINTF("set_tx_power: CMDSTA=0x%08lx\n", cmd_status);
@@ -491,9 +487,7 @@ rf_radio_setup()
   /* Create radio setup command */
   rf_core_init_radio_op((rfc_radioOp_t *)&cmd, sizeof(cmd), CMD_RADIO_SETUP);
 
-  cmd.txPower.IB = tx_power_current->register_ib;
-  cmd.txPower.GC = tx_power_current->register_gc;
-  cmd.txPower.tempCoeff = tx_power_current->temp_coeff;
+  cmd.txPower = tx_power_current->tx_power;
   cmd.pRegOverride = ieee_overrides;
   cmd.mode = 1;
 
diff --git a/cpu/cc26xx-cc13xx/rf-core/prop-mode.c b/cpu/cc26xx-cc13xx/rf-core/prop-mode.c
index e9463dcbf4dd9ed1dc5159bb8ac718afc614d90b..0de61f36e571f20457864392382376c5d32d8bd2 100644
--- a/cpu/cc26xx-cc13xx/rf-core/prop-mode.c
+++ b/cpu/cc26xx-cc13xx/rf-core/prop-mode.c
@@ -64,14 +64,15 @@
 #include "hw_rfc_pwr.h"
 /*---------------------------------------------------------------------------*/
 /* RF Core Mailbox API */
-#include "rf-core/api/mailbox.h"
-#include "rf-core/api/common_cmd.h"
-#include "rf-core/api/data_entry.h"
-#include "rf-core/api/prop_mailbox.h"
-#include "rf-core/api/prop_cmd.h"
+#include "driverlib/rf_mailbox.h"
+#include "driverlib/rf_common_cmd.h"
+#include "driverlib/rf_data_entry.h"
+#include "driverlib/rf_prop_mailbox.h"
+#include "driverlib/rf_prop_cmd.h"
 /*---------------------------------------------------------------------------*/
 /* CC13xxware patches */
 #include "rf_patches/rf_patch_cpe_genfsk.h"
+#include "rf_patches/rf_patch_rfe_genfsk.h"
 /*---------------------------------------------------------------------------*/
 #include "rf-core/smartrf-settings.h"
 /*---------------------------------------------------------------------------*/
@@ -186,7 +187,7 @@ typedef struct output_config {
 
 static const output_config_t output_power[] = {
   { 14, 0xa73f },
-  { 13, 0xa73f }, /* 12.5 */
+  { 13, 0xa63f }, /* 12.5 */
   { 12, 0xb818 },
   { 11, 0x50da },
   { 10, 0x38d3 },
@@ -603,8 +604,6 @@ init(void)
     return RF_CORE_CMD_ERROR;
   }
 
-  rf_core_set_modesel();
-
   /* Initialise RX buffers */
   memset(rx_buf, 0, sizeof(rx_buf));
 
@@ -907,7 +906,29 @@ on(void)
       return RF_CORE_CMD_ERROR;
     }
 
+    /* Keep track of RF Core mode */
+    rf_core_set_modesel();
+
+    /* Apply patches to radio core */
     rf_patch_cpe_genfsk();
+    while(!HWREG(RFC_DBELL_BASE + RFC_DBELL_O_RFACKIFG));
+    HWREG(RFC_DBELL_BASE + RFC_DBELL_O_RFACKIFG) = 0;
+    rf_patch_rfe_genfsk();
+
+    /* Initialize bus request */
+    HWREG(RFC_DBELL_BASE + RFC_DBELL_O_RFACKIFG) = 0;
+    HWREG(RFC_DBELL_BASE + RFC_DBELL_O_CMDR) =
+      CMDR_DIR_CMD_1BYTE(CMD_BUS_REQUEST, 1);
+
+    /* set VCOLDO reference */
+    ti_lib_rfc_adi3vco_ldo_voltage_mode(true);
+
+    /* Let CC13xxware automatically set a correct value for RTRIM for us */
+    ti_lib_rfc_rtrim((rfc_radioOp_t *)&smartrf_settings_cmd_prop_radio_div_setup);
+
+    /* Make sure BUS_REQUEST is done */
+    while(!HWREG(RFC_DBELL_BASE + RFC_DBELL_O_RFACKIFG));
+    HWREG(RFC_DBELL_BASE + RFC_DBELL_O_RFACKIFG) = 0;
 
     if(rf_core_start_rat() != RF_CORE_CMD_OK) {
       PRINTF("on: rf_core_start_rat() failed\n");
diff --git a/cpu/cc26xx-cc13xx/rf-core/rf-ble.c b/cpu/cc26xx-cc13xx/rf-core/rf-ble.c
index 48daba69fb40a5d9da2005c8a45af0e3010a55f9..3cfea03bdd0963ff32d2cd44942338cf7d25a38c 100644
--- a/cpu/cc26xx-cc13xx/rf-core/rf-ble.c
+++ b/cpu/cc26xx-cc13xx/rf-core/rf-ble.c
@@ -46,8 +46,8 @@
 #include "dev/oscillators.h"
 #include "rf-core/rf-core.h"
 #include "rf-core/rf-ble.h"
-#include "rf-core/api/ble_cmd.h"
-#include "rf-core/api/common_cmd.h"
+#include "driverlib/rf_ble_cmd.h"
+#include "driverlib/rf_common_cmd.h"
 #include "ti-lib.h"
 /*---------------------------------------------------------------------------*/
 #include <stdint.h>
@@ -81,14 +81,7 @@ static uint8_t payload[BLE_ADV_PAYLOAD_BUF_LEN];
 static int p = 0;
 static int i;
 /*---------------------------------------------------------------------------*/
-typedef struct default_ble_tx_power_s {
-   uint16_t ib:6;
-   uint16_t gc:2;
-   uint16_t boost:1;
-   uint16_t temp_coeff:7;
-} default_ble_tx_power_t;
-
-static default_ble_tx_power_t tx_power = { 0x29, 0x00, 0x00, 0x00 };
+static uint16_t tx_power = 0x9330;
 /*---------------------------------------------------------------------------*/
 /* BLE beacond config */
 static struct ble_beacond_config {
@@ -220,10 +213,7 @@ rf_radio_setup()
   /* Create radio setup command */
   rf_core_init_radio_op((rfc_radioOp_t *)&cmd, sizeof(cmd), CMD_RADIO_SETUP);
 
-  cmd.txPower.IB = tx_power.ib;
-  cmd.txPower.GC = tx_power.gc;
-  cmd.txPower.tempCoeff = tx_power.temp_coeff;
-  cmd.txPower.boost = tx_power.boost;
+  cmd.txPower = tx_power;
   cmd.pRegOverride = ble_overrides;
   cmd.mode = 0;
 
diff --git a/cpu/cc26xx-cc13xx/rf-core/rf-core.c b/cpu/cc26xx-cc13xx/rf-core/rf-core.c
index f64e5524d4847ad4d4c79693d44437cfbb539d1d..0708d8cc7247d4e456c9f54325662632d15a3662 100644
--- a/cpu/cc26xx-cc13xx/rf-core/rf-core.c
+++ b/cpu/cc26xx-cc13xx/rf-core/rf-core.c
@@ -52,15 +52,9 @@
 #include "hw_rfc_pwr.h"
 /*---------------------------------------------------------------------------*/
 /* RF Core Mailbox API */
-#include "rf-core/api/mailbox.h"
-#include "rf-core/api/common_cmd.h"
-#include "rf-core/api/ble_cmd.h"
-#include "rf-core/api/ieee_cmd.h"
-#include "rf-core/api/data_entry.h"
-#include "rf-core/api/ble_mailbox.h"
-#include "rf-core/api/ieee_mailbox.h"
-#include "rf-core/api/prop_mailbox.h"
-#include "rf-core/api/prop_cmd.h"
+#include "driverlib/rf_mailbox.h"
+#include "driverlib/rf_common_cmd.h"
+#include "driverlib/rf_data_entry.h"
 /*---------------------------------------------------------------------------*/
 #include <stdint.h>
 #include <stdbool.h>
@@ -112,7 +106,12 @@ static bool rat_offset_known = false;
 PROCESS(rf_core_process, "CC13xx / CC26xx RF driver");
 /*---------------------------------------------------------------------------*/
 #define RF_CORE_CLOCKS_MASK (RFC_PWR_PWMCLKEN_RFC_M | RFC_PWR_PWMCLKEN_CPE_M \
-                             | RFC_PWR_PWMCLKEN_CPERAM_M)
+                             | RFC_PWR_PWMCLKEN_CPERAM_M | RFC_PWR_PWMCLKEN_FSCA_M \
+                             | RFC_PWR_PWMCLKEN_PHA_M | RFC_PWR_PWMCLKEN_RAT_M \
+                             | RFC_PWR_PWMCLKEN_RFERAM_M | RFC_PWR_PWMCLKEN_RFE_M \
+                             | RFC_PWR_PWMCLKEN_MDMRAM_M | RFC_PWR_PWMCLKEN_MDM_M)
+/*---------------------------------------------------------------------------*/
+#define RF_CMD0	0x0607
 /*---------------------------------------------------------------------------*/
 uint8_t
 rf_core_is_accessible()
@@ -264,6 +263,12 @@ rf_core_power_up()
   /* Let CPE boot */
   HWREG(RFC_PWR_NONBUF_BASE + RFC_PWR_O_PWMCLKEN) = RF_CORE_CLOCKS_MASK;
 
+  /* Turn on additional clocks on boot */
+  HWREG(RFC_DBELL_BASE + RFC_DBELL_O_RFACKIFG) = 0;
+  HWREG(RFC_DBELL_BASE+RFC_DBELL_O_CMDR) =
+    CMDR_DIR_CMD_2BYTE(RF_CMD0,
+                       RFC_PWR_PWMCLKEN_MDMRAM | RFC_PWR_PWMCLKEN_RFERAM);
+
   /* Send ping (to verify RFCore is ready and alive) */
   if(rf_core_send_cmd(CMDR_DIR_CMD(CMD_PING), &cmd_status) != RF_CORE_CMD_OK) {
     PRINTF("rf_core_power_up: CMD_PING fail, CMDSTA=0x%08lx\n", cmd_status);
diff --git a/cpu/cc26xx-cc13xx/rf-core/rf-core.h b/cpu/cc26xx-cc13xx/rf-core/rf-core.h
index 474de4a87ae558e6083523a81b79c1bffaf914c4..7a75bde50e53cc8dd483d2c4d5941d719689a8f0 100644
--- a/cpu/cc26xx-cc13xx/rf-core/rf-core.h
+++ b/cpu/cc26xx-cc13xx/rf-core/rf-core.h
@@ -52,7 +52,7 @@
 #define RF_CORE_H_
 /*---------------------------------------------------------------------------*/
 #include "contiki-conf.h"
-#include "rf-core/api/common_cmd.h"
+#include "driverlib/rf_common_cmd.h"
 
 #include <stdint.h>
 #include <stdbool.h>
diff --git a/cpu/cc26xx-cc13xx/rf-core/smartrf-settings.c b/cpu/cc26xx-cc13xx/rf-core/smartrf-settings.c
index 8eedf23cb6f96744ba4f0c69dc9935c6e80ad112..3d411463e9647d7ddc5e6f4cd389615e2648872c 100644
--- a/cpu/cc26xx-cc13xx/rf-core/smartrf-settings.c
+++ b/cpu/cc26xx-cc13xx/rf-core/smartrf-settings.c
@@ -28,33 +28,80 @@
  * OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 /*---------------------------------------------------------------------------*/
-#include "rf-core/api/mailbox.h"
-#include "rf-core/api/common_cmd.h"
-#include "rf-core/api/prop_cmd.h"
+#include "driverlib/rf_mailbox.h"
+#include "driverlib/rf_common_cmd.h"
+#include "driverlib/rf_prop_cmd.h"
 /*---------------------------------------------------------------------------*/
 /* Overrides for CMD_PROP_RADIO_DIV_SETUP */
-uint32_t overrides[] =
+static uint32_t overrides[] =
 {
-  /* override_synth.xml */
-  HW32_ARRAY_OVERRIDE(0x6088, 1),
-  (uint32_t)0x0000001A,
-  ADI_HALFREG_OVERRIDE(0, 61, 0xF, 0xD),
-  HW32_ARRAY_OVERRIDE(0x4038, 1),
-  (uint32_t)0x0000003A,
+  /*
+   * override_use_patch_prop_genfsk.xml
+   * PHY: Use MCE ROM bank 4, RFE RAM patch
+   */
+  MCE_RFE_OVERRIDE(0, 4, 0, 1, 0, 0),
+  /*
+   * override_synth_prop_863_930_div5.xml
+   * Synth: Set recommended RTRIM to 7
+   */
+  HW_REG_OVERRIDE(0x4038, 0x0037),
+  /* Synth: Set Fref to 4 MHz */
+  (uint32_t)0x000684A3,
+  /* Synth: Configure fine calibration setting */
   HW_REG_OVERRIDE(0x4020, 0x7F00),
+  /* Synth: Configure fine calibration setting */
   HW_REG_OVERRIDE(0x4064, 0x0040),
-  (uint32_t)0x684A3,
-  (uint32_t)0xC0040141,
-  (uint32_t)0x0533B107,
-  (uint32_t)0xA480583,
+  /* Synth: Configure fine calibration setting */
+  (uint32_t)0xB1070503,
+  /* Synth: Configure fine calibration setting */
+  (uint32_t)0x05330523,
+  /* Synth: Set loop bandwidth after lock to 20 kHz */
+  (uint32_t)0x0A480583,
+  /* Synth: Set loop bandwidth after lock to 20 kHz */
   (uint32_t)0x7AB80603,
-  ADI_REG_OVERRIDE(1, 4, 0x1F),
+  /*
+   * Synth: Configure VCO LDO
+   * (in ADI1, set VCOLDOCFG=0x9F to use voltage input reference)
+   */
+  ADI_REG_OVERRIDE(1, 4, 0x9F),
+  /* Synth: Configure synth LDO (in ADI1, set SLDOCTL0.COMP_CAP=1) */
   ADI_HALFREG_OVERRIDE(1, 7, 0x4, 0x4),
-  HW_REG_OVERRIDE(0x6084, 0x35F1),
+  /* Synth: Use 24 MHz XOSC as synth clock, enable extra PLL filtering */
+  (uint32_t)0x02010403,
+  /* Synth: Configure extra PLL filtering */
+  (uint32_t)0x00108463,
+  /* Synth: Increase synth programming timeout (0x04B0 RAT ticks = 300 us) */
+  (uint32_t)0x04B00243,
+  /*
+   * override_phy_rx_aaf_bw_0xd.xml
+   * Rx: Set anti-aliasing filter bandwidth to 0xD
+   * (in ADI0, set IFAMPCTL3[7:4]=0xD)
+   */
+  ADI_HALFREG_OVERRIDE(0, 61, 0xF, 0xD),
+  /*
+   * override_phy_gfsk_rx.xml
+   * Rx: Set LNA bias current trim offset to 3
+   */
   (uint32_t)0x00038883,
+  /* Rx: Freeze RSSI on sync found event */
+  HW_REG_OVERRIDE(0x6084, 0x35F1),
+  /*
+   * override_phy_gfsk_pa_ramp_agc_reflevel_0x1a.xml
+   * Tx: Enable PA ramping (0x41). Rx: Set AGC reference level to 0x1A.
+   */
+  HW_REG_OVERRIDE(0x6088, 0x411A),
+  /* Tx: Configure PA ramping setting */
+  HW_REG_OVERRIDE(0x608C, 0x8213),
+  /*
+   * override_phy_rx_rssi_offset_5db.xml
+   * Rx: Set RSSI offset to adjust reported RSSI by +5 dB
+   */
   (uint32_t)0x00FB88A3,
-  /* TX power override */
-  ADI_REG_OVERRIDE(0, 12, 0xF9),
+  /*
+   * TX power override
+   * Tx: Set PA trim to max (in ADI0, set PACTL0=0xF8)
+   */
+  ADI_REG_OVERRIDE(0, 12, 0xF8),
 
   /* Overrides for CRC16 functionality */
   (uint32_t)0x943,
@@ -92,6 +139,7 @@ rfc_CMD_PROP_RADIO_DIV_SETUP_t smartrf_settings_cmd_prop_radio_div_setup =
   .formatConf.whitenMode = 0x7,
   .config.frontEndMode = 0x0, /* Differential mode */
   .config.biasMode = 0x1,     /* External bias*/
+  .config.analogCfgMode = 0x0,
   .config.bNoFsPowerUp = 0x0,
   .txPower = 0x00, /* Driver sets correct value */
   .pRegOverride = overrides,
@@ -118,9 +166,9 @@ rfc_CMD_FS_t smartrf_settings_cmd_fs =
   .synthConf.bTxMode = 0x0,
   .synthConf.refFreq = 0x0,
   .__dummy0 = 0x00,
-  .midPrecal = 0x00,
-  .ktPrecal = 0x00,
-  .tdcPrecal = 0x0000,
+  .__dummy1 = 0x00,
+  .__dummy2 = 0x00,
+  .__dummy3 = 0x0000,
 };
 /*---------------------------------------------------------------------------*/
 /* CMD_PROP_TX_ADV */
diff --git a/cpu/cc26xx-cc13xx/rf-core/smartrf-settings.h b/cpu/cc26xx-cc13xx/rf-core/smartrf-settings.h
index bd36ed6d04801e60fa624c8e8c880f9ff47f6c04..483f47a7c6eb75aea5ebb8038f160a8f1acd3071 100644
--- a/cpu/cc26xx-cc13xx/rf-core/smartrf-settings.h
+++ b/cpu/cc26xx-cc13xx/rf-core/smartrf-settings.h
@@ -31,9 +31,9 @@
 #ifndef SMARTRF_SETTINGS_H_
 #define SMARTRF_SETTINGS_H_
 /*---------------------------------------------------------------------------*/
-#include "rf-core/api/mailbox.h"
-#include "rf-core/api/common_cmd.h"
-#include "rf-core/api/prop_cmd.h"
+#include "driverlib/rf_mailbox.h"
+#include "driverlib/rf_common_cmd.h"
+#include "driverlib/rf_prop_cmd.h"
 /*---------------------------------------------------------------------------*/
 extern rfc_CMD_PROP_RADIO_DIV_SETUP_t smartrf_settings_cmd_prop_radio_div_setup;
 extern rfc_CMD_FS_t smartrf_settings_cmd_fs;
diff --git a/cpu/cc26xx-cc13xx/ti-lib.h b/cpu/cc26xx-cc13xx/ti-lib.h
index c8b38c2c678a60ed8fb7dd995bde42de052109a8..3ab5ceb2874ea899f5e6dd434a8b4a7799b6395f 100644
--- a/cpu/cc26xx-cc13xx/ti-lib.h
+++ b/cpu/cc26xx-cc13xx/ti-lib.h
@@ -391,6 +391,12 @@
 #define ti_lib_pwr_ctrl_io_freeze_enable(...)   PowerCtrlIOFreezeEnable(__VA_ARGS__)
 #define ti_lib_pwr_ctrl_io_freeze_disable(...)  PowerCtrlIOFreezeDisable(__VA_ARGS__)
 /*---------------------------------------------------------------------------*/
+/* rfc.h */
+#include "driverlib/rfc.h"
+
+#define ti_lib_rfc_rtrim(...)                    RFCRTrim(__VA_ARGS__)
+#define ti_lib_rfc_adi3vco_ldo_voltage_mode(...) RFCAdi3VcoLdoVoltageMode(__VA_ARGS__)
+/*---------------------------------------------------------------------------*/
 /* sys_ctrl.h */
 #include "driverlib/sys_ctrl.h"
 
diff --git a/platform/srf06-cc26xx/contiki-conf.h b/platform/srf06-cc26xx/contiki-conf.h
index 7eeb7be4de0f4fa2e2cb0a3c4860a36a6a640acd..382b57240899fe69ab0acb90940eacaef48b9ea4 100644
--- a/platform/srf06-cc26xx/contiki-conf.h
+++ b/platform/srf06-cc26xx/contiki-conf.h
@@ -125,8 +125,8 @@
 #define CONTIKIMAC_CONF_CCA_SLEEP_TIME            (RTIMER_ARCH_SECOND / 210)
 #define CONTIKIMAC_CONF_LISTEN_TIME_AFTER_PACKET_DETECTED  (RTIMER_ARCH_SECOND / 20)
 #define CONTIKIMAC_CONF_SEND_SW_ACK               1
-#define CONTIKIMAC_CONF_AFTER_ACK_DETECTED_WAIT_TIME (RTIMER_SECOND / 1000)
-#define CONTIKIMAC_CONF_INTER_PACKET_INTERVAL     (RTIMER_SECOND / 240)
+#define CONTIKIMAC_CONF_AFTER_ACK_DETECTED_WAIT_TIME (RTIMER_SECOND / 920)
+#define CONTIKIMAC_CONF_INTER_PACKET_INTERVAL     (RTIMER_SECOND / 220)
 #else
 #define NETSTACK_CONF_RADIO        ieee_mode_driver