Normalized TX power settings
This commit is contained in:
parent
178bafad2e
commit
de0197d71f
@ -70,7 +70,7 @@ RF_Mode rf_ieee_mode =
|
||||
* See the Technical Reference Manual for further details about the "txPower" Command field.
|
||||
* The PA settings require the CCFG_FORCE_VDDR_HH = 0 unless stated otherwise.
|
||||
*/
|
||||
RF_TxPowerTable_Entry rf_ieee_tx_power_table[RF_IEEE_TX_POWER_TABLE_SIZE+1] =
|
||||
RF_TxPowerTable_Entry rf_ieee_tx_power_table[] =
|
||||
{
|
||||
{ -21, RF_TxPowerTable_DEFAULT_PA_ENTRY( 7, 3, 0, 6) },
|
||||
{ -18, RF_TxPowerTable_DEFAULT_PA_ENTRY( 9, 3, 0, 6) },
|
||||
@ -87,6 +87,20 @@ RF_TxPowerTable_Entry rf_ieee_tx_power_table[RF_IEEE_TX_POWER_TABLE_SIZE+1] =
|
||||
{ 5, RF_TxPowerTable_DEFAULT_PA_ENTRY(48, 0, 1, 73) },
|
||||
RF_TxPowerTable_TERMINATION_ENTRY
|
||||
};
|
||||
|
||||
/*
|
||||
* TX power table size, with one less entry excluding the
|
||||
* termination entry.
|
||||
*/
|
||||
const size_t rf_ieee_tx_power_table_size =
|
||||
(sizeof(rf_ieee_tx_power_table) / sizeof(rf_ieee_tx_power_table[0])) - 1;
|
||||
|
||||
/*
|
||||
* CMD_RADIO_SETUP must be configured with default TX power value
|
||||
* in the .txPower field.
|
||||
*/
|
||||
#define DEFAULT_TX_POWER 0x9330 /* 5 dBm */
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Overrides for CMD_RADIO_SETUP */
|
||||
uint32_t rf_ieee_overrides[] CC_ALIGN(4) =
|
||||
@ -133,7 +147,7 @@ rfc_CMD_RADIO_SETUP_t rf_cmd_ieee_radio_setup =
|
||||
.config.biasMode = 0x1,
|
||||
.config.analogCfgMode = 0x0,
|
||||
.config.bNoFsPowerUp = 0x0,
|
||||
.txPower = 0x9330, /* 5 dBm default */
|
||||
.txPower = DEFAULT_TX_POWER, /* 5 dBm default */
|
||||
.pRegOverride = rf_ieee_overrides,
|
||||
};
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
@ -31,6 +31,8 @@
|
||||
#ifndef IEEE_SETTINGS_H_
|
||||
#define IEEE_SETTINGS_H_
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#include "contiki-conf.h"
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#include <ti/devices/DeviceFamily.h>
|
||||
#include DeviceFamily_constructPath(driverlib/rf_mailbox.h)
|
||||
#include DeviceFamily_constructPath(driverlib/rf_common_cmd.h)
|
||||
@ -44,12 +46,11 @@
|
||||
#include <ti/drivers/rf/RF.h>
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* TI-RTOS RF Mode Object */
|
||||
extern RF_Mode rf_ieee_mode;
|
||||
extern RF_Mode rf_ieee_mode;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* TX Power Table */
|
||||
#define RF_IEEE_TX_POWER_TABLE_SIZE 13
|
||||
|
||||
extern RF_TxPowerTable_Entry rf_ieee_tx_power_table[RF_IEEE_TX_POWER_TABLE_SIZE+1];
|
||||
extern RF_TxPowerTable_Entry rf_ieee_tx_power_table[];
|
||||
extern const size_t rf_ieee_tx_power_table_size;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* RF Core API commands */
|
||||
extern rfc_CMD_RADIO_SETUP_t rf_cmd_ieee_radio_setup;
|
||||
@ -59,7 +60,7 @@ extern rfc_CMD_IEEE_RX_t rf_cmd_ieee_rx;
|
||||
extern rfc_CMD_IEEE_RX_ACK_t rf_cmd_ieee_rx_ack;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* RF Core API Overrides */
|
||||
extern uint32_t rf_ieee_overrides[];
|
||||
extern uint32_t rf_ieee_overrides[];
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#endif /* IEEE_SETTINGS_H_ */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
@ -51,6 +51,7 @@
|
||||
* Whitening: Dynamically IEEE 802.15.4g compatible whitener and 16/32-bit CRC
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#include "contiki-conf.h"
|
||||
#include "sys/cc.h"
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#include <ti/devices/DeviceFamily.h>
|
||||
@ -73,14 +74,15 @@ RF_Mode rf_prop_mode =
|
||||
.rfePatchFxn = &rf_patch_rfe_genfsk,
|
||||
};
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#if defined(DEVICE_CC1310)
|
||||
/*
|
||||
* TX Power table
|
||||
* TX Power table for CC1310
|
||||
* The RF_TxPowerTable_DEFAULT_PA_ENTRY macro is defined in RF.h and requires the following arguments:
|
||||
* RF_TxPowerTable_DEFAULT_PA_ENTRY(bias, gain, boost coefficient)
|
||||
* See the Technical Reference Manual for further details about the "txPower" Command field.
|
||||
* The PA settings require the CCFG_FORCE_VDDR_HH = 0 unless stated otherwise.
|
||||
*/
|
||||
RF_TxPowerTable_Entry rf_prop_tx_power_table[RF_PROP_TX_POWER_TABLE_SIZE+1] =
|
||||
RF_TxPowerTable_Entry rf_prop_tx_power_table[] =
|
||||
{
|
||||
{ -10, RF_TxPowerTable_DEFAULT_PA_ENTRY( 0, 3, 0, 4) },
|
||||
{ 0, RF_TxPowerTable_DEFAULT_PA_ENTRY( 1, 1, 0, 0) },
|
||||
@ -98,10 +100,136 @@ RF_TxPowerTable_Entry rf_prop_tx_power_table[RF_PROP_TX_POWER_TABLE_SIZE+1] =
|
||||
{ 12, RF_TxPowerTable_DEFAULT_PA_ENTRY(24, 0, 0, 92) },
|
||||
/* The original PA value (12.5 dBm) have been rounded to an integer value. */
|
||||
{ 13, RF_TxPowerTable_DEFAULT_PA_ENTRY(63, 0, 0, 83) },
|
||||
/* This setting requires CCFG_FORCE_VDDR_HH = 1. */
|
||||
#if RF_CONF_TXPOWER_BOOST_MODE
|
||||
/* This setting requires RF_CONF_TXPOWER_BOOST_MODE = 1. */
|
||||
{ 14, RF_TxPowerTable_DEFAULT_PA_ENTRY(63, 0, 1, 83) },
|
||||
#endif
|
||||
RF_TxPowerTable_TERMINATION_ENTRY
|
||||
};
|
||||
|
||||
/*
|
||||
* TX power table size, with one less entry excluding the
|
||||
* termination entry.
|
||||
*/
|
||||
const size_t rf_prop_tx_power_table_size =
|
||||
(sizeof(rf_prop_tx_power_table) / sizeof(rf_prop_tx_power_table[0])) - 1;
|
||||
|
||||
/*
|
||||
* CMD_PROP_RADIO_DIV_SETUP must be configured with default TX power value
|
||||
* in the .txPower field. This depends on whether RF_CONF_TXPOWER_BOOST_MODE
|
||||
* is configured or not.
|
||||
*/
|
||||
#if RF_CONF_TXPOWER_BOOST_MODE
|
||||
#define DEFAULT_TX_POWER 0xA73F /* 14 dBm */
|
||||
#else
|
||||
#define DEFAULT_TX_POWER 0xA63F /* 12.5 dBm (rounded up to 13 dBm) */
|
||||
#endif
|
||||
|
||||
#endif /* defined(DEVICE_CC1310) */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#if defined(DEVICE_CC1350)
|
||||
/*
|
||||
* TX Power table for CC1350
|
||||
* The RF_TxPowerTable_DEFAULT_PA_ENTRY macro is defined in RF.h and requires the following arguments:
|
||||
* RF_TxPowerTable_DEFAULT_PA_ENTRY(bias, gain, boost coefficient)
|
||||
* See the Technical Reference Manual for further details about the "txPower" Command field.
|
||||
* The PA settings require the CCFG_FORCE_VDDR_HH = 0 unless stated otherwise.
|
||||
*/
|
||||
RF_TxPowerTable_Entry rf_prop_tx_power_table[] =
|
||||
{
|
||||
{ -10, RF_TxPowerTable_DEFAULT_PA_ENTRY( 0, 3, 0, 2) },
|
||||
{ 0, RF_TxPowerTable_DEFAULT_PA_ENTRY( 3, 3, 0, 9) },
|
||||
{ 1, RF_TxPowerTable_DEFAULT_PA_ENTRY( 4, 3, 0, 11) },
|
||||
{ 2, RF_TxPowerTable_DEFAULT_PA_ENTRY( 5, 3, 0, 12) },
|
||||
{ 3, RF_TxPowerTable_DEFAULT_PA_ENTRY( 6, 3, 0, 14) },
|
||||
{ 4, RF_TxPowerTable_DEFAULT_PA_ENTRY( 4, 1, 0, 12) },
|
||||
{ 5, RF_TxPowerTable_DEFAULT_PA_ENTRY( 8, 3, 0, 16) },
|
||||
{ 6, RF_TxPowerTable_DEFAULT_PA_ENTRY( 9, 3, 0, 18) },
|
||||
{ 7, RF_TxPowerTable_DEFAULT_PA_ENTRY(11, 3, 0, 21) },
|
||||
{ 8, RF_TxPowerTable_DEFAULT_PA_ENTRY(14, 3, 0, 25) },
|
||||
{ 9, RF_TxPowerTable_DEFAULT_PA_ENTRY(18, 3, 0, 32) },
|
||||
{ 10, RF_TxPowerTable_DEFAULT_PA_ENTRY(24, 3, 0, 44) },
|
||||
{ 11, RF_TxPowerTable_DEFAULT_PA_ENTRY(37, 3, 0, 72) },
|
||||
{ 12, RF_TxPowerTable_DEFAULT_PA_ENTRY(43, 0, 0, 94) },
|
||||
#if RF_CONF_TXPOWER_BOOST_MODE
|
||||
/* This setting requires RF_CONF_TXPOWER_BOOST_MODE = 1. */
|
||||
{ 14, RF_TxPowerTable_DEFAULT_PA_ENTRY(63, 0, 1, 85) },
|
||||
#endif
|
||||
RF_TxPowerTable_TERMINATION_ENTRY
|
||||
};
|
||||
|
||||
/*
|
||||
* TX power table size, with one less entry excluding the
|
||||
* termination entry.
|
||||
*/
|
||||
const size_t rf_prop_tx_power_table_size =
|
||||
(sizeof(rf_prop_tx_power_table) / sizeof(rf_prop_tx_power_table[0])) - 1;
|
||||
|
||||
/*
|
||||
* CMD_PROP_RADIO_DIV_SETUP must be configured with default TX power value
|
||||
* in the .txPower field. This depends on whether RF_CONF_TXPOWER_BOOST_MODE
|
||||
* is configured or not.
|
||||
*/
|
||||
#if RF_CONF_TXPOWER_BOOST_MODE
|
||||
#define DEFAULT_TX_POWER 0xAB3F /* 14 dBm */
|
||||
#else
|
||||
#define DEFAULT_TX_POWER 0xBC2B /* 12 dBm */
|
||||
#endif
|
||||
|
||||
#endif /* defined(DEVICE_CC1350) */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#if defined(DEVICE_CC1350_4)
|
||||
/*
|
||||
* TX Power table for CC1350_433
|
||||
* The RF_TxPowerTable_DEFAULT_PA_ENTRY macro is defined in RF.h and requires the following arguments:
|
||||
* RF_TxPowerTable_DEFAULT_PA_ENTRY(bias, gain, boost coefficient)
|
||||
* See the Technical Reference Manual for further details about the "txPower" Command field.
|
||||
* The PA settings require the CCFG_FORCE_VDDR_HH = 0 unless stated otherwise.
|
||||
*/
|
||||
RF_TxPowerTable_Entry rf_prop_tx_power_table[] =
|
||||
{
|
||||
{ -10, RF_TxPowerTable_DEFAULT_PA_ENTRY( 0, 3, 0, 2) },
|
||||
{ 0, RF_TxPowerTable_DEFAULT_PA_ENTRY( 1, 3, 0, 7) },
|
||||
{ 2, RF_TxPowerTable_DEFAULT_PA_ENTRY( 1, 3, 0, 9) },
|
||||
{ 3, RF_TxPowerTable_DEFAULT_PA_ENTRY( 2, 3, 0, 11) },
|
||||
{ 4, RF_TxPowerTable_DEFAULT_PA_ENTRY( 2, 3, 0, 12) },
|
||||
{ 5, RF_TxPowerTable_DEFAULT_PA_ENTRY( 3, 3, 0, 16) },
|
||||
{ 6, RF_TxPowerTable_DEFAULT_PA_ENTRY( 4, 3, 0, 18) },
|
||||
{ 7, RF_TxPowerTable_DEFAULT_PA_ENTRY( 5, 3, 0, 21) },
|
||||
{ 8, RF_TxPowerTable_DEFAULT_PA_ENTRY( 6, 3, 0, 23) },
|
||||
{ 9, RF_TxPowerTable_DEFAULT_PA_ENTRY( 8, 3, 0, 28) },
|
||||
{ 10, RF_TxPowerTable_DEFAULT_PA_ENTRY(11, 3, 0, 35) },
|
||||
{ 11, RF_TxPowerTable_DEFAULT_PA_ENTRY( 8, 1, 0, 39) },
|
||||
{ 12, RF_TxPowerTable_DEFAULT_PA_ENTRY(14, 1, 0, 60) },
|
||||
{ 13, RF_TxPowerTable_DEFAULT_PA_ENTRY(15, 0, 0, 108) },
|
||||
/* The original PA value (13.7 dBm) have been rounded to an integer value. */
|
||||
{ 14, RF_TxPowerTable_DEFAULT_PA_ENTRY(63, 0, 0, 92) },
|
||||
#if RF_CONF_TXPOWER_BOOST_MODE
|
||||
/* This setting requires RF_CONF_TXPOWER_BOOST_MODE = 1. */
|
||||
{ 15, RF_TxPowerTable_DEFAULT_PA_ENTRY(63, 0, 1, 72) },
|
||||
#endif
|
||||
RF_TxPowerTable_TERMINATION_ENTRY
|
||||
};
|
||||
|
||||
/*
|
||||
* TX power table size, with one less entry excluding the
|
||||
* termination entry.
|
||||
*/
|
||||
const size_t rf_prop_tx_power_table_size =
|
||||
(sizeof(rf_prop_tx_power_table) / sizeof(rf_prop_tx_power_table[0])) - 1;
|
||||
|
||||
/*
|
||||
* CMD_PROP_RADIO_DIV_SETUP must be configured with default TX power value
|
||||
* in the .txPower field. This depends on whether RF_CONF_TXPOWER_BOOST_MODE
|
||||
* is configured or not.
|
||||
*/
|
||||
#if RF_CONF_TXPOWER_BOOST_MODE
|
||||
#define DEFAULT_TX_POWER 0x913F /* 15 dBm */
|
||||
#else
|
||||
#define DEFAULT_TX_POWER 0xB83F /* 13.7 dBm (rounded up to 14 dBm) */
|
||||
#endif
|
||||
|
||||
#endif /* defined(DEVICE_CC1350_4) */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Overrides for CMD_PROP_RADIO_DIV_SETUP */
|
||||
uint32_t rf_prop_overrides[] CC_ALIGN(4) =
|
||||
@ -138,10 +266,17 @@ uint32_t rf_prop_overrides[] CC_ALIGN(4) =
|
||||
(uint32_t)0x00000943, /* CRC-16 calculation (see TRM section 23.7.5.2.1) */
|
||||
/* IEEE 802.15.4g: Fix incorrect initialization value for */
|
||||
(uint32_t)0x00000963, /* CRC-16 calculation (see TRM section 23.7.5.2.1) */
|
||||
#if defined(DEVICE_CC1350_4)
|
||||
/* override_phy_rx_rssi_offset_neg2db.xml */
|
||||
(uint32_t)0x000288A3, /* Rx: Set RSSI offset to adjust reported RSSI by -2 dB */
|
||||
#else
|
||||
/* override_phy_rx_rssi_offset_5db.xml */
|
||||
(uint32_t)0x00FB88A3, /* Rx: Set RSSI offset to adjust reported RSSI by +5 dB */
|
||||
#endif
|
||||
/* TX power override */
|
||||
#if RF_CONF_TXPOWER_BOOST_MODE
|
||||
ADI_REG_OVERRIDE(0,12,0xF8), /* Tx: Set PA trim to max (in ADI0, set PACTL0=0xF8) */
|
||||
#endif
|
||||
(uint32_t)0xFFFFFFFF,
|
||||
};
|
||||
/*---------------------------------------------------------------------------*/
|
||||
@ -175,7 +310,7 @@ rfc_CMD_PROP_RADIO_DIV_SETUP_t rf_cmd_prop_radio_div_setup =
|
||||
.config.biasMode = 0x1, /* set by driver */
|
||||
.config.analogCfgMode = 0x0,
|
||||
.config.bNoFsPowerUp = 0x0,
|
||||
.txPower = 0xA73F,
|
||||
.txPower = DEFAULT_TX_POWER,
|
||||
.pRegOverride = rf_prop_overrides,
|
||||
.centerFreq = 0x0364, /* set by driver */
|
||||
.intFreq = 0x8000, /* set by driver */
|
||||
|
@ -31,6 +31,8 @@
|
||||
#ifndef PROP_SETTINGS_H_
|
||||
#define PROP_SETTINGS_H_
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#include "contiki-conf.h"
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#include <ti/devices/DeviceFamily.h>
|
||||
#include DeviceFamily_constructPath(driverlib/rf_mailbox.h)
|
||||
#include DeviceFamily_constructPath(driverlib/rf_common_cmd.h)
|
||||
@ -40,12 +42,11 @@
|
||||
#include <ti/drivers/rf/RF.h>
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* TI-RTOS RF Mode Object */
|
||||
extern RF_Mode rf_prop_mode;
|
||||
extern RF_Mode rf_prop_mode;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* TX Power Table */
|
||||
#define RF_PROP_TX_POWER_TABLE_SIZE 16
|
||||
|
||||
extern RF_TxPowerTable_Entry rf_prop_tx_power_table[RF_PROP_TX_POWER_TABLE_SIZE+1];
|
||||
extern RF_TxPowerTable_Entry rf_prop_tx_power_table[];
|
||||
extern const size_t rf_prop_tx_power_table_size;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* RF Core API commands */
|
||||
extern rfc_CMD_PROP_RADIO_DIV_SETUP_t rf_cmd_prop_radio_div_setup;
|
||||
@ -54,7 +55,7 @@ extern rfc_CMD_PROP_TX_ADV_t rf_cmd_prop_tx_adv;
|
||||
extern rfc_CMD_PROP_RX_ADV_t rf_cmd_prop_rx_adv;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* RF Core API Overrides */
|
||||
extern uint32_t rf_prop_overrides[];
|
||||
extern uint32_t rf_prop_overrides[];
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#endif /* PROP_SETTINGS_H_ */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
@ -67,6 +67,7 @@ RF_Mode rf_ieee_mode =
|
||||
.rfePatchFxn = 0,
|
||||
};
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#if defined(DEVICE_CC1352R)
|
||||
/*
|
||||
* TX Power table
|
||||
* The RF_TxPowerTable_DEFAULT_PA_ENTRY macro is defined in RF.h and requires the following arguments:
|
||||
@ -74,7 +75,7 @@ RF_Mode rf_ieee_mode =
|
||||
* See the Technical Reference Manual for further details about the "txPower" Command field.
|
||||
* The PA settings require the CCFG_FORCE_VDDR_HH = 0 unless stated otherwise.
|
||||
*/
|
||||
RF_TxPowerTable_Entry rf_ieee_tx_power_table_default_pa[RF_IEEE_TX_POWER_TABLE_DEFAULT_PA_SIZE+1] =
|
||||
RF_TxPowerTable_Entry rf_ieee_tx_power_table[] =
|
||||
{
|
||||
{ -21, RF_TxPowerTable_DEFAULT_PA_ENTRY( 7, 3, 0, 3) },
|
||||
{ -18, RF_TxPowerTable_DEFAULT_PA_ENTRY( 9, 3, 0, 3) },
|
||||
@ -93,36 +94,22 @@ RF_TxPowerTable_Entry rf_ieee_tx_power_table_default_pa[RF_IEEE_TX_POWER_TABLE_D
|
||||
{ 5, RF_TxPowerTable_DEFAULT_PA_ENTRY(30, 0, 0, 74) },
|
||||
RF_TxPowerTable_TERMINATION_ENTRY
|
||||
};
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
* TX Power table
|
||||
* The RF_TxPowerTable_HIGH_PA_ENTRY macro is defined in RF.h and requires the following arguments:
|
||||
* RF_TxPowerTable_HIGH_PA_ENTRY(bias, ibboost, boost, coefficient, ldoTrim)
|
||||
* See the Technical Reference Manual for further details about the "txPower" Command field.
|
||||
* The PA settings require the CCFG_FORCE_VDDR_HH = 0 unless stated otherwise.
|
||||
* TX power table size, with one less entry excluding the
|
||||
* termination entry.
|
||||
*/
|
||||
RF_TxPowerTable_Entry rf_ieee_tx_power_table_high_pa[RF_IEEE_TX_POWER_TABLE_HIGH_PA_SIZE+1] =
|
||||
{
|
||||
{ 0, RF_TxPowerTable_HIGH_PA_ENTRY(29, 0, 1, 17, 1) },
|
||||
{ 3, RF_TxPowerTable_HIGH_PA_ENTRY(39, 0, 1, 20, 1) },
|
||||
{ 6, RF_TxPowerTable_HIGH_PA_ENTRY(46, 0, 1, 26, 7) },
|
||||
{ 9, RF_TxPowerTable_HIGH_PA_ENTRY(40, 0, 1, 39, 41) },
|
||||
{ 10, RF_TxPowerTable_HIGH_PA_ENTRY(23, 2, 1, 65, 5) },
|
||||
{ 11, RF_TxPowerTable_HIGH_PA_ENTRY(24, 2, 1, 29, 7) },
|
||||
{ 12, RF_TxPowerTable_HIGH_PA_ENTRY(19, 2, 1, 16, 25) },
|
||||
{ 13, RF_TxPowerTable_HIGH_PA_ENTRY(27, 2, 1, 19, 13) },
|
||||
{ 14, RF_TxPowerTable_HIGH_PA_ENTRY(24, 2, 1, 19, 27) },
|
||||
{ 15, RF_TxPowerTable_HIGH_PA_ENTRY(23, 2, 1, 20, 39) },
|
||||
{ 16, RF_TxPowerTable_HIGH_PA_ENTRY(34, 2, 1, 26, 23) },
|
||||
{ 17, RF_TxPowerTable_HIGH_PA_ENTRY(38, 2, 1, 33, 25) },
|
||||
{ 18, RF_TxPowerTable_HIGH_PA_ENTRY(30, 2, 1, 37, 53) },
|
||||
{ 19, RF_TxPowerTable_HIGH_PA_ENTRY(36, 2, 1, 57, 59) },
|
||||
{ 20, RF_TxPowerTable_HIGH_PA_ENTRY(56, 2, 1, 45, 63) },
|
||||
RF_TxPowerTable_TERMINATION_ENTRY
|
||||
};
|
||||
const size_t rf_ieee_tx_power_table_size =
|
||||
(sizeof(rf_ieee_tx_power_table) / sizeof(rf_ieee_tx_power_table[0])) - 1;
|
||||
|
||||
/*
|
||||
* CMD_RADIO_SETUP must be configured with default TX power value
|
||||
* in the .txPower field.
|
||||
*/
|
||||
#define DEFAULT_TX_POWER 0x941E /* 5 dBm */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Overrides for CMD_RADIO_SETUP with default PA */
|
||||
uint32_t rf_ieee_overrides_default_pa[] CC_ALIGN(4) =
|
||||
/* Overrides for CMD_RADIO_SETUP */
|
||||
uint32_t rf_ieee_overrides[] CC_ALIGN(4) =
|
||||
{
|
||||
/* override_ieee_802_15_4.xml */
|
||||
MCE_RFE_OVERRIDE(1,0,0,0,1,0), /* PHY: Use MCE RAM patch, RFE ROM bank 1 */
|
||||
@ -142,9 +129,54 @@ uint32_t rf_ieee_overrides_default_pa[] CC_ALIGN(4) =
|
||||
(uint32_t)0x000F8883, /* Rx: Set LNA bias current offset to +15 to saturate trim to max (default: 0) */
|
||||
(uint32_t)0xFFFFFFFF,
|
||||
};
|
||||
|
||||
#endif /* defined(DEVICE_CC1352R) */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#if defined(DEVICE_CC1352P)
|
||||
|
||||
#if RF_CONF_TXPOWER_HIGH_PA
|
||||
/*
|
||||
* TX Power table
|
||||
* The RF_TxPowerTable_HIGH_PA_ENTRY macro is defined in RF.h and requires the following arguments:
|
||||
* RF_TxPowerTable_HIGH_PA_ENTRY(bias, ibboost, boost, coefficient, ldoTrim)
|
||||
* See the Technical Reference Manual for further details about the "txPower" Command field.
|
||||
* The PA settings require the CCFG_FORCE_VDDR_HH = 0 unless stated otherwise.
|
||||
*/
|
||||
RF_TxPowerTable_Entry rf_ieee_tx_power_table[] =
|
||||
{
|
||||
{ 0, RF_TxPowerTable_HIGH_PA_ENTRY(29, 0, 1, 17, 1) },
|
||||
{ 3, RF_TxPowerTable_HIGH_PA_ENTRY(39, 0, 1, 20, 1) },
|
||||
{ 6, RF_TxPowerTable_HIGH_PA_ENTRY(46, 0, 1, 26, 7) },
|
||||
{ 9, RF_TxPowerTable_HIGH_PA_ENTRY(40, 0, 1, 39, 41) },
|
||||
{ 10, RF_TxPowerTable_HIGH_PA_ENTRY(23, 2, 1, 65, 5) },
|
||||
{ 11, RF_TxPowerTable_HIGH_PA_ENTRY(24, 2, 1, 29, 7) },
|
||||
{ 12, RF_TxPowerTable_HIGH_PA_ENTRY(19, 2, 1, 16, 25) },
|
||||
{ 13, RF_TxPowerTable_HIGH_PA_ENTRY(27, 2, 1, 19, 13) },
|
||||
{ 14, RF_TxPowerTable_HIGH_PA_ENTRY(24, 2, 1, 19, 27) },
|
||||
{ 15, RF_TxPowerTable_HIGH_PA_ENTRY(23, 2, 1, 20, 39) },
|
||||
{ 16, RF_TxPowerTable_HIGH_PA_ENTRY(34, 2, 1, 26, 23) },
|
||||
{ 17, RF_TxPowerTable_HIGH_PA_ENTRY(38, 2, 1, 33, 25) },
|
||||
{ 18, RF_TxPowerTable_HIGH_PA_ENTRY(30, 2, 1, 37, 53) },
|
||||
{ 19, RF_TxPowerTable_HIGH_PA_ENTRY(36, 2, 1, 57, 59) },
|
||||
{ 20, RF_TxPowerTable_HIGH_PA_ENTRY(56, 2, 1, 45, 63) },
|
||||
RF_TxPowerTable_TERMINATION_ENTRY
|
||||
};
|
||||
|
||||
/*
|
||||
* TX power table size, with one less entry excluding the
|
||||
* termination entry.
|
||||
*/
|
||||
const size_t rf_ieee_tx_power_table_size =
|
||||
(sizeof(rf_ieee_tx_power_table) / sizeof(rf_ieee_tx_power_table[0])) - 1;
|
||||
|
||||
/*
|
||||
* CMD_PROP_RADIO_DIV_SETUP must be configured with default TX power value
|
||||
* in the .txPower field. For High PA, this must be 0xFFFF.
|
||||
*/
|
||||
#define DEFAULT_TX_POWER 0xFFFF /* High PA */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Overrides for CMD_RADIO_SETUP with high PA */
|
||||
uint32_t rf_ieee_overrides_high_pa[] CC_ALIGN(4) =
|
||||
uint32_t rf_ieee_overrides[] CC_ALIGN(4) =
|
||||
{
|
||||
/* override_ieee_802_15_4.xml */
|
||||
MCE_RFE_OVERRIDE(1,0,0,0,1,0), /* PHY: Use MCE RAM patch, RFE ROM bank 1 */
|
||||
@ -168,6 +200,73 @@ uint32_t rf_ieee_overrides_high_pa[] CC_ALIGN(4) =
|
||||
(uint32_t)0xFFFFFFFF,
|
||||
};
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#else
|
||||
/*
|
||||
* TX Power table
|
||||
* The RF_TxPowerTable_DEFAULT_PA_ENTRY macro is defined in RF.h and requires the following arguments:
|
||||
* RF_TxPowerTable_DEFAULT_PA_ENTRY(bias, gain, boost coefficient)
|
||||
* See the Technical Reference Manual for further details about the "txPower" Command field.
|
||||
* The PA settings require the CCFG_FORCE_VDDR_HH = 0 unless stated otherwise.
|
||||
*/
|
||||
RF_TxPowerTable_Entry rf_ieee_tx_power_table[] =
|
||||
{
|
||||
{ -21, RF_TxPowerTable_DEFAULT_PA_ENTRY( 7, 3, 0, 3) },
|
||||
{ -18, RF_TxPowerTable_DEFAULT_PA_ENTRY( 9, 3, 0, 3) },
|
||||
{ -15, RF_TxPowerTable_DEFAULT_PA_ENTRY( 8, 2, 0, 6) },
|
||||
{ -12, RF_TxPowerTable_DEFAULT_PA_ENTRY(10, 2, 0, 8) },
|
||||
{ -10, RF_TxPowerTable_DEFAULT_PA_ENTRY(12, 2, 0, 11) },
|
||||
{ -9, RF_TxPowerTable_DEFAULT_PA_ENTRY(13, 2, 0, 5) },
|
||||
{ -6, RF_TxPowerTable_DEFAULT_PA_ENTRY(13, 1, 0, 16) },
|
||||
{ -5, RF_TxPowerTable_DEFAULT_PA_ENTRY(14, 1, 0, 17) },
|
||||
{ -3, RF_TxPowerTable_DEFAULT_PA_ENTRY(17, 1, 0, 20) },
|
||||
{ 0, RF_TxPowerTable_DEFAULT_PA_ENTRY(25, 1, 0, 26) },
|
||||
{ 1, RF_TxPowerTable_DEFAULT_PA_ENTRY(28, 1, 0, 28) },
|
||||
{ 2, RF_TxPowerTable_DEFAULT_PA_ENTRY(13, 0, 0, 34) },
|
||||
{ 3, RF_TxPowerTable_DEFAULT_PA_ENTRY(17, 0, 0, 42) },
|
||||
{ 4, RF_TxPowerTable_DEFAULT_PA_ENTRY(22, 0, 0, 54) },
|
||||
{ 5, RF_TxPowerTable_DEFAULT_PA_ENTRY(30, 0, 0, 74) },
|
||||
RF_TxPowerTable_TERMINATION_ENTRY
|
||||
};
|
||||
|
||||
/*
|
||||
* TX power table size, with one less entry excluding the
|
||||
* termination entry.
|
||||
*/
|
||||
const size_t rf_ieee_tx_power_table_size =
|
||||
(sizeof(rf_ieee_tx_power_table) / sizeof(rf_ieee_tx_power_table[0])) - 1;
|
||||
|
||||
/*
|
||||
* CMD_RADIO_SETUP must be configured with default TX power value
|
||||
* in the .txPower field.
|
||||
*/
|
||||
#define DEFAULT_TX_POWER 0x941E /* 5 dBm */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Overrides for CMD_RADIO_SETUP with default PA */
|
||||
uint32_t rf_ieee_overrides[] CC_ALIGN(4) =
|
||||
{
|
||||
/* override_ieee_802_15_4.xml */
|
||||
MCE_RFE_OVERRIDE(1,0,0,0,1,0), /* PHY: Use MCE RAM patch, RFE ROM bank 1 */
|
||||
(uint32_t)0x02400403, /* Synth: Use 48 MHz crystal, enable extra PLL filtering */
|
||||
(uint32_t)0x001C8473, /* Synth: Configure extra PLL filtering */
|
||||
(uint32_t)0x00088433, /* Synth: Configure synth hardware */
|
||||
(uint32_t)0x00038793, /* Synth: Set minimum RTRIM to 3 */
|
||||
HW32_ARRAY_OVERRIDE(0x4004,1), /* Synth: Configure faster calibration */
|
||||
(uint32_t)0x1C0C0618, /* Synth: Configure faster calibration */
|
||||
(uint32_t)0xC00401A1, /* Synth: Configure faster calibration */
|
||||
(uint32_t)0x00010101, /* Synth: Configure faster calibration */
|
||||
(uint32_t)0xC0040141, /* Synth: Configure faster calibration */
|
||||
(uint32_t)0x00214AD3, /* Synth: Configure faster calibration */
|
||||
(uint32_t)0x02980243, /* Synth: Decrease synth programming time-out (0x0298 RAT ticks = 166 us) */
|
||||
/* DC/DC regulator: In Tx, use DCDCCTL5[3:0]=0xC (DITHER_EN=1 and IPEAK=4). */
|
||||
(uint32_t)0xFCFC08C3, /* In Rx, use DCDCCTL5[3:0]=0xC (DITHER_EN=1 and IPEAK=4). */
|
||||
(uint32_t)0x000F8883, /* Rx: Set LNA bias current offset to +15 to saturate trim to max (default: 0) */
|
||||
(uint32_t)0xFFFFFFFF,
|
||||
};
|
||||
|
||||
#endif /* RF_CONF_TXPOWER_HIGH_PA */
|
||||
|
||||
#endif /* defined(DEVICE_CC1352P) */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* CMD_RADIO_SETUP: Radio Setup Command for Pre-Defined Schemes */
|
||||
rfc_CMD_RADIO_SETUP_t rf_cmd_ieee_radio_setup =
|
||||
{
|
||||
@ -187,8 +286,8 @@ rfc_CMD_RADIO_SETUP_t rf_cmd_ieee_radio_setup =
|
||||
.config.biasMode = 0x1,
|
||||
.config.analogCfgMode = 0x0,
|
||||
.config.bNoFsPowerUp = 0x0,
|
||||
.txPower = 0x941E, /* 5 dBm default */
|
||||
.pRegOverride = rf_ieee_overrides_default_pa,
|
||||
.txPower = DEFAULT_TX_POWER, /* 5 dBm default */
|
||||
.pRegOverride = rf_ieee_overrides,
|
||||
};
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* CMD_FS: Frequency Synthesizer Programming Command */
|
||||
|
@ -31,6 +31,8 @@
|
||||
#ifndef IEEE_SETTINGS_H_
|
||||
#define IEEE_SETTINGS_H_
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#include "contiki-conf.h"
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#include <ti/devices/DeviceFamily.h>
|
||||
#include DeviceFamily_constructPath(driverlib/rf_mailbox.h)
|
||||
#include DeviceFamily_constructPath(driverlib/rf_common_cmd.h)
|
||||
@ -40,14 +42,11 @@
|
||||
#include <ti/drivers/rf/RF.h>
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* TI-RTOS RF Mode Object */
|
||||
extern RF_Mode rf_ieee_mode;
|
||||
extern RF_Mode rf_ieee_mode;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* TX Power Table */
|
||||
#define RF_IEEE_TX_POWER_TABLE_DEFAULT_PA_SIZE 15
|
||||
#define RF_IEEE_TX_POWER_TABLE_HIGH_PA_SIZE 15
|
||||
|
||||
extern RF_TxPowerTable_Entry rf_ieee_tx_power_table_default_pa[RF_IEEE_TX_POWER_TABLE_DEFAULT_PA_SIZE+1];
|
||||
extern RF_TxPowerTable_Entry rf_ieee_tx_power_table_high_pa[RF_IEEE_TX_POWER_TABLE_HIGH_PA_SIZE+1];
|
||||
extern RF_TxPowerTable_Entry rf_ieee_tx_power_table[];
|
||||
extern const size_t rf_ieee_tx_power_table_size;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* RF Core API commands */
|
||||
extern rfc_CMD_RADIO_SETUP_t rf_cmd_ieee_radio_setup;
|
||||
@ -57,8 +56,7 @@ extern rfc_CMD_IEEE_RX_t rf_cmd_ieee_rx;
|
||||
extern rfc_CMD_IEEE_RX_ACK_t rf_cmd_ieee_rx_ack;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* RF Core API Overrides */
|
||||
extern uint32_t rf_ieee_overrides_default_pa[];
|
||||
extern uint32_t rf_ieee_overrides_high_pa[];
|
||||
extern uint32_t rf_ieee_overrides[];
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#endif /* IEEE_SETTINGS_H_ */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
@ -80,6 +80,7 @@ RF_Mode rf_prop_mode =
|
||||
.rfePatchFxn = &rf_patch_rfe_genfsk,
|
||||
};
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#if defined(DEVICE_CC1312R) || defined(DEVICE_CC1352R)
|
||||
/*
|
||||
* TX Power table
|
||||
* The RF_TxPowerTable_DEFAULT_PA_ENTRY macro is defined in RF.h and requires the following arguments:
|
||||
@ -87,7 +88,191 @@ RF_Mode rf_prop_mode =
|
||||
* See the Technical Reference Manual for further details about the "txPower" Command field.
|
||||
* The PA settings require the CCFG_FORCE_VDDR_HH = 0 unless stated otherwise.
|
||||
*/
|
||||
RF_TxPowerTable_Entry rf_prop_tx_power_table_default_pa[RF_PROP_TX_POWER_TABLE_DEFAULT_PA_SIZE+1] =
|
||||
RF_TxPowerTable_Entry rf_prop_tx_power_table[] =
|
||||
{
|
||||
{ -20, RF_TxPowerTable_DEFAULT_PA_ENTRY(0, 3, 0, 2) },
|
||||
{ -15, RF_TxPowerTable_DEFAULT_PA_ENTRY(1, 3, 0, 2) },
|
||||
{ -10, RF_TxPowerTable_DEFAULT_PA_ENTRY(2, 3, 0, 4) },
|
||||
{ -5, RF_TxPowerTable_DEFAULT_PA_ENTRY(4, 3, 0, 5) },
|
||||
{ 0, RF_TxPowerTable_DEFAULT_PA_ENTRY(8, 3, 0, 7) },
|
||||
{ 1, RF_TxPowerTable_DEFAULT_PA_ENTRY(9, 3, 0, 7) },
|
||||
{ 2, RF_TxPowerTable_DEFAULT_PA_ENTRY(10, 3, 0, 9) },
|
||||
{ 3, RF_TxPowerTable_DEFAULT_PA_ENTRY(11, 3, 0, 9) },
|
||||
{ 4, RF_TxPowerTable_DEFAULT_PA_ENTRY(12, 3, 0, 11) },
|
||||
{ 5, RF_TxPowerTable_DEFAULT_PA_ENTRY(14, 3, 0, 12) },
|
||||
{ 6, RF_TxPowerTable_DEFAULT_PA_ENTRY(16, 3, 0, 14) },
|
||||
{ 7, RF_TxPowerTable_DEFAULT_PA_ENTRY(8, 2, 0, 16) },
|
||||
{ 8, RF_TxPowerTable_DEFAULT_PA_ENTRY(22, 3, 0, 32) },
|
||||
{ 9, RF_TxPowerTable_DEFAULT_PA_ENTRY(26, 3, 0, 28) },
|
||||
{ 10, RF_TxPowerTable_DEFAULT_PA_ENTRY(33, 3, 0, 55) },
|
||||
{ 11, RF_TxPowerTable_DEFAULT_PA_ENTRY(23, 2, 0, 42) },
|
||||
{ 12, RF_TxPowerTable_DEFAULT_PA_ENTRY(10, 0, 0, 58) },
|
||||
/* The original PA value (12.5 dBm) have been rounded to an integer value. */
|
||||
{ 13, RF_TxPowerTable_DEFAULT_PA_ENTRY(20, 0, 0, 102) },
|
||||
#if RF_CONF_TXPOWER_BOOST_MODE
|
||||
/* This setting requires RF_CONF_TXPOWER_BOOST_MODE = 1. */
|
||||
{ 14, RF_TxPowerTable_DEFAULT_PA_ENTRY(63, 0, 1, 79) },
|
||||
#endif
|
||||
RF_TxPowerTable_TERMINATION_ENTRY
|
||||
};
|
||||
|
||||
/*
|
||||
* TX power table size, with one less entry excluding the
|
||||
* termination entry.
|
||||
*/
|
||||
const size_t rf_prop_tx_power_table_size =
|
||||
(sizeof(rf_prop_tx_power_table) / sizeof(rf_prop_tx_power_table[0])) - 1;
|
||||
|
||||
/*
|
||||
* CMD_PROP_RADIO_DIV_SETUP must be configured with default TX power value
|
||||
* in the .txPower field. This depends on whether RF_CONF_TXPOWER_BOOST_MODE
|
||||
* is configured or not.
|
||||
*/
|
||||
#if RF_CONF_TXPOWER_BOOST_MODE
|
||||
#define DEFAULT_TX_POWER 0x9F3F /* 14 dBm */
|
||||
#else
|
||||
#define DEFAULT_TX_POWER 0xCC14 /* 12.5 dBm (rounded up to 13 dBm) */
|
||||
#endif
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Overrides for CMD_PROP_RADIO_DIV_SETUP */
|
||||
uint32_t rf_prop_overrides[] CC_ALIGN(4) =
|
||||
{
|
||||
/* override_use_patch_prop_genfsk.xml */
|
||||
MCE_RFE_OVERRIDE(1,0,0,1,0,0), /* PHY: Use MCE RAM patch, RFE RAM patch */
|
||||
/* override_synth_prop_863_930_div5.xml */
|
||||
(uint32_t)0x02400403, /* Synth: Use 48 MHz crystal as synth clock, enable extra PLL filtering */
|
||||
(uint32_t)0x00068793, /* Synth: Set minimum RTRIM to 6 */
|
||||
(uint32_t)0x001C8473, /* Synth: Configure extra PLL filtering */
|
||||
(uint32_t)0x00088433, /* Synth: Configure extra PLL filtering */
|
||||
(uint32_t)0x000684A3, /* Synth: Set Fref to 4 MHz */
|
||||
HW32_ARRAY_OVERRIDE(0x4004,1), /* Synth: Configure faster calibration */
|
||||
(uint32_t)0x180C0618, /* Synth: Configure faster calibration */
|
||||
(uint32_t)0xC00401A1, /* Synth: Configure faster calibration */
|
||||
(uint32_t)0x00010101, /* Synth: Configure faster calibration */
|
||||
(uint32_t)0xC0040141, /* Synth: Configure faster calibration */
|
||||
(uint32_t)0x00214AD3, /* Synth: Configure faster calibration */
|
||||
/* Synth: Decrease synth programming time-out by 90 us from default */
|
||||
(uint32_t)0x02980243, /* (0x0298 RAT ticks = 166 us) */
|
||||
(uint32_t)0x0A480583, /* Synth: Set loop bandwidth after lock to 20 kHz */
|
||||
(uint32_t)0x7AB80603, /* Synth: Set loop bandwidth after lock to 20 kHz */
|
||||
(uint32_t)0x00000623, /* Synth: Set loop bandwidth after lock to 20 kHz */
|
||||
/* override_phy_tx_pa_ramp_genfsk_hpa.xml */
|
||||
ADI_HALFREG_OVERRIDE(0,16,0x8,0x8), /* Tx: Configure PA ramp time, PACTL2.RC=0x3 (in ADI0, set PACTL2[3]=1) */
|
||||
ADI_HALFREG_OVERRIDE(0,17,0x1,0x1), /* Tx: Configure PA ramp time, PACTL2.RC=0x3 (in ADI0, set PACTL2[4]=1) */
|
||||
/* override_phy_rx_frontend_genfsk.xml */
|
||||
HW_REG_OVERRIDE(0x609C,0x001A), /* Rx: Set AGC reference level to 0x1A (default: 0x2E) */
|
||||
(uint32_t)0x00018883, /* Rx: Set LNA bias current offset to adjust +1 (default: 0) */
|
||||
(uint32_t)0x000288A3, /* Rx: Set RSSI offset to adjust reported RSSI by -2 dB (default: 0) */
|
||||
/* override_phy_rx_aaf_bw_0xd.xml */
|
||||
/* Rx: Set anti-aliasing filter bandwidth to 0xD */
|
||||
ADI_HALFREG_OVERRIDE(0,61,0xF,0xD), /* (in ADI0, set IFAMPCTL3[7:4]=0xD) */
|
||||
#if RF_CONF_TXPOWER_BOOST_MODE
|
||||
/* TX power override */
|
||||
/* DC/DC regulator: In Tx with 14 dBm PA setting, */
|
||||
/* use DCDCCTL5[3:0]=0xF (DITHER_EN=1 and IPEAK=7). */
|
||||
(uint32_t)0xFFFC08C3, /* In Rx, use DCDCCTL5[3:0]=0xC (DITHER_EN=1 and IPEAK=4). */
|
||||
/* Tx: Set PA trim to max to maximize its output power */
|
||||
ADI_REG_OVERRIDE(0,12,0xF8), /* (in ADI0, set PACTL0=0xF8) */
|
||||
#else
|
||||
/* TX power override */
|
||||
/* DC/DC regulator: */
|
||||
/* In Tx, use DCDCCTL5[3:0]=0xC (DITHER_EN=1 and IPEAK=4). */
|
||||
(uint32_t)0xFCFC08C3, /* In Rx, use DCDCCTL5[3:0]=0xC (DITHER_EN=1 and IPEAK=4). */
|
||||
#endif
|
||||
(uint32_t)0xFFFFFFFF,
|
||||
};
|
||||
|
||||
#endif /* defined(DEVICE_CC1312R) || defined(DEVICE_CC1352R) */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#if defined(DEVICE_CC1352P)
|
||||
|
||||
#if RF_CONF_TXPOWER_HIGH_PA
|
||||
/*
|
||||
* TX Power table
|
||||
* The RF_TxPowerTable_HIGH_PA_ENTRY macro is defined in RF.h and requires the following arguments:
|
||||
* RF_TxPowerTable_HIGH_PA_ENTRY(bias, ibboost, boost, coefficient, ldoTrim)
|
||||
* See the Technical Reference Manual for further details about the "txPower" Command field.
|
||||
* The PA settings require the CCFG_FORCE_VDDR_HH = 0 unless stated otherwise.
|
||||
*/
|
||||
RF_TxPowerTable_Entry rf_prop_tx_power_table[] =
|
||||
{
|
||||
{ 14, RF_TxPowerTable_HIGH_PA_ENTRY( 7, 0, 0, 23, 4) },
|
||||
{ 15, RF_TxPowerTable_HIGH_PA_ENTRY(10, 0, 0, 26, 4) },
|
||||
{ 16, RF_TxPowerTable_HIGH_PA_ENTRY(14, 0, 0, 33, 4) },
|
||||
{ 17, RF_TxPowerTable_HIGH_PA_ENTRY(18, 0, 0, 40, 6) },
|
||||
{ 18, RF_TxPowerTable_HIGH_PA_ENTRY(24, 0, 0, 51, 8) },
|
||||
{ 19, RF_TxPowerTable_HIGH_PA_ENTRY(32, 0, 0, 73, 12) },
|
||||
{ 20, RF_TxPowerTable_HIGH_PA_ENTRY(27, 0, 0, 85, 32) },
|
||||
RF_TxPowerTable_TERMINATION_ENTRY
|
||||
};
|
||||
|
||||
/*
|
||||
* TX power table size, with one less entry excluding the
|
||||
* termination entry.
|
||||
*/
|
||||
const size_t rf_prop_tx_power_table_size =
|
||||
(sizeof(rf_prop_tx_power_table) / sizeof(rf_prop_tx_power_table[0])) - 1;
|
||||
|
||||
/*
|
||||
* CMD_PROP_RADIO_DIV_SETUP must be configured with default TX power value
|
||||
* in the .txPower field. For High PA, this must be 0xFFFF.
|
||||
*/
|
||||
#define DEFAULT_TX_POWER 0xFFFF /* High PA */
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Overrides for CMD_PROP_RADIO_DIV_SETUP with high PA */
|
||||
uint32_t rf_prop_overrides[] CC_ALIGN(4) =
|
||||
{
|
||||
/* override_use_patch_prop_genfsk.xml */
|
||||
MCE_RFE_OVERRIDE(1,0,0,1,0,0), /* PHY: Use MCE RAM patch, RFE RAM patch */
|
||||
/* override_synth_prop_863_930_div5.xml */
|
||||
(uint32_t)0x02400403, /* Synth: Use 48 MHz crystal as synth clock, enable extra PLL filtering */
|
||||
(uint32_t)0x00068793, /* Synth: Set minimum RTRIM to 6 */
|
||||
(uint32_t)0x001C8473, /* Synth: Configure extra PLL filtering */
|
||||
(uint32_t)0x00088433, /* Synth: Configure extra PLL filtering */
|
||||
(uint32_t)0x000684A3, /* Synth: Set Fref to 4 MHz */
|
||||
HW32_ARRAY_OVERRIDE(0x4004,1), /* Synth: Configure faster calibration */
|
||||
(uint32_t)0x180C0618, /* Synth: Configure faster calibration */
|
||||
(uint32_t)0xC00401A1, /* Synth: Configure faster calibration */
|
||||
(uint32_t)0x00010101, /* Synth: Configure faster calibration */
|
||||
(uint32_t)0xC0040141, /* Synth: Configure faster calibration */
|
||||
(uint32_t)0x00214AD3, /* Synth: Configure faster calibration */
|
||||
/* Synth: Decrease synth programming time-out by 90 us */
|
||||
(uint32_t)0x02980243, /* from default (0x0298 RAT ticks = 166 us) */
|
||||
(uint32_t)0x0A480583, /* Synth: Set loop bandwidth after lock to 20 kHz */
|
||||
(uint32_t)0x7AB80603, /* Synth: Set loop bandwidth after lock to 20 kHz */
|
||||
(uint32_t)0x00000623, /* Synth: Set loop bandwidth after lock to 20 kHz */
|
||||
/* override_phy_tx_pa_ramp_genfsk_hpa.xml */
|
||||
/* Tx: Configure PA ramping, set wait time before turning off */
|
||||
HW_REG_OVERRIDE(0x6028,0x002F), /* (0x2F ticks of 16/24 us = 31.3 us). */
|
||||
ADI_HALFREG_OVERRIDE(0,16,0x8,0x8), /* Tx: Configure PA ramp time, PACTL2.RC=0x3 (in ADI0, set PACTL2[3]=1) */
|
||||
ADI_HALFREG_OVERRIDE(0,17,0x1,0x1), /* Tx: Configure PA ramp time, PACTL2.RC=0x3 (in ADI0, set PACTL2[4]=1) */
|
||||
/* override_phy_rx_frontend_genfsk.xml */
|
||||
HW_REG_OVERRIDE(0x609C,0x001A), /* Rx: Set AGC reference level to 0x1A (default: 0x2E) */
|
||||
(uint32_t)0x00018883, /* Rx: Set LNA bias current offset to adjust +1 (default: 0) */
|
||||
(uint32_t)0x000288A3, /* Rx: Set RSSI offset to adjust reported RSSI by -2 dB (default: 0) */
|
||||
/* override_phy_rx_aaf_bw_0xd.xml */
|
||||
/* Rx: Set anti-aliasing filter bandwidth to 0xD */
|
||||
ADI_HALFREG_OVERRIDE(0,61,0xF,0xD), /* (in ADI0, set IFAMPCTL3[7:4]=0xD) */
|
||||
/* TX power override */
|
||||
/* DC/DC regulator: */
|
||||
/* In Tx, use DCDCCTL5[3:0]=0xC (DITHER_EN=1 and IPEAK=4). */
|
||||
(uint32_t)0xFCFC08C3, /* In Rx, use DCDCCTL5[3:0]=0xC (DITHER_EN=1 and IPEAK=4). */
|
||||
(uint32_t)0x82A86C2B, /* txHighPA=0x20AA1B */
|
||||
(uint32_t)0xFFFFFFFF,
|
||||
};
|
||||
|
||||
#else
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/*
|
||||
* TX Power table
|
||||
* The RF_TxPowerTable_DEFAULT_PA_ENTRY macro is defined in RF.h and requires the following arguments:
|
||||
* RF_TxPowerTable_DEFAULT_PA_ENTRY(bias, gain, boost coefficient)
|
||||
* See the Technical Reference Manual for further details about the "txPower" Command field.
|
||||
* The PA settings require the CCFG_FORCE_VDDR_HH = 0 unless stated otherwise.
|
||||
*/
|
||||
RF_TxPowerTable_Entry rf_prop_tx_power_table[] =
|
||||
{
|
||||
{ -20, RF_TxPowerTable_DEFAULT_PA_ENTRY( 0, 3, 0, 2) },
|
||||
{ -15, RF_TxPowerTable_DEFAULT_PA_ENTRY( 1, 3, 0, 3) },
|
||||
@ -106,33 +291,37 @@ RF_TxPowerTable_Entry rf_prop_tx_power_table_default_pa[RF_PROP_TX_POWER_TABLE_D
|
||||
{ 10, RF_TxPowerTable_DEFAULT_PA_ENTRY(13, 1, 0, 40) },
|
||||
{ 11, RF_TxPowerTable_DEFAULT_PA_ENTRY(10, 0, 0, 71) },
|
||||
{ 12, RF_TxPowerTable_DEFAULT_PA_ENTRY(63, 0, 0, 64) },
|
||||
/* The original PA value (13.5 dBm) have been rounded to an integer value. */
|
||||
/* This setting requires CCFG_FORCE_VDDR_HH = 1. */
|
||||
#if RF_CONF_TXPOWER_BOOST_MODE
|
||||
/*
|
||||
* This setting requires RF_CONF_TXPOWER_BOOST_MODE = 1.
|
||||
* The original PA value (13.5 dBm) have been rounded to an integer value.
|
||||
*/
|
||||
{ 14, RF_TxPowerTable_DEFAULT_PA_ENTRY(63, 0, 1, 0) },
|
||||
#endif
|
||||
RF_TxPowerTable_TERMINATION_ENTRY
|
||||
};
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
* TX Power table
|
||||
* The RF_TxPowerTable_HIGH_PA_ENTRY macro is defined in RF.h and requires the following arguments:
|
||||
* RF_TxPowerTable_HIGH_PA_ENTRY(bias, ibboost, boost, coefficient, ldoTrim)
|
||||
* See the Technical Reference Manual for further details about the "txPower" Command field.
|
||||
* The PA settings require the CCFG_FORCE_VDDR_HH = 0 unless stated otherwise.
|
||||
* TX power table size, with one less entry excluding the
|
||||
* termination entry.
|
||||
*/
|
||||
RF_TxPowerTable_Entry rf_prop_tx_power_table_high_pa[RF_PROP_TX_POWER_TABLE_HIGH_PA_SIZE+1] =
|
||||
{
|
||||
{ 14, RF_TxPowerTable_HIGH_PA_ENTRY( 7, 0, 0, 23, 4) },
|
||||
{ 15, RF_TxPowerTable_HIGH_PA_ENTRY(10, 0, 0, 26, 4) },
|
||||
{ 16, RF_TxPowerTable_HIGH_PA_ENTRY(14, 0, 0, 33, 4) },
|
||||
{ 17, RF_TxPowerTable_HIGH_PA_ENTRY(18, 0, 0, 40, 6) },
|
||||
{ 18, RF_TxPowerTable_HIGH_PA_ENTRY(24, 0, 0, 51, 8) },
|
||||
{ 19, RF_TxPowerTable_HIGH_PA_ENTRY(32, 0, 0, 73, 12) },
|
||||
{ 20, RF_TxPowerTable_HIGH_PA_ENTRY(27, 0, 0, 85, 32) },
|
||||
RF_TxPowerTable_TERMINATION_ENTRY
|
||||
};
|
||||
const size_t rf_prop_tx_power_table_size =
|
||||
(sizeof(rf_prop_tx_power_table) / sizeof(rf_prop_tx_power_table[0])) - 1;
|
||||
|
||||
/*
|
||||
* CMD_PROP_RADIO_DIV_SETUP must be configured with default TX power value
|
||||
* in the .txPower field. This depends on whether RF_CONF_TXPOWER_BOOST_MODE
|
||||
* is configured or not.
|
||||
*/
|
||||
#if RF_CONF_TXPOWER_BOOST_MODE
|
||||
#define DEFAULT_TX_POWER 0x013F /* 13.5 dBm (rounded up to 14 dBm) */
|
||||
#else
|
||||
#define DEFAULT_TX_POWER 0x803F /* 12 dBm */
|
||||
#endif
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Overrides for CMD_PROP_RADIO_DIV_SETUP with defualt PA */
|
||||
uint32_t rf_prop_overrides_default_pa[] CC_ALIGN(4) =
|
||||
uint32_t rf_prop_overrides[] CC_ALIGN(4) =
|
||||
{
|
||||
/* override_use_patch_prop_genfsk.xml */
|
||||
MCE_RFE_OVERRIDE(1,0,0,1,0,0), /* PHY: Use MCE RAM patch, RFE RAM patch */
|
||||
@ -165,56 +354,25 @@ uint32_t rf_prop_overrides_default_pa[] CC_ALIGN(4) =
|
||||
/* override_phy_rx_aaf_bw_0xd.xml */
|
||||
/* Rx: Set anti-aliasing filter bandwidth to 0xD */
|
||||
ADI_HALFREG_OVERRIDE(0,61,0xF,0xD), /* (in ADI0, set IFAMPCTL3[7:4]=0xD) */
|
||||
#if RF_CONF_TXPOWER_BOOST_MODE
|
||||
/* TX power override */
|
||||
/* DC/DC regulator: In Tx with 14 dBm PA setting, */
|
||||
/* use DCDCCTL5[3:0]=0xF (DITHER_EN=1 and IPEAK=7). */
|
||||
(uint32_t)0xFFFC08C3, /* In Rx, use DCDCCTL5[3:0]=0xC (DITHER_EN=1 and IPEAK=4). */
|
||||
/* Tx: Set PA trim to max to maximize its output power */
|
||||
ADI_REG_OVERRIDE(0,12,0xF8), /* (in ADI0, set PACTL0=0xF8) */
|
||||
(uint32_t)0xFFFFFFFF,
|
||||
};
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Overrides for CMD_PROP_RADIO_DIV_SETUP with high PA */
|
||||
uint32_t rf_prop_overrides_high_pa[] CC_ALIGN(4) =
|
||||
{
|
||||
/* override_use_patch_prop_genfsk.xml */
|
||||
MCE_RFE_OVERRIDE(1,0,0,1,0,0), /* PHY: Use MCE RAM patch, RFE RAM patch */
|
||||
/* override_synth_prop_863_930_div5.xml */
|
||||
(uint32_t)0x02400403, /* Synth: Use 48 MHz crystal as synth clock, enable extra PLL filtering */
|
||||
(uint32_t)0x00068793, /* Synth: Set minimum RTRIM to 6 */
|
||||
(uint32_t)0x001C8473, /* Synth: Configure extra PLL filtering */
|
||||
(uint32_t)0x00088433, /* Synth: Configure extra PLL filtering */
|
||||
(uint32_t)0x000684A3, /* Synth: Set Fref to 4 MHz */
|
||||
HW32_ARRAY_OVERRIDE(0x4004,1), /* Synth: Configure faster calibration */
|
||||
(uint32_t)0x180C0618, /* Synth: Configure faster calibration */
|
||||
(uint32_t)0xC00401A1, /* Synth: Configure faster calibration */
|
||||
(uint32_t)0x00010101, /* Synth: Configure faster calibration */
|
||||
(uint32_t)0xC0040141, /* Synth: Configure faster calibration */
|
||||
(uint32_t)0x00214AD3, /* Synth: Configure faster calibration */
|
||||
/* Synth: Decrease synth programming time-out by 90 us from default */
|
||||
(uint32_t)0x02980243, /* (0x0298 RAT ticks = 166 us) */
|
||||
(uint32_t)0x0A480583, /* Synth: Set loop bandwidth after lock to 20 kHz */
|
||||
(uint32_t)0x7AB80603, /* Synth: Set loop bandwidth after lock to 20 kHz */
|
||||
(uint32_t)0x00000623, /* Synth: Set loop bandwidth after lock to 20 kHz */
|
||||
/* override_phy_tx_pa_ramp_genfsk_hpa.xml */
|
||||
/* Tx: Configure PA ramping, set wait time before turning off */
|
||||
HW_REG_OVERRIDE(0x6028,0x002F), /* (0x2F ticks of 16/24 us = 31.3 us). */
|
||||
ADI_HALFREG_OVERRIDE(0,16,0x8,0x8), /* Tx: Configure PA ramp time, PACTL2.RC=0x3 (in ADI0, set PACTL2[3]=1) */
|
||||
ADI_HALFREG_OVERRIDE(0,17,0x1,0x1), /* Tx: Configure PA ramp time, PACTL2.RC=0x3 (in ADI0, set PACTL2[4]=1) */
|
||||
/* override_phy_rx_frontend_genfsk.xml */
|
||||
HW_REG_OVERRIDE(0x609C,0x001A), /* Rx: Set AGC reference level to 0x1A (default: 0x2E) */
|
||||
(uint32_t)0x00018883, /* Rx: Set LNA bias current offset to adjust +1 (default: 0) */
|
||||
(uint32_t)0x000288A3, /* Rx: Set RSSI offset to adjust reported RSSI by -2 dB (default: 0) */
|
||||
/* override_phy_rx_aaf_bw_0xd.xml */
|
||||
/* Rx: Set anti-aliasing filter bandwidth to 0xD */
|
||||
ADI_HALFREG_OVERRIDE(0,61,0xF,0xD), /* (in ADI0, set IFAMPCTL3[7:4]=0xD) */
|
||||
/* TX power override */
|
||||
#else
|
||||
/* TX power override */
|
||||
/* DC/DC regulator: */
|
||||
/* In Tx, use DCDCCTL5[3:0]=0xC (DITHER_EN=1 and IPEAK=4). */
|
||||
(uint32_t)0xFCFC08C3, /* In Rx, use DCDCCTL5[3:0]=0xC (DITHER_EN=1 and IPEAK=4). */
|
||||
(uint32_t)0x82A86C2B, /* txHighPA=0x20AA1B */
|
||||
#endif
|
||||
(uint32_t)0xFFFFFFFF,
|
||||
};
|
||||
|
||||
#endif /* RF_CONF_TXPOWER_HIGH_PA */
|
||||
|
||||
#endif /* defined(DEVICE_CC1352P) */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* CMD_PROP_RADIO_DIV_SETUP: Proprietary Mode Radio Setup Command for All Frequency Bands */
|
||||
rfc_CMD_PROP_RADIO_DIV_SETUP_t rf_cmd_prop_radio_div_setup =
|
||||
@ -244,11 +402,11 @@ rfc_CMD_PROP_RADIO_DIV_SETUP_t rf_cmd_prop_radio_div_setup =
|
||||
.formatConf.fecMode = 0x0,
|
||||
.formatConf.whitenMode = 0x7,
|
||||
.config.frontEndMode = 0x0, /* set by driver */
|
||||
.config.biasMode = 0x0, /* set by driver */
|
||||
.config.biasMode = 0x1, /* set by driver */
|
||||
.config.analogCfgMode = 0x0,
|
||||
.config.bNoFsPowerUp = 0x0,
|
||||
.txPower = 0x013F, /* default 13.5 dBm */
|
||||
.pRegOverride = rf_prop_overrides_default_pa,
|
||||
.txPower = DEFAULT_TX_POWER,
|
||||
.pRegOverride = rf_prop_overrides,
|
||||
.centerFreq = 0x0393, /* set by driver */
|
||||
.intFreq = 0x8000, /* set by driver */
|
||||
.loDivider = 0x05, /* set by driver */
|
||||
|
@ -31,6 +31,8 @@
|
||||
#ifndef PROP_SETTINGS_H_
|
||||
#define PROP_SETTINGS_H_
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#include "contiki-conf.h"
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#include <ti/devices/DeviceFamily.h>
|
||||
#include DeviceFamily_constructPath(driverlib/rf_mailbox.h)
|
||||
#include DeviceFamily_constructPath(driverlib/rf_common_cmd.h)
|
||||
@ -40,14 +42,11 @@
|
||||
#include <ti/drivers/rf/RF.h>
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* TI-RTOS RF Mode Object */
|
||||
extern RF_Mode rf_prop_mode;
|
||||
extern RF_Mode rf_prop_mode;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Tx Power Tables */
|
||||
#define RF_PROP_TX_POWER_TABLE_DEFAULT_PA_SIZE 18
|
||||
#define RF_PROP_TX_POWER_TABLE_HIGH_PA_SIZE 7
|
||||
|
||||
extern RF_TxPowerTable_Entry rf_prop_tx_power_table_default_pa[RF_PROP_TX_POWER_TABLE_DEFAULT_PA_SIZE+1];
|
||||
extern RF_TxPowerTable_Entry rf_prop_tx_power_table_high_pa[RF_PROP_TX_POWER_TABLE_HIGH_PA_SIZE+1];
|
||||
extern RF_TxPowerTable_Entry rf_prop_tx_power_table[];
|
||||
extern const size_t rf_prop_tx_power_table_size;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* RF Core API commands */
|
||||
extern rfc_CMD_PROP_RADIO_DIV_SETUP_t rf_cmd_prop_radio_div_setup;
|
||||
@ -56,8 +55,7 @@ extern rfc_CMD_PROP_TX_ADV_t rf_cmd_prop_tx_adv;
|
||||
extern rfc_CMD_PROP_RX_ADV_t rf_cmd_prop_rx_adv;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* RF Core API Overrides */
|
||||
extern uint32_t rf_prop_overrides_default_pa[];
|
||||
extern uint32_t rf_prop_overrides_high_pa[];
|
||||
extern uint32_t rf_prop_overrides[];
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#endif /* PROP_SETTINGS_H_ */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
@ -66,7 +66,7 @@ RF_Mode rf_ieee_mode =
|
||||
* See the Technical Reference Manual for further details about the "txPower" Command field.
|
||||
* The PA settings require the CCFG_FORCE_VDDR_HH = 0 unless stated otherwise.
|
||||
*/
|
||||
RF_TxPowerTable_Entry rf_ieee_tx_power_table[RF_IEEE_TX_POWER_TABLE_SIZE+1] =
|
||||
RF_TxPowerTable_Entry rf_ieee_tx_power_table[] =
|
||||
{
|
||||
{ -21, RF_TxPowerTable_DEFAULT_PA_ENTRY( 7, 3, 0, 6) },
|
||||
{ -18, RF_TxPowerTable_DEFAULT_PA_ENTRY( 9, 3, 0, 6) },
|
||||
@ -83,6 +83,19 @@ RF_TxPowerTable_Entry rf_ieee_tx_power_table[RF_IEEE_TX_POWER_TABLE_SIZE+1] =
|
||||
{ 5, RF_TxPowerTable_DEFAULT_PA_ENTRY(48, 0, 1, 73) },
|
||||
RF_TxPowerTable_TERMINATION_ENTRY
|
||||
};
|
||||
|
||||
/*
|
||||
* TX power table size, with one less entry excluding the
|
||||
* termination entry.
|
||||
*/
|
||||
const size_t rf_ieee_tx_power_table_size =
|
||||
(sizeof(rf_ieee_tx_power_table) / sizeof(rf_ieee_tx_power_table[0])) - 1;
|
||||
|
||||
/*
|
||||
* CMD_RADIO_SETUP must be configured with default TX power value
|
||||
* in the .txPower field.
|
||||
*/
|
||||
#define DEFAULT_TX_POWER 0x9330 /* 5 dBm */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Overrides for CMD_RADIO_SETUP */
|
||||
uint32_t rf_ieee_overrides[] CC_ALIGN(4) =
|
||||
@ -130,7 +143,7 @@ rfc_CMD_RADIO_SETUP_t rf_cmd_ieee_radio_setup =
|
||||
.config.biasMode = 0x1,
|
||||
.config.analogCfgMode = 0x0,
|
||||
.config.bNoFsPowerUp = 0x0,
|
||||
.txPower = 0x9330, /* 5 dBm default */
|
||||
.txPower = DEFAULT_TX_POWER, /* 5 dBm default */
|
||||
.pRegOverride = rf_ieee_overrides,
|
||||
};
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
@ -31,6 +31,8 @@
|
||||
#ifndef IEEE_SETTINGS_H_
|
||||
#define IEEE_SETTINGS_H_
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#include "contiki-conf.h"
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#include <ti/devices/DeviceFamily.h>
|
||||
#include DeviceFamily_constructPath(driverlib/rf_mailbox.h)
|
||||
#include DeviceFamily_constructPath(driverlib/rf_common_cmd.h)
|
||||
@ -40,12 +42,11 @@
|
||||
#include <ti/drivers/rf/RF.h>
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* TI-RTOS RF Mode Object */
|
||||
extern RF_Mode rf_ieee_mode;
|
||||
extern RF_Mode rf_ieee_mode;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* TX Power Table */
|
||||
#define RF_IEEE_TX_POWER_TABLE_SIZE 14
|
||||
|
||||
extern RF_TxPowerTable_Entry rf_ieee_tx_power_table[RF_IEEE_TX_POWER_TABLE_SIZE+1];
|
||||
extern RF_TxPowerTable_Entry rf_ieee_tx_power_table[];
|
||||
extern const size_t rf_ieee_tx_power_table_size;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* RF Core API commands */
|
||||
extern rfc_CMD_RADIO_SETUP_t rf_cmd_ieee_radio_setup;
|
||||
@ -55,7 +56,7 @@ extern rfc_CMD_IEEE_RX_t rf_cmd_ieee_rx;
|
||||
extern rfc_CMD_IEEE_RX_ACK_t rf_cmd_ieee_rx_ack;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* RF Core API Overrides */
|
||||
extern uint32_t rf_ieee_overrides[];
|
||||
extern uint32_t rf_ieee_overrides[];
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#endif /* IEEE_SETTINGS_H_ */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
@ -67,7 +67,7 @@ RF_Mode rf_ieee_mode =
|
||||
* See the Technical Reference Manual for further details about the "txPower" Command field.
|
||||
* The PA settings require the CCFG_FORCE_VDDR_HH = 0 unless stated otherwise.
|
||||
*/
|
||||
RF_TxPowerTable_Entry rf_ieee_tx_power_table[RF_IEEE_TX_POWER_TABLE_SIZE+1] =
|
||||
RF_TxPowerTable_Entry rf_ieee_tx_power_table[] =
|
||||
{
|
||||
{ -21, RF_TxPowerTable_DEFAULT_PA_ENTRY(7, 3, 0, 3) },
|
||||
{ -18, RF_TxPowerTable_DEFAULT_PA_ENTRY(9, 3, 0, 3) },
|
||||
@ -86,6 +86,19 @@ RF_TxPowerTable_Entry rf_ieee_tx_power_table[RF_IEEE_TX_POWER_TABLE_SIZE+1] =
|
||||
{ 5, RF_TxPowerTable_DEFAULT_PA_ENTRY(30, 0, 0, 74) },
|
||||
RF_TxPowerTable_TERMINATION_ENTRY
|
||||
};
|
||||
|
||||
/*
|
||||
* TX power table size, with one less entry excluding the
|
||||
* termination entry.
|
||||
*/
|
||||
const size_t rf_ieee_tx_power_table_size =
|
||||
(sizeof(rf_ieee_tx_power_table) / sizeof(rf_ieee_tx_power_table[0])) - 1;
|
||||
|
||||
/*
|
||||
* CMD_RADIO_SETUP must be configured with default TX power value
|
||||
* in the .txPower field.
|
||||
*/
|
||||
#define DEFAULT_TX_POWER 0x941E /* 5 dBm */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Overrides for CMD_RADIO_SETUP */
|
||||
uint32_t rf_ieee_overrides[] CC_ALIGN(4) =
|
||||
@ -129,7 +142,7 @@ rfc_CMD_RADIO_SETUP_t rf_cmd_ieee_radio_setup =
|
||||
.config.biasMode = 0x1,
|
||||
.config.analogCfgMode = 0x0,
|
||||
.config.bNoFsPowerUp = 0x0,
|
||||
.txPower = 0x941E, /* 5 dBm default */
|
||||
.txPower = DEFAULT_TX_POWER, /* 5 dBm default */
|
||||
.pRegOverride = rf_ieee_overrides,
|
||||
};
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
@ -30,6 +30,9 @@
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#ifndef IEEE_SETTINGS_H_
|
||||
#define IEEE_SETTINGS_H_
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#include "contiki-conf.h"
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#include <ti/devices/DeviceFamily.h>
|
||||
#include DeviceFamily_constructPath(driverlib/rf_mailbox.h)
|
||||
@ -40,12 +43,11 @@
|
||||
#include <ti/drivers/rf/RF.h>
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* TI-RTOS RF Mode Object */
|
||||
extern RF_Mode rf_ieee_mode;
|
||||
extern RF_Mode rf_ieee_mode;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* TX Power Table */
|
||||
#define RF_IEEE_TX_POWER_TABLE_SIZE 15
|
||||
|
||||
extern RF_TxPowerTable_Entry rf_ieee_tx_power_table[RF_IEEE_TX_POWER_TABLE_SIZE+1];
|
||||
extern RF_TxPowerTable_Entry rf_ieee_tx_power_table[];
|
||||
extern const size_t rf_ieee_tx_power_table_size;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* RF Core API commands */
|
||||
extern rfc_CMD_RADIO_SETUP_t rf_cmd_ieee_radio_setup;
|
||||
@ -55,7 +57,7 @@ extern rfc_CMD_IEEE_RX_t rf_cmd_ieee_rx;
|
||||
extern rfc_CMD_IEEE_RX_ACK_t rf_cmd_ieee_rx_ack;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* RF Core API Overrides */
|
||||
extern uint32_t rf_ieee_overrides[];
|
||||
extern uint32_t rf_ieee_overrides[];
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#endif /* IEEE_SETTINGS_H_ */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
@ -33,6 +33,7 @@ CONTIKI_TARGET_DIRS += $(addprefix $(FAMILY)/, $(TARGET_FAMILY_DIRS))
|
||||
|
||||
DEFINES += DeviceFamily_$(DEVICE_FAMILY)
|
||||
DEFINES += DEVICE_LINE_$(DEVICE_LINE)
|
||||
DEFINES += DEVICE_$(DEVICE)
|
||||
DEFINES += $(BOARD_TYPE)
|
||||
DEFINES += PLATFORM_HAS_BUTTON=$(PLATFORM_HAS_BUTTON)
|
||||
DEFINES += SUPPORTS_PROP_MODE=$(SUPPORTS_PROP_MODE)
|
||||
|
@ -1,9 +1,10 @@
|
||||
################################################################################
|
||||
# SimpleLink Device makefile
|
||||
|
||||
SUBFAMILY = cc13x0-cc26x0
|
||||
SUBFAMILY = cc13x0-cc26x0
|
||||
DEVICE_FAMILY = CC13X0
|
||||
DEVICE_LINE = CC13XX
|
||||
DEVICE_LINE = CC13XX
|
||||
DEVICE = CC1310
|
||||
|
||||
BOARD_SOURCEFILES += CC1310_LAUNCHXL.c CC1310_LAUNCHXL_fxns.c
|
||||
|
||||
|
@ -1,15 +1,13 @@
|
||||
################################################################################
|
||||
# SimpleLink Device makefile
|
||||
|
||||
SUBFAMILY = cc13x2-cc26x2
|
||||
SUBFAMILY = cc13x2-cc26x2
|
||||
DEVICE_FAMILY = CC13X2
|
||||
DEVICE_LINE = CC13XX
|
||||
DEVICE_LINE = CC13XX
|
||||
DEVICE = CC1312R
|
||||
|
||||
BOARD_SOURCEFILES += CC1312R1_LAUNCHXL.c CC1312R1_LAUNCHXL_fxns.c
|
||||
|
||||
DEFINES += PROP_MODE_CONF_TX_POWER_TABLE=rf_prop_tx_power_table_default_pa
|
||||
DEFINES += PROP_MODE_CONF_TX_POWER_TABLE_SIZE=RF_PROP_TX_POWER_TABLE_DEFAULT_PA_SIZE
|
||||
|
||||
SUPPORTS_PROP_MODE = 1
|
||||
SUPPORTS_IEEE_MODE = 0
|
||||
SUPPORTS_BLE_BEACON = 0
|
||||
|
@ -1,9 +1,10 @@
|
||||
################################################################################
|
||||
# SimpleLink Device makefile
|
||||
|
||||
SUBFAMILY = cc13x0-cc26x0
|
||||
SUBFAMILY = cc13x0-cc26x0
|
||||
DEVICE_FAMILY = CC13X0
|
||||
DEVICE_LINE = CC13XX
|
||||
DEVICE_LINE = CC13XX
|
||||
DEVICE = CC1350_4
|
||||
|
||||
BOARD_SOURCEFILES += CC1350_LAUNCHXL_433.c CC1350_LAUNCHXL_433_fxns.c
|
||||
|
||||
|
@ -1,9 +1,10 @@
|
||||
################################################################################
|
||||
# SimpleLink Device makefile
|
||||
|
||||
SUBFAMILY = cc13x0-cc26x0
|
||||
SUBFAMILY = cc13x0-cc26x0
|
||||
DEVICE_FAMILY = CC13X0
|
||||
DEVICE_LINE = CC13XX
|
||||
DEVICE_LINE = CC13XX
|
||||
DEVICE = CC1350
|
||||
|
||||
BOARD_SOURCEFILES += CC1350_LAUNCHXL.c CC1350_LAUNCHXL_fxns.c
|
||||
|
||||
|
@ -1,18 +1,13 @@
|
||||
################################################################################
|
||||
# SimpleLink Device makefile
|
||||
|
||||
SUBFAMILY = cc13x2-cc26x2
|
||||
SUBFAMILY = cc13x2-cc26x2
|
||||
DEVICE_FAMILY = CC13X2
|
||||
DEVICE_LINE = CC13XX
|
||||
DEVICE_LINE = CC13XX
|
||||
DEVICE = CC1352P
|
||||
|
||||
BOARD_SOURCEFILES += CC1352P_2_LAUNCHXL.c CC1352P_2_LAUNCHXL_fxns.c
|
||||
|
||||
DEFINES += PROP_MODE_CONF_TX_POWER_TABLE=rf_prop_tx_power_table_default_pa
|
||||
DEFINES += PROP_MODE_CONF_TX_POWER_TABLE_SIZE=RF_PROP_TX_POWER_TABLE_DEFAULT_PA_SIZE
|
||||
|
||||
DEFINES += IEEE_MODE_CONF_TX_POWER_TABLE=rf_ieee_tx_power_table_default_pa
|
||||
DEFINES += IEEE_MODE_CONF_TX_POWER_TABLE_SIZE=RF_IEEE_TX_POWER_TABLE_DEFAULT_PA_SIZE
|
||||
|
||||
SUPPORTS_PROP_MODE = 1
|
||||
SUPPORTS_IEEE_MODE = 1
|
||||
SUPPORTS_BLE_BEACON = 1
|
||||
|
@ -1,18 +1,13 @@
|
||||
################################################################################
|
||||
# SimpleLink Device makefile
|
||||
|
||||
SUBFAMILY = cc13x2-cc26x2
|
||||
SUBFAMILY = cc13x2-cc26x2
|
||||
DEVICE_FAMILY = CC13X2
|
||||
DEVICE_LINE = CC13XX
|
||||
DEVICE_LINE = CC13XX
|
||||
DEVICE = CC1352P
|
||||
|
||||
BOARD_SOURCEFILES += CC1352P_4_LAUNCHXL.c CC1352P_4_LAUNCHXL_fxns.c
|
||||
|
||||
DEFINES += PROP_MODE_CONF_TX_POWER_TABLE=rf_prop_tx_power_table_default_pa
|
||||
DEFINES += PROP_MODE_CONF_TX_POWER_TABLE_SIZE=RF_PROP_TX_POWER_TABLE_DEFAULT_PA_SIZE
|
||||
|
||||
DEFINES += IEEE_MODE_CONF_TX_POWER_TABLE=rf_ieee_tx_power_table_default_pa
|
||||
DEFINES += IEEE_MODE_CONF_TX_POWER_TABLE_SIZE=RF_IEEE_TX_POWER_TABLE_DEFAULT_PA_SIZE
|
||||
|
||||
SUPPORTS_PROP_MODE = 1
|
||||
SUPPORTS_IEEE_MODE = 1
|
||||
SUPPORTS_BLE_BEACON = 1
|
||||
|
@ -1,18 +1,13 @@
|
||||
################################################################################
|
||||
# SimpleLink Device makefile
|
||||
|
||||
SUBFAMILY = cc13x2-cc26x2
|
||||
SUBFAMILY = cc13x2-cc26x2
|
||||
DEVICE_FAMILY = CC13X2
|
||||
DEVICE_LINE = CC13XX
|
||||
DEVICE_LINE = CC13XX
|
||||
DEVICE = CC1352P
|
||||
|
||||
BOARD_SOURCEFILES += CC1352P1_LAUNCHXL.c CC1352P1_LAUNCHXL_fxns.c
|
||||
|
||||
DEFINES += PROP_MODE_CONF_TX_POWER_TABLE=rf_prop_tx_power_table_default_pa
|
||||
DEFINES += PROP_MODE_CONF_TX_POWER_TABLE_SIZE=RF_PROP_TX_POWER_TABLE_DEFAULT_PA_SIZE
|
||||
|
||||
DEFINES += IEEE_MODE_CONF_TX_POWER_TABLE=rf_ieee_tx_power_table_default_pa
|
||||
DEFINES += IEEE_MODE_CONF_TX_POWER_TABLE_SIZE=RF_IEEE_TX_POWER_TABLE_DEFAULT_PA_SIZE
|
||||
|
||||
SUPPORTS_PROP_MODE = 1
|
||||
SUPPORTS_IEEE_MODE = 1
|
||||
SUPPORTS_BLE_BEACON = 1
|
||||
|
@ -1,18 +1,13 @@
|
||||
################################################################################
|
||||
# SimpleLink Device makefile
|
||||
|
||||
SUBFAMILY = cc13x2-cc26x2
|
||||
SUBFAMILY = cc13x2-cc26x2
|
||||
DEVICE_FAMILY = CC13X2
|
||||
DEVICE_LINE = CC13XX
|
||||
DEVICE_LINE = CC13XX
|
||||
DEVICE = CC1352R
|
||||
|
||||
BOARD_SOURCEFILES += CC1352R1_LAUNCHXL.c CC1352R1_LAUNCHXL_fxns.c
|
||||
|
||||
DEFINES += PROP_MODE_CONF_TX_POWER_TABLE=rf_prop_tx_power_table_default_pa
|
||||
DEFINES += PROP_MODE_CONF_TX_POWER_TABLE_SIZE=RF_PROP_TX_POWER_TABLE_DEFAULT_PA_SIZE
|
||||
|
||||
DEFINES += IEEE_MODE_CONF_TX_POWER_TABLE=rf_ieee_tx_power_table_default_pa
|
||||
DEFINES += IEEE_MODE_CONF_TX_POWER_TABLE_SIZE=RF_IEEE_TX_POWER_TABLE_DEFAULT_PA_SIZE
|
||||
|
||||
SUPPORTS_PROP_MODE = 1
|
||||
SUPPORTS_IEEE_MODE = 1
|
||||
SUPPORTS_BLE_BEACON = 1
|
||||
|
@ -1,9 +1,10 @@
|
||||
################################################################################
|
||||
# SimpleLink Device makefile
|
||||
|
||||
SUBFAMILY = cc13x0-cc26x0
|
||||
SUBFAMILY = cc13x0-cc26x0
|
||||
DEVICE_FAMILY = CC26X0
|
||||
DEVICE_LINE = CC26XX
|
||||
DEVICE_LINE = CC26XX
|
||||
DEVICE = CC2650
|
||||
|
||||
BOARD_SOURCEFILES += CC2650_LAUNCHXL.c CC2650_LAUNCHXL_fxns.c
|
||||
|
||||
|
@ -1,9 +1,10 @@
|
||||
################################################################################
|
||||
# SimpleLink Device makefile
|
||||
|
||||
SUBFAMILY = cc13x2-cc26x2
|
||||
SUBFAMILY = cc13x2-cc26x2
|
||||
DEVICE_FAMILY = CC26X2
|
||||
DEVICE_LINE = CC26XX
|
||||
DEVICE_LINE = CC26XX
|
||||
DEVICE = CC2652R
|
||||
|
||||
BOARD_SOURCEFILES += CC26X2R1_LAUNCHXL.c CC26X2R1_LAUNCHXL_fxns.c
|
||||
|
||||
|
@ -1,9 +1,10 @@
|
||||
################################################################################
|
||||
# SimpleLink Device makefile
|
||||
|
||||
SUBFAMILY = cc13x0-cc26x0
|
||||
SUBFAMILY = cc13x0-cc26x0
|
||||
DEVICE_FAMILY = CC13X0
|
||||
DEVICE_LINE = CC13XX
|
||||
DEVICE_LINE = CC13XX
|
||||
DEVICE = CC1350
|
||||
|
||||
BOARD_SOURCEFILES += CC1350STK.c CC1350STK_fxns.c
|
||||
BOARD_SOURCEFILES += leds-arch.c
|
||||
|
@ -1,9 +1,10 @@
|
||||
################################################################################
|
||||
# SimpleLink Device makefile
|
||||
|
||||
SUBFAMILY = cc13x0-cc26x0
|
||||
SUBFAMILY = cc13x0-cc26x0
|
||||
DEVICE_FAMILY = CC26X0
|
||||
DEVICE_LINE = CC26XX
|
||||
DEVICE_LINE = CC26XX
|
||||
DEVICE = CC1350
|
||||
|
||||
BOARD_SOURCEFILES += CC2650STK.c CC2650STK_fxns.c
|
||||
BOARD_SOURCEFILES += leds-arch.c
|
||||
|
@ -1,9 +1,10 @@
|
||||
################################################################################
|
||||
# SimpleLink Device makefile
|
||||
|
||||
SUBFAMILY = cc13x0-cc26x0
|
||||
SUBFAMILY = cc13x0-cc26x0
|
||||
DEVICE_FAMILY = CC13X0
|
||||
DEVICE_LINE = CC13XX
|
||||
DEVICE_LINE = CC13XX
|
||||
DEVICE = CC1350
|
||||
|
||||
BOARD_SOURCEFILES += CC1350DK_7XD.c CC1350DK_7XD_fxns.c
|
||||
|
||||
|
@ -1,9 +1,10 @@
|
||||
################################################################################
|
||||
# SimpleLink Device makefile
|
||||
|
||||
SUBFAMILY = cc13x0-cc26x0
|
||||
SUBFAMILY = cc13x0-cc26x0
|
||||
DEVICE_FAMILY = CC26X0
|
||||
DEVICE_LINE = CC26XX
|
||||
DEVICE_LINE = CC26XX
|
||||
DEVICE = CC2650
|
||||
|
||||
BOARD_SOURCEFILES += CC2650DK_7ID.c CC2650DK_7ID_fxns.c
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user