Merge pull request #1932 from g-oikonomou/contrib/cc1350/lp-and-st
Add support for the CC1350 LP and Sensortag
This commit is contained in:
commit
7b193ee014
|
@ -1,6 +1,6 @@
|
||||||
TI_XXWARE_PATH = lib/cc13xxware
|
TI_XXWARE_PATH = lib/cc13xxware
|
||||||
|
|
||||||
CONTIKI_CPU_SOURCEFILES += smartrf-settings.c prop-mode.c
|
CONTIKI_CPU_SOURCEFILES += smartrf-settings.c prop-mode.c prop-mode-tx-power.c
|
||||||
|
|
||||||
CFLAGS += -DCPU_FAMILY_CC13XX=1
|
CFLAGS += -DCPU_FAMILY_CC13XX=1
|
||||||
|
|
||||||
|
|
|
@ -45,6 +45,8 @@
|
||||||
#define DOT_15_4G_H_
|
#define DOT_15_4G_H_
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#include "contiki-conf.h"
|
#include "contiki-conf.h"
|
||||||
|
|
||||||
|
#include "driverlib/rf_mailbox.h"
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/* IEEE 802.15.4g frequency band identifiers (Table 68f) */
|
/* IEEE 802.15.4g frequency band identifiers (Table 68f) */
|
||||||
#define DOT_15_4G_FREQUENCY_BAND_169 0 /* 169.400–169.475 (Europe) - 169 MHz band */
|
#define DOT_15_4G_FREQUENCY_BAND_169 0 /* 169.400–169.475 (Europe) - 169 MHz band */
|
||||||
|
@ -81,6 +83,8 @@
|
||||||
#define DOT_15_4G_CHANNEL_SPACING 200
|
#define DOT_15_4G_CHANNEL_SPACING 200
|
||||||
#define DOT_15_4G_CHAN0_FREQUENCY 470200
|
#define DOT_15_4G_CHAN0_FREQUENCY 470200
|
||||||
#define PROP_MODE_CONF_LO_DIVIDER 0x0A
|
#define PROP_MODE_CONF_LO_DIVIDER 0x0A
|
||||||
|
#define SMARTRF_SETTINGS_CONF_BAND_OVERRIDES HW32_ARRAY_OVERRIDE(0x405C,1), \
|
||||||
|
(uint32_t)0x18000280,
|
||||||
|
|
||||||
#elif DOT_15_4G_FREQUENCY_BAND_ID==DOT_15_4G_FREQUENCY_BAND_780
|
#elif DOT_15_4G_FREQUENCY_BAND_ID==DOT_15_4G_FREQUENCY_BAND_780
|
||||||
#define DOT_15_4G_CHANNEL_MAX 38
|
#define DOT_15_4G_CHANNEL_MAX 38
|
||||||
|
|
|
@ -56,6 +56,7 @@
|
||||||
#include "lpm.h"
|
#include "lpm.h"
|
||||||
#include "ti-lib.h"
|
#include "ti-lib.h"
|
||||||
#include "rf-core/rf-core.h"
|
#include "rf-core/rf-core.h"
|
||||||
|
#include "rf-core/rf-switch.h"
|
||||||
#include "rf-core/rf-ble.h"
|
#include "rf-core/rf-ble.h"
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/* RF core and RF HAL API */
|
/* RF core and RF HAL API */
|
||||||
|
@ -272,6 +273,12 @@ volatile static uint8_t *rx_read_entry;
|
||||||
|
|
||||||
static uint8_t tx_buf[TX_BUF_HDR_LEN + TX_BUF_PAYLOAD_LEN] CC_ALIGN(4);
|
static uint8_t tx_buf[TX_BUF_HDR_LEN + TX_BUF_PAYLOAD_LEN] CC_ALIGN(4);
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#ifdef IEEE_MODE_CONF_BOARD_OVERRIDES
|
||||||
|
#define IEEE_MODE_BOARD_OVERRIDES IEEE_MODE_CONF_BOARD_OVERRIDES
|
||||||
|
#else
|
||||||
|
#define IEEE_MODE_BOARD_OVERRIDES
|
||||||
|
#endif
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
/* Overrides for IEEE 802.15.4, differential mode */
|
/* Overrides for IEEE 802.15.4, differential mode */
|
||||||
static uint32_t ieee_overrides[] = {
|
static uint32_t ieee_overrides[] = {
|
||||||
0x00354038, /* Synth: Set RTRIM (POTAILRESTRIM) to 5 */
|
0x00354038, /* Synth: Set RTRIM (POTAILRESTRIM) to 5 */
|
||||||
|
@ -286,6 +293,7 @@ static uint32_t ieee_overrides[] = {
|
||||||
0x002B50DC, /* Adjust AGC DC filter */
|
0x002B50DC, /* Adjust AGC DC filter */
|
||||||
0x05000243, /* Increase synth programming timeout */
|
0x05000243, /* Increase synth programming timeout */
|
||||||
0x002082C3, /* Increase synth programming timeout */
|
0x002082C3, /* Increase synth programming timeout */
|
||||||
|
IEEE_MODE_BOARD_OVERRIDES
|
||||||
0xFFFFFFFF, /* End of override list */
|
0xFFFFFFFF, /* End of override list */
|
||||||
};
|
};
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
@ -484,11 +492,15 @@ rf_radio_setup()
|
||||||
uint32_t cmd_status;
|
uint32_t cmd_status;
|
||||||
rfc_CMD_RADIO_SETUP_t cmd;
|
rfc_CMD_RADIO_SETUP_t cmd;
|
||||||
|
|
||||||
|
rf_switch_select_path(RF_SWITCH_PATH_2_4GHZ);
|
||||||
|
|
||||||
/* Create radio setup command */
|
/* Create radio setup command */
|
||||||
rf_core_init_radio_op((rfc_radioOp_t *)&cmd, sizeof(cmd), CMD_RADIO_SETUP);
|
rf_core_init_radio_op((rfc_radioOp_t *)&cmd, sizeof(cmd), CMD_RADIO_SETUP);
|
||||||
|
|
||||||
cmd.txPower = tx_power_current->tx_power;
|
cmd.txPower = tx_power_current->tx_power;
|
||||||
cmd.pRegOverride = ieee_overrides;
|
cmd.pRegOverride = ieee_overrides;
|
||||||
|
cmd.config.frontEndMode = RF_CORE_RADIO_SETUP_FRONT_END_MODE;
|
||||||
|
cmd.config.biasMode = RF_CORE_RADIO_SETUP_BIAS_MODE;
|
||||||
cmd.mode = 1;
|
cmd.mode = 1;
|
||||||
|
|
||||||
/* Send Radio setup to RF Core */
|
/* Send Radio setup to RF Core */
|
||||||
|
|
76
cpu/cc26xx-cc13xx/rf-core/prop-mode-tx-power.c
Normal file
76
cpu/cc26xx-cc13xx/rf-core/prop-mode-tx-power.c
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2016, Texas Instruments Incorporated - http://www.ti.com/
|
||||||
|
* 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 copyright holder 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.
|
||||||
|
*/
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \addtogroup rf-core-prop
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
* \file
|
||||||
|
* Default TX power settings. The board can override
|
||||||
|
*/
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#include "contiki-conf.h"
|
||||||
|
#include "dev/radio.h"
|
||||||
|
#include "rf-core/prop-mode.h"
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/* Default TX power settings for the 779-930MHz band */
|
||||||
|
const prop_mode_tx_power_config_t prop_mode_tx_power_779_930[] = {
|
||||||
|
{ 14, 0xa73f },
|
||||||
|
{ 13, 0xa63f }, /* 12.5 */
|
||||||
|
{ 12, 0xb818 },
|
||||||
|
{ 11, 0x50da },
|
||||||
|
{ 10, 0x38d3 },
|
||||||
|
{ 9, 0x2ccd },
|
||||||
|
{ 8, 0x24cb },
|
||||||
|
{ 7, 0x20c9 },
|
||||||
|
{ 6, 0x1cc7 },
|
||||||
|
{ 5, 0x18c6 },
|
||||||
|
{ 4, 0x18c5 },
|
||||||
|
{ 3, 0x14c4 },
|
||||||
|
{ 2, 0x1042 },
|
||||||
|
{ 1, 0x10c3 },
|
||||||
|
{ 0, 0x0041 },
|
||||||
|
{ -10, 0x08c0 },
|
||||||
|
{-128, 0xFFFF },
|
||||||
|
};
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/* Default TX power settings for the 431-527MHz band */
|
||||||
|
const prop_mode_tx_power_config_t prop_mode_tx_power_431_527[] = {
|
||||||
|
{ 15, 0x003f },
|
||||||
|
{ 14, 0xbe3f }, /* 13.7 */
|
||||||
|
{ 13, 0x6a0f },
|
||||||
|
{ 10, 0x3dcb },
|
||||||
|
{ 6, 0x22c4 },
|
||||||
|
{-128, 0xFFFF },
|
||||||
|
};
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
|
@ -29,11 +29,7 @@
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
* \addtogroup rf-core
|
* \addtogroup rf-core-prop
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* \defgroup rf-core-prop CC13xx Prop mode driver
|
|
||||||
*
|
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
|
@ -56,7 +52,9 @@
|
||||||
#include "lpm.h"
|
#include "lpm.h"
|
||||||
#include "ti-lib.h"
|
#include "ti-lib.h"
|
||||||
#include "rf-core/rf-core.h"
|
#include "rf-core/rf-core.h"
|
||||||
|
#include "rf-core/rf-switch.h"
|
||||||
#include "rf-core/rf-ble.h"
|
#include "rf-core/rf-ble.h"
|
||||||
|
#include "rf-core/prop-mode.h"
|
||||||
#include "rf-core/dot-15-4g.h"
|
#include "rf-core/dot-15-4g.h"
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/* RF core and RF HAL API */
|
/* RF core and RF HAL API */
|
||||||
|
@ -179,40 +177,35 @@ static rfc_propRxOutput_t rx_stats;
|
||||||
/* How long to wait for the RF to enter RX in rf_cmd_ieee_rx */
|
/* How long to wait for the RF to enter RX in rf_cmd_ieee_rx */
|
||||||
#define ENTER_RX_WAIT_TIMEOUT (RTIMER_SECOND >> 10)
|
#define ENTER_RX_WAIT_TIMEOUT (RTIMER_SECOND >> 10)
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/* TX Power dBm lookup table - values from SmartRF Studio */
|
/* TX power table for the 431-527MHz band */
|
||||||
typedef struct output_config {
|
#ifdef PROP_MODE_CONF_TX_POWER_431_527
|
||||||
radio_value_t dbm;
|
#define PROP_MODE_TX_POWER_431_527 PROP_MODE_CONF_TX_POWER_431_527
|
||||||
uint16_t tx_power; /* Value for the PROP_DIV_RADIO_SETUP.txPower field */
|
#else
|
||||||
} output_config_t;
|
#define PROP_MODE_TX_POWER_431_527 prop_mode_tx_power_431_527
|
||||||
|
#endif
|
||||||
static const output_config_t output_power[] = {
|
/*---------------------------------------------------------------------------*/
|
||||||
{ 14, 0xa73f },
|
/* TX power table for the 779-930MHz band */
|
||||||
{ 13, 0xa63f }, /* 12.5 */
|
#ifdef PROP_MODE_CONF_TX_POWER_779_930
|
||||||
{ 12, 0xb818 },
|
#define PROP_MODE_TX_POWER_779_930 PROP_MODE_CONF_TX_POWER_779_930
|
||||||
{ 11, 0x50da },
|
#else
|
||||||
{ 10, 0x38d3 },
|
#define PROP_MODE_TX_POWER_779_930 prop_mode_tx_power_779_930
|
||||||
{ 9, 0x2ccd },
|
#endif
|
||||||
{ 8, 0x24cb },
|
/*---------------------------------------------------------------------------*/
|
||||||
{ 7, 0x20c9 },
|
/* Select power table based on the frequency band */
|
||||||
{ 6, 0x1cc7 },
|
#if DOT_15_4G_FREQUENCY_BAND_ID==DOT_15_4G_FREQUENCY_BAND_470
|
||||||
{ 5, 0x18c6 },
|
#define TX_POWER_DRIVER PROP_MODE_TX_POWER_431_527
|
||||||
{ 4, 0x18c5 },
|
#else
|
||||||
{ 3, 0x14c4 },
|
#define TX_POWER_DRIVER PROP_MODE_TX_POWER_779_930
|
||||||
{ 2, 0x1042 },
|
#endif
|
||||||
{ 1, 0x10c3 },
|
/*---------------------------------------------------------------------------*/
|
||||||
{ 0, 0x0041 },
|
extern const prop_mode_tx_power_config_t TX_POWER_DRIVER[];
|
||||||
{-10, 0x08c0 },
|
|
||||||
};
|
|
||||||
|
|
||||||
#define OUTPUT_CONFIG_COUNT (sizeof(output_power) / sizeof(output_config_t))
|
|
||||||
|
|
||||||
/* Max and Min Output Power in dBm */
|
/* Max and Min Output Power in dBm */
|
||||||
#define OUTPUT_POWER_MIN (output_power[OUTPUT_CONFIG_COUNT - 1].dbm)
|
#define OUTPUT_POWER_MAX (TX_POWER_DRIVER[0].dbm)
|
||||||
#define OUTPUT_POWER_MAX (output_power[0].dbm)
|
|
||||||
#define OUTPUT_POWER_UNKNOWN 0xFFFF
|
#define OUTPUT_POWER_UNKNOWN 0xFFFF
|
||||||
|
|
||||||
/* Default TX Power - position in output_power[] */
|
/* Default TX Power - position in output_power[] */
|
||||||
const output_config_t *tx_power_current = &output_power[1];
|
const prop_mode_tx_power_config_t *tx_power_current = &TX_POWER_DRIVER[1];
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#ifdef PROP_MODE_CONF_LO_DIVIDER
|
#ifdef PROP_MODE_CONF_LO_DIVIDER
|
||||||
#define PROP_MODE_LO_DIVIDER PROP_MODE_CONF_LO_DIVIDER
|
#define PROP_MODE_LO_DIVIDER PROP_MODE_CONF_LO_DIVIDER
|
||||||
|
@ -344,6 +337,19 @@ set_channel(uint8_t channel)
|
||||||
smartrf_settings_cmd_fs.fractFreq = frac;
|
smartrf_settings_cmd_fs.fractFreq = frac;
|
||||||
}
|
}
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
static uint8_t
|
||||||
|
get_tx_power_array_last_element(void)
|
||||||
|
{
|
||||||
|
const prop_mode_tx_power_config_t *array = TX_POWER_DRIVER;
|
||||||
|
uint8_t count = 0;
|
||||||
|
|
||||||
|
while(array->tx_power != OUTPUT_POWER_UNKNOWN) {
|
||||||
|
count++;
|
||||||
|
array++;
|
||||||
|
}
|
||||||
|
return count - 1;
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
/* Returns the current TX power in dBm */
|
/* Returns the current TX power in dBm */
|
||||||
static radio_value_t
|
static radio_value_t
|
||||||
get_tx_power(void)
|
get_tx_power(void)
|
||||||
|
@ -352,7 +358,7 @@ get_tx_power(void)
|
||||||
}
|
}
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/*
|
/*
|
||||||
* The caller must make sure to send a new CMD_PROP_RADIO_DIV_SETP to the
|
* The caller must make sure to send a new CMD_PROP_RADIO_DIV_SETUP to the
|
||||||
* radio after calling this function.
|
* radio after calling this function.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
|
@ -360,14 +366,14 @@ set_tx_power(radio_value_t power)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for(i = OUTPUT_CONFIG_COUNT - 1; i >= 0; --i) {
|
for(i = get_tx_power_array_last_element(); i >= 0; --i) {
|
||||||
if(power <= output_power[i].dbm) {
|
if(power <= TX_POWER_DRIVER[i].dbm) {
|
||||||
/*
|
/*
|
||||||
* Merely save the value. It will be used in all subsequent usages of
|
* Merely save the value. It will be used in all subsequent usages of
|
||||||
* CMD_PROP_RADIO_DIV_SETP, including one immediately after this function
|
* CMD_PROP_RADIO_DIV_SETP, including one immediately after this function
|
||||||
* has returned
|
* has returned
|
||||||
*/
|
*/
|
||||||
tx_power_current = &output_power[i];
|
tx_power_current = &TX_POWER_DRIVER[i];
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -380,12 +386,20 @@ prop_div_radio_setup(void)
|
||||||
uint32_t cmd_status;
|
uint32_t cmd_status;
|
||||||
rfc_radioOp_t *cmd = (rfc_radioOp_t *)&smartrf_settings_cmd_prop_radio_div_setup;
|
rfc_radioOp_t *cmd = (rfc_radioOp_t *)&smartrf_settings_cmd_prop_radio_div_setup;
|
||||||
|
|
||||||
|
rf_switch_select_path(RF_SWITCH_PATH_SUBGHZ);
|
||||||
|
|
||||||
/* Adjust loDivider depending on the selected band */
|
/* Adjust loDivider depending on the selected band */
|
||||||
smartrf_settings_cmd_prop_radio_div_setup.loDivider = PROP_MODE_LO_DIVIDER;
|
smartrf_settings_cmd_prop_radio_div_setup.loDivider = PROP_MODE_LO_DIVIDER;
|
||||||
|
|
||||||
/* Update to the correct TX power setting */
|
/* Update to the correct TX power setting */
|
||||||
smartrf_settings_cmd_prop_radio_div_setup.txPower = tx_power_current->tx_power;
|
smartrf_settings_cmd_prop_radio_div_setup.txPower = tx_power_current->tx_power;
|
||||||
|
|
||||||
|
/* Adjust RF Front End and Bias based on the board */
|
||||||
|
smartrf_settings_cmd_prop_radio_div_setup.config.frontEndMode =
|
||||||
|
RF_CORE_PROP_FRONT_END_MODE;
|
||||||
|
smartrf_settings_cmd_prop_radio_div_setup.config.biasMode =
|
||||||
|
RF_CORE_PROP_BIAS_MODE;
|
||||||
|
|
||||||
/* Send Radio setup to RF Core */
|
/* Send Radio setup to RF Core */
|
||||||
if(rf_core_send_cmd((uint32_t)cmd, &cmd_status) != RF_CORE_CMD_OK) {
|
if(rf_core_send_cmd((uint32_t)cmd, &cmd_status) != RF_CORE_CMD_OK) {
|
||||||
PRINTF("prop_div_radio_setup: DIV_SETUP, CMDSTA=0x%08lx, status=0x%04x\n",
|
PRINTF("prop_div_radio_setup: DIV_SETUP, CMDSTA=0x%08lx, status=0x%04x\n",
|
||||||
|
@ -1024,7 +1038,7 @@ get_value(radio_param_t param, radio_value_t *value)
|
||||||
*value = DOT_15_4G_CHANNEL_MAX;
|
*value = DOT_15_4G_CHANNEL_MAX;
|
||||||
return RADIO_RESULT_OK;
|
return RADIO_RESULT_OK;
|
||||||
case RADIO_CONST_TXPOWER_MIN:
|
case RADIO_CONST_TXPOWER_MIN:
|
||||||
*value = OUTPUT_POWER_MIN;
|
*value = TX_POWER_DRIVER[get_tx_power_array_last_element()].dbm;
|
||||||
return RADIO_RESULT_OK;
|
return RADIO_RESULT_OK;
|
||||||
case RADIO_CONST_TXPOWER_MAX:
|
case RADIO_CONST_TXPOWER_MAX:
|
||||||
*value = OUTPUT_POWER_MAX;
|
*value = OUTPUT_POWER_MAX;
|
||||||
|
@ -1069,7 +1083,8 @@ set_value(radio_param_t param, radio_value_t value)
|
||||||
set_channel((uint8_t)value);
|
set_channel((uint8_t)value);
|
||||||
break;
|
break;
|
||||||
case RADIO_PARAM_TXPOWER:
|
case RADIO_PARAM_TXPOWER:
|
||||||
if(value < OUTPUT_POWER_MIN || value > OUTPUT_POWER_MAX) {
|
if(value < TX_POWER_DRIVER[get_tx_power_array_last_element()].dbm ||
|
||||||
|
value > OUTPUT_POWER_MAX) {
|
||||||
return RADIO_RESULT_INVALID_VALUE;
|
return RADIO_RESULT_INVALID_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1149,6 +1164,5 @@ const struct radio_driver prop_mode_driver = {
|
||||||
};
|
};
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
* @}
|
|
||||||
* @}
|
* @}
|
||||||
*/
|
*/
|
||||||
|
|
61
cpu/cc26xx-cc13xx/rf-core/prop-mode.h
Normal file
61
cpu/cc26xx-cc13xx/rf-core/prop-mode.h
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2016, Texas Instruments Incorporated - http://www.ti.com/
|
||||||
|
* 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 copyright holder 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.
|
||||||
|
*/
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \addtogroup rf-core
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
* \defgroup rf-core-prop CC13xx Prop mode driver
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
* \file
|
||||||
|
* Header file for the CC13xx prop mode NETSTACK_RADIO driver
|
||||||
|
*/
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#ifndef PROP_MODE_H_
|
||||||
|
#define PROP_MODE_H_
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#include "contiki-conf.h"
|
||||||
|
#include "rf-core/dot-15-4g.h"
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
typedef struct prop_mode_tx_power_config {
|
||||||
|
radio_value_t dbm;
|
||||||
|
uint16_t tx_power; /* Value for the PROP_DIV_RADIO_SETUP.txPower field */
|
||||||
|
} prop_mode_tx_power_config_t;
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#endif /* PROP_MODE_H_ */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
* @}
|
||||||
|
*/
|
|
@ -45,6 +45,7 @@
|
||||||
#include "net/linkaddr.h"
|
#include "net/linkaddr.h"
|
||||||
#include "dev/oscillators.h"
|
#include "dev/oscillators.h"
|
||||||
#include "rf-core/rf-core.h"
|
#include "rf-core/rf-core.h"
|
||||||
|
#include "rf-core/rf-switch.h"
|
||||||
#include "rf-core/rf-ble.h"
|
#include "rf-core/rf-ble.h"
|
||||||
#include "driverlib/rf_ble_cmd.h"
|
#include "driverlib/rf_ble_cmd.h"
|
||||||
#include "driverlib/rf_common_cmd.h"
|
#include "driverlib/rf_common_cmd.h"
|
||||||
|
@ -89,6 +90,12 @@ static struct ble_beacond_config {
|
||||||
char adv_name[BLE_ADV_NAME_BUF_LEN];
|
char adv_name[BLE_ADV_NAME_BUF_LEN];
|
||||||
} beacond_config = { .interval = BLE_ADV_INTERVAL };
|
} beacond_config = { .interval = BLE_ADV_INTERVAL };
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#ifdef RF_BLE_CONF_BOARD_OVERRIDES
|
||||||
|
#define RF_BLE_BOARD_OVERRIDES RF_BLE_CONF_BOARD_OVERRIDES
|
||||||
|
#else
|
||||||
|
#define RF_BLE_BOARD_OVERRIDES
|
||||||
|
#endif
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
/* BLE overrides */
|
/* BLE overrides */
|
||||||
static uint32_t ble_overrides[] = {
|
static uint32_t ble_overrides[] = {
|
||||||
0x00364038, /* Synth: Set RTRIM (POTAILRESTRIM) to 6 */
|
0x00364038, /* Synth: Set RTRIM (POTAILRESTRIM) to 6 */
|
||||||
|
@ -97,6 +104,7 @@ static uint32_t ble_overrides[] = {
|
||||||
0xEAE00603, /* Synth: Set loop bandwidth after lock to 80 kHz (K3, LSB) */
|
0xEAE00603, /* Synth: Set loop bandwidth after lock to 80 kHz (K3, LSB) */
|
||||||
0x00010623, /* Synth: Set loop bandwidth after lock to 80 kHz (K3, MSB) */
|
0x00010623, /* Synth: Set loop bandwidth after lock to 80 kHz (K3, MSB) */
|
||||||
0x00456088, /* Adjust AGC reference level */
|
0x00456088, /* Adjust AGC reference level */
|
||||||
|
RF_BLE_BOARD_OVERRIDES
|
||||||
0xFFFFFFFF, /* End of override list */
|
0xFFFFFFFF, /* End of override list */
|
||||||
};
|
};
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
@ -210,11 +218,15 @@ rf_radio_setup()
|
||||||
uint32_t cmd_status;
|
uint32_t cmd_status;
|
||||||
rfc_CMD_RADIO_SETUP_t cmd;
|
rfc_CMD_RADIO_SETUP_t cmd;
|
||||||
|
|
||||||
|
rf_switch_select_path(RF_SWITCH_PATH_2_4GHZ);
|
||||||
|
|
||||||
/* Create radio setup command */
|
/* Create radio setup command */
|
||||||
rf_core_init_radio_op((rfc_radioOp_t *)&cmd, sizeof(cmd), CMD_RADIO_SETUP);
|
rf_core_init_radio_op((rfc_radioOp_t *)&cmd, sizeof(cmd), CMD_RADIO_SETUP);
|
||||||
|
|
||||||
cmd.txPower = tx_power;
|
cmd.txPower = tx_power;
|
||||||
cmd.pRegOverride = ble_overrides;
|
cmd.pRegOverride = ble_overrides;
|
||||||
|
cmd.config.frontEndMode = RF_CORE_RADIO_SETUP_FRONT_END_MODE;
|
||||||
|
cmd.config.biasMode = RF_CORE_RADIO_SETUP_BIAS_MODE;
|
||||||
cmd.mode = 0;
|
cmd.mode = 0;
|
||||||
|
|
||||||
/* Send Radio setup to RF Core */
|
/* Send Radio setup to RF Core */
|
||||||
|
|
|
@ -45,6 +45,7 @@
|
||||||
#include "net/packetbuf.h"
|
#include "net/packetbuf.h"
|
||||||
#include "net/rime/rimestats.h"
|
#include "net/rime/rimestats.h"
|
||||||
#include "rf-core/rf-core.h"
|
#include "rf-core/rf-core.h"
|
||||||
|
#include "rf-core/rf-switch.h"
|
||||||
#include "ti-lib.h"
|
#include "ti-lib.h"
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/* RF core and RF HAL API */
|
/* RF core and RF HAL API */
|
||||||
|
@ -260,6 +261,8 @@ rf_core_power_up()
|
||||||
ti_lib_int_master_enable();
|
ti_lib_int_master_enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rf_switch_power_up();
|
||||||
|
|
||||||
/* Let CPE boot */
|
/* Let CPE boot */
|
||||||
HWREG(RFC_PWR_NONBUF_BASE + RFC_PWR_O_PWMCLKEN) = RF_CORE_CLOCKS_MASK;
|
HWREG(RFC_PWR_NONBUF_BASE + RFC_PWR_O_PWMCLKEN) = RF_CORE_CLOCKS_MASK;
|
||||||
|
|
||||||
|
@ -365,6 +368,8 @@ rf_core_power_down()
|
||||||
while(ti_lib_prcm_power_domain_status(PRCM_DOMAIN_RFCORE)
|
while(ti_lib_prcm_power_domain_status(PRCM_DOMAIN_RFCORE)
|
||||||
!= PRCM_DOMAIN_POWER_OFF);
|
!= PRCM_DOMAIN_POWER_OFF);
|
||||||
|
|
||||||
|
rf_switch_power_down();
|
||||||
|
|
||||||
ti_lib_int_pend_clear(INT_RFC_CPE_0);
|
ti_lib_int_pend_clear(INT_RFC_CPE_0);
|
||||||
ti_lib_int_pend_clear(INT_RFC_CPE_1);
|
ti_lib_int_pend_clear(INT_RFC_CPE_1);
|
||||||
ti_lib_int_enable(INT_RFC_CPE_0);
|
ti_lib_int_enable(INT_RFC_CPE_0);
|
||||||
|
|
|
@ -64,6 +64,45 @@
|
||||||
#define RF_CORE_CHANNEL 25
|
#define RF_CORE_CHANNEL 25
|
||||||
#endif /* RF_CORE_CONF_IEEE_MODE_CHANNEL */
|
#endif /* RF_CORE_CONF_IEEE_MODE_CHANNEL */
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#define RF_CORE_FRONT_END_MODE_DIFFERENTIAL 0
|
||||||
|
#define RF_CORE_FRONT_END_MODE_SINGLE_RFP 1
|
||||||
|
#define RF_CORE_FRONT_END_MODE_SINGLE_RFN 2
|
||||||
|
|
||||||
|
#define RF_CORE_BIAS_MODE_INTERNAL 0
|
||||||
|
#define RF_CORE_BIAS_MODE_EXTERNAL 1
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/*
|
||||||
|
* RF Front-End Mode and Bias for CMD_RADIO_SETUP (IEEE and BLE)
|
||||||
|
* Default: Differential mode, internal bias
|
||||||
|
*/
|
||||||
|
#ifdef RF_CORE_CONF_RADIO_SETUP_FRONT_END_MODE
|
||||||
|
#define RF_CORE_RADIO_SETUP_FRONT_END_MODE RF_CORE_CONF_RADIO_SETUP_FRONT_END_MODE
|
||||||
|
#else
|
||||||
|
#define RF_CORE_RADIO_SETUP_FRONT_END_MODE RF_CORE_FRONT_END_MODE_DIFFERENTIAL
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef RF_CORE_CONF_RADIO_SETUP_BIAS_MODE
|
||||||
|
#define RF_CORE_RADIO_SETUP_BIAS_MODE RF_CORE_CONF_RADIO_SETUP_BIAS_MODE
|
||||||
|
#else
|
||||||
|
#define RF_CORE_RADIO_SETUP_BIAS_MODE RF_CORE_BIAS_MODE_INTERNAL
|
||||||
|
#endif
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/*
|
||||||
|
* RF Front-End Mode and Bias for CMD_PROP_DIV_RADIO_SETUP (PROP mode)
|
||||||
|
* Default: Differential mode, external bias
|
||||||
|
*/
|
||||||
|
#ifdef RF_CORE_CONF_PROP_FRONT_END_MODE
|
||||||
|
#define RF_CORE_PROP_FRONT_END_MODE RF_CORE_CONF_PROP_FRONT_END_MODE
|
||||||
|
#else
|
||||||
|
#define RF_CORE_PROP_FRONT_END_MODE RF_CORE_FRONT_END_MODE_DIFFERENTIAL
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef RF_CORE_CONF_PROP_BIAS_MODE
|
||||||
|
#define RF_CORE_PROP_BIAS_MODE RF_CORE_CONF_PROP_BIAS_MODE
|
||||||
|
#else
|
||||||
|
#define RF_CORE_PROP_BIAS_MODE RF_CORE_BIAS_MODE_EXTERNAL
|
||||||
|
#endif
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
#define RF_CORE_CMD_ERROR 0
|
#define RF_CORE_CMD_ERROR 0
|
||||||
#define RF_CORE_CMD_OK 1
|
#define RF_CORE_CMD_OK 1
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
|
104
cpu/cc26xx-cc13xx/rf-core/rf-switch.h
Normal file
104
cpu/cc26xx-cc13xx/rf-core/rf-switch.h
Normal file
|
@ -0,0 +1,104 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2016, Texas Instruments Incorporated - http://www.ti.com/
|
||||||
|
* 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 copyright holder 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.
|
||||||
|
*/
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/** \addtogroup rf-core
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
* \defgroup rf-switch RF Switch
|
||||||
|
*
|
||||||
|
* Header file for RF switch support
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
* \file
|
||||||
|
* Header file with definitions related to RF switch support
|
||||||
|
*/
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#ifndef RF_SWITCH_H_
|
||||||
|
#define RF_SWITCH_H_
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#include "contiki-conf.h"
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#ifdef RF_SWITCH_CONF_PATH_2_4GHZ
|
||||||
|
#define RF_SWITCH_PATH_2_4GHZ RF_SWITCH_CONF_PATH_2_4GHZ
|
||||||
|
#else
|
||||||
|
#define RF_SWITCH_PATH_2_4GHZ 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef RF_SWITCH_CONF_PATH_SUBGHZ
|
||||||
|
#define RF_SWITCH_PATH_SUBGHZ RF_SWITCH_CONF_PATH_SUBGHZ
|
||||||
|
#else
|
||||||
|
#define RF_SWITCH_PATH_SUBGHZ 1
|
||||||
|
#endif
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#ifdef RF_SWITCH_CONF_ENABLE
|
||||||
|
#define RF_SWITCH_ENABLE RF_SWITCH_CONF_ENABLE
|
||||||
|
#else
|
||||||
|
#define RF_SWITCH_ENABLE 0
|
||||||
|
#endif
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#if RF_SWITCH_ENABLE
|
||||||
|
/**
|
||||||
|
* \brief Initialise RF switch pin states.
|
||||||
|
*/
|
||||||
|
void rf_switch_init(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Power up the RF switch.
|
||||||
|
*/
|
||||||
|
void rf_switch_power_up(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Power down the RF switch.
|
||||||
|
*/
|
||||||
|
void rf_switch_power_down(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Select RF path
|
||||||
|
* \param path The RF path to select on the switch.
|
||||||
|
*
|
||||||
|
* The path argument can take values RF_SWITCH_PATH_xyz
|
||||||
|
*/
|
||||||
|
void rf_switch_select_path(uint8_t path);
|
||||||
|
#else
|
||||||
|
#define rf_switch_init()
|
||||||
|
#define rf_switch_power_up()
|
||||||
|
#define rf_switch_power_down()
|
||||||
|
#define rf_switch_select_path(p)
|
||||||
|
#endif /* RF_SWITCH_ENABLE */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#endif /* RF_SWITCH_H_ */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
* @}
|
||||||
|
*/
|
|
@ -28,9 +28,53 @@
|
||||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#include "contiki-conf.h"
|
||||||
|
|
||||||
|
#include "rf-core/dot-15-4g.h"
|
||||||
#include "driverlib/rf_mailbox.h"
|
#include "driverlib/rf_mailbox.h"
|
||||||
#include "driverlib/rf_common_cmd.h"
|
#include "driverlib/rf_common_cmd.h"
|
||||||
#include "driverlib/rf_prop_cmd.h"
|
#include "driverlib/rf_prop_cmd.h"
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#ifdef SMARTRF_SETTINGS_CONF_BOARD_OVERRIDES
|
||||||
|
#define SMARTRF_SETTINGS_BOARD_OVERRIDES SMARTRF_SETTINGS_CONF_BOARD_OVERRIDES
|
||||||
|
#else
|
||||||
|
#define SMARTRF_SETTINGS_BOARD_OVERRIDES
|
||||||
|
#endif
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#ifdef SMARTRF_SETTINGS_CONF_BAND_OVERRIDES
|
||||||
|
#define SMARTRF_SETTINGS_BAND_OVERRIDES SMARTRF_SETTINGS_CONF_BAND_OVERRIDES
|
||||||
|
#else
|
||||||
|
#define SMARTRF_SETTINGS_BAND_OVERRIDES
|
||||||
|
#endif
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/* RSSI offset configuration for the 431-527MHz band */
|
||||||
|
#ifdef SMARTRF_SETTINGS_CONF_RSSI_OFFSET_431_527
|
||||||
|
#define SMARTRF_SETTINGS_RSSI_OFFSET_431_527 SMARTRF_SETTINGS_CONF_RSSI_OFFSET_431_527
|
||||||
|
#else
|
||||||
|
#define SMARTRF_SETTINGS_RSSI_OFFSET_431_527 0x000288A3
|
||||||
|
#endif
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/* RSSI offset configuration for the 779-930MHz band */
|
||||||
|
#ifdef SMARTRF_SETTINGS_CONF_RSSI_OFFSET_779_930
|
||||||
|
#define SMARTRF_SETTINGS_RSSI_OFFSET_779_930 SMARTRF_SETTINGS_CONF_RSSI_OFFSET_779_930
|
||||||
|
#else
|
||||||
|
#define SMARTRF_SETTINGS_RSSI_OFFSET_779_930 0x00FB88A3
|
||||||
|
#endif
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#ifdef SMARTRF_SETTINGS_CONF_OVERRIDE_TRIM_OFFSET
|
||||||
|
#define SMARTRF_SETTINGS_OVERRIDE_TRIM_OFFSET SMARTRF_SETTINGS_CONF_OVERRIDE_TRIM_OFFSET
|
||||||
|
#else
|
||||||
|
#define SMARTRF_SETTINGS_OVERRIDE_TRIM_OFFSET 0x00038883
|
||||||
|
#endif
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/* Select RSSI offset value based on the frequency band */
|
||||||
|
#if DOT_15_4G_FREQUENCY_BAND_ID==DOT_15_4G_FREQUENCY_BAND_470
|
||||||
|
#define RSSI_OFFSET SMARTRF_SETTINGS_RSSI_OFFSET_431_527
|
||||||
|
#else
|
||||||
|
#define RSSI_OFFSET SMARTRF_SETTINGS_RSSI_OFFSET_779_930
|
||||||
|
#endif
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/* Overrides for CMD_PROP_RADIO_DIV_SETUP */
|
/* Overrides for CMD_PROP_RADIO_DIV_SETUP */
|
||||||
static uint32_t overrides[] =
|
static uint32_t overrides[] =
|
||||||
|
@ -80,9 +124,9 @@ static uint32_t overrides[] =
|
||||||
ADI_HALFREG_OVERRIDE(0, 61, 0xF, 0xD),
|
ADI_HALFREG_OVERRIDE(0, 61, 0xF, 0xD),
|
||||||
/*
|
/*
|
||||||
* override_phy_gfsk_rx.xml
|
* override_phy_gfsk_rx.xml
|
||||||
* Rx: Set LNA bias current trim offset to 3
|
* Rx: Set LNA bias current trim offset. The board can override this
|
||||||
*/
|
*/
|
||||||
(uint32_t)0x00038883,
|
(uint32_t)SMARTRF_SETTINGS_OVERRIDE_TRIM_OFFSET,
|
||||||
/* Rx: Freeze RSSI on sync found event */
|
/* Rx: Freeze RSSI on sync found event */
|
||||||
HW_REG_OVERRIDE(0x6084, 0x35F1),
|
HW_REG_OVERRIDE(0x6084, 0x35F1),
|
||||||
/*
|
/*
|
||||||
|
@ -93,10 +137,11 @@ static uint32_t overrides[] =
|
||||||
/* Tx: Configure PA ramping setting */
|
/* Tx: Configure PA ramping setting */
|
||||||
HW_REG_OVERRIDE(0x608C, 0x8213),
|
HW_REG_OVERRIDE(0x608C, 0x8213),
|
||||||
/*
|
/*
|
||||||
* override_phy_rx_rssi_offset_5db.xml
|
* Rx: Set RSSI offset to adjust reported RSSI
|
||||||
* Rx: Set RSSI offset to adjust reported RSSI by +5 dB
|
* The board can override this
|
||||||
*/
|
*/
|
||||||
(uint32_t)0x00FB88A3,
|
(uint32_t)RSSI_OFFSET,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TX power override
|
* TX power override
|
||||||
* Tx: Set PA trim to max (in ADI0, set PACTL0=0xF8)
|
* Tx: Set PA trim to max (in ADI0, set PACTL0=0xF8)
|
||||||
|
@ -107,6 +152,12 @@ static uint32_t overrides[] =
|
||||||
(uint32_t)0x943,
|
(uint32_t)0x943,
|
||||||
(uint32_t)0x963,
|
(uint32_t)0x963,
|
||||||
|
|
||||||
|
/* Board-specific overrides, if any */
|
||||||
|
SMARTRF_SETTINGS_BOARD_OVERRIDES
|
||||||
|
|
||||||
|
/* Band-specific overrides, if any */
|
||||||
|
SMARTRF_SETTINGS_BAND_OVERRIDES
|
||||||
|
|
||||||
(uint32_t)0xFFFFFFFF,
|
(uint32_t)0xFFFFFFFF,
|
||||||
};
|
};
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
@ -137,8 +188,8 @@ rfc_CMD_PROP_RADIO_DIV_SETUP_t smartrf_settings_cmd_prop_radio_div_setup =
|
||||||
|
|
||||||
/* 7: .4g mode with dynamic whitening and CRC choice */
|
/* 7: .4g mode with dynamic whitening and CRC choice */
|
||||||
.formatConf.whitenMode = 0x7,
|
.formatConf.whitenMode = 0x7,
|
||||||
.config.frontEndMode = 0x0, /* Differential mode */
|
.config.frontEndMode = 0x00, /* Set by the driver */
|
||||||
.config.biasMode = 0x1, /* External bias*/
|
.config.biasMode = 0x00, /* Set by the driver */
|
||||||
.config.analogCfgMode = 0x0,
|
.config.analogCfgMode = 0x0,
|
||||||
.config.bNoFsPowerUp = 0x0,
|
.config.bNoFsPowerUp = 0x0,
|
||||||
.txPower = 0x00, /* Driver sets correct value */
|
.txPower = 0x00, /* Driver sets correct value */
|
||||||
|
|
|
@ -39,21 +39,12 @@
|
||||||
*
|
*
|
||||||
* \defgroup cc26xx-demo CC26xx Demo Project
|
* \defgroup cc26xx-demo CC26xx Demo Project
|
||||||
*
|
*
|
||||||
* Example project demonstrating the CC26xx platforms
|
* Example project demonstrating the CC13xx/CC26xx platforms
|
||||||
*
|
*
|
||||||
* This example will work for the following boards:
|
* This example will work for the following boards:
|
||||||
* - srf06-cc26xx: SmartRF06EB + CC26XX EM
|
* - srf06-cc26xx: SmartRF06EB + CC13xx/CC26xx EM
|
||||||
* - sensortag-cc26xx: CC26XX sensortag
|
* - CC2650 and CC1350 SensorTag
|
||||||
* - The CC2650 LaunchPad
|
* - CC1310, CC1350, CC2650 LaunchPads
|
||||||
*
|
|
||||||
* By default, the example will build for the srf06-cc26xx board. To switch
|
|
||||||
* between platforms:
|
|
||||||
* - make clean
|
|
||||||
* - make BOARD=sensortag-cc26xx savetarget
|
|
||||||
*
|
|
||||||
* or
|
|
||||||
*
|
|
||||||
* make BOARD=srf06-cc26xx savetarget
|
|
||||||
*
|
*
|
||||||
* This is an IPv6/RPL-enabled example. Thus, if you have a border router in
|
* This is an IPv6/RPL-enabled example. Thus, if you have a border router in
|
||||||
* your installation (same RDC layer, same PAN ID and RF channel), you should
|
* your installation (same RDC layer, same PAN ID and RF channel), you should
|
||||||
|
|
|
@ -23,7 +23,7 @@ as per the instructions below.
|
||||||
|
|
||||||
When the node is duty-cycling the radio, either because it is in normal mode or
|
When the node is duty-cycling the radio, either because it is in normal mode or
|
||||||
because network maintenance is taking place, it will keep its green LED on thus
|
because network maintenance is taking place, it will keep its green LED on thus
|
||||||
providing an indication that it is reachable.
|
providing an indication that it is reachable (red LED for the CC1350 tag).
|
||||||
|
|
||||||
A normal mode stint can be manually triggered by pressing the left button.
|
A normal mode stint can be manually triggered by pressing the left button.
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,15 @@ Getting Started with Contiki for TI CC26xx
|
||||||
==========================================
|
==========================================
|
||||||
|
|
||||||
This guide's aim is to help you start using Contiki for TI's CC26xx. The
|
This guide's aim is to help you start using Contiki for TI's CC26xx. The
|
||||||
platform supports two different boards:
|
platform supports multiple boards:
|
||||||
|
|
||||||
* SmartRF 06 Evaluation Board with a CC26xx or CC13xx Evaluation Module
|
* SmartRF 06 Evaluation Board with a CC26xx or CC13xx Evaluation Module
|
||||||
(relevant files and drivers are under `srf06/`)
|
(relevant files and drivers are under `srf06/`)
|
||||||
* CC2650 SensorTag 2.0 (relevant drivers under `sensortag/cc2650`)
|
* CC2650 SensorTag 2.0 (relevant drivers under `sensortag/cc2650`)
|
||||||
|
* CC1350 SensorTag 2.0 (relevant drivers under `sensortag/cc1350`)
|
||||||
* CC2650 LaunchPad (relevant drivers under `launchpad/cc2650`)
|
* CC2650 LaunchPad (relevant drivers under `launchpad/cc2650`)
|
||||||
* CC1310 LaunchPad (relevant drivers under `launchpad/cc1310`)
|
* CC1310 LaunchPad (relevant drivers under `launchpad/cc1310`)
|
||||||
|
* CC1350 LaunchPad (relevant drivers under `launchpad/cc1350`)
|
||||||
|
|
||||||
The CPU code, common for both platforms, can be found under `$(CONTIKI)/cpu/cc26xx-cc13xx`.
|
The CPU code, common for both platforms, can be found under `$(CONTIKI)/cpu/cc26xx-cc13xx`.
|
||||||
The port was developed and tested with CC2650s, but the intention is for it to
|
The port was developed and tested with CC2650s, but the intention is for it to
|
||||||
|
@ -100,8 +102,10 @@ Other options for the `BOARD` make variable are:
|
||||||
* Srf06+CC26xxEM: Set `BOARD=srf06/cc26xx`
|
* Srf06+CC26xxEM: Set `BOARD=srf06/cc26xx`
|
||||||
* Srf06+CC13xxEM: Set `BOARD=srf06/cc13xx`
|
* Srf06+CC13xxEM: Set `BOARD=srf06/cc13xx`
|
||||||
* CC2650 tag: Set `BOARD=sensortag/cc2650`
|
* CC2650 tag: Set `BOARD=sensortag/cc2650`
|
||||||
|
* CC1350 tag: Set `BOARD=sensortag/cc1350`
|
||||||
* CC2650 Launchpad: Set `BOARD=launchpad/cc2650`
|
* CC2650 Launchpad: Set `BOARD=launchpad/cc2650`
|
||||||
* CC1310 Launchpad: Set `BOARD=launchpad/cc1310`
|
* CC1310 Launchpad: Set `BOARD=launchpad/cc1310`
|
||||||
|
* CC1350 Launchpad: Set `BOARD=launchpad/cc1350`
|
||||||
|
|
||||||
If the `BOARD` variable is unspecified, an image for the Srf06 CC26XXEM will be built.
|
If the `BOARD` variable is unspecified, an image for the Srf06 CC26XXEM will be built.
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Driver for the LaunchPad Flash and the Sensortag WinBond W25X20CL/W25X40CL
|
* Sensortag/LaunchPad External Flash Driver
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#include "contiki.h"
|
#include "contiki.h"
|
||||||
|
|
|
@ -32,14 +32,16 @@
|
||||||
* \addtogroup cc26xx-platforms
|
* \addtogroup cc26xx-platforms
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \defgroup cc26xx-srf-tag SmartRF+CC13xx/CC26xx EM, CC2650 SensorTag and LaunchPads
|
* \defgroup cc26xx-srf-tag SmartRF+CC13xx/CC26xx EM, SensorTags and LaunchPads
|
||||||
*
|
*
|
||||||
* This platform supports a number of different boards:
|
* This platform supports a number of different boards:
|
||||||
* - A standard TI SmartRF06EB with a CC26xx EM mounted on it
|
* - A standard TI SmartRF06EB with a CC26xx EM mounted on it
|
||||||
* - A standard TI SmartRF06EB with a CC1310 EM mounted on it
|
* - A standard TI SmartRF06EB with a CC1310 EM mounted on it
|
||||||
* - The new TI SensorTag2.0
|
* - The TI CC2650 SensorTag
|
||||||
|
* - The TI CC1350 SensorTag
|
||||||
* - The TI CC2650 LaunchPad
|
* - The TI CC2650 LaunchPad
|
||||||
* - The TI CC1310 LaunchPad
|
* - The TI CC1310 LaunchPad
|
||||||
|
* - The TI CC1350 LaunchPad
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
#include "ti-lib.h"
|
#include "ti-lib.h"
|
||||||
|
|
|
@ -41,6 +41,7 @@
|
||||||
#include "lpm.h"
|
#include "lpm.h"
|
||||||
#include "ti-lib.h"
|
#include "ti-lib.h"
|
||||||
#include "board-peripherals.h"
|
#include "board-peripherals.h"
|
||||||
|
#include "rf-core/rf-switch.h"
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
@ -51,8 +52,8 @@ wakeup_handler(void)
|
||||||
{
|
{
|
||||||
/* Turn on the PERIPH PD */
|
/* Turn on the PERIPH PD */
|
||||||
ti_lib_prcm_power_domain_on(PRCM_DOMAIN_PERIPH);
|
ti_lib_prcm_power_domain_on(PRCM_DOMAIN_PERIPH);
|
||||||
while((ti_lib_prcm_power_domain_status(PRCM_DOMAIN_PERIPH)
|
while(ti_lib_prcm_power_domain_status(PRCM_DOMAIN_PERIPH)
|
||||||
!= PRCM_DOMAIN_POWER_ON));
|
!= PRCM_DOMAIN_POWER_ON);
|
||||||
}
|
}
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/*
|
/*
|
||||||
|
@ -66,13 +67,7 @@ LPM_MODULE(launchpad_module, NULL, NULL, wakeup_handler, LPM_DOMAIN_NONE);
|
||||||
static void
|
static void
|
||||||
configure_unused_pins(void)
|
configure_unused_pins(void)
|
||||||
{
|
{
|
||||||
uint32_t pins[] = {
|
uint32_t pins[] = BOARD_UNUSED_PINS;
|
||||||
BOARD_IOID_CS, BOARD_IOID_TDO, BOARD_IOID_TDI, BOARD_IOID_DIO12,
|
|
||||||
BOARD_IOID_DIO15, BOARD_IOID_DIO21, BOARD_IOID_DIO22, BOARD_IOID_DIO23,
|
|
||||||
BOARD_IOID_DIO24, BOARD_IOID_DIO25, BOARD_IOID_DIO26, BOARD_IOID_DIO27,
|
|
||||||
BOARD_IOID_DIO28, BOARD_IOID_DIO29, BOARD_IOID_DIO30,
|
|
||||||
IOID_UNUSED
|
|
||||||
};
|
|
||||||
|
|
||||||
uint32_t *pin;
|
uint32_t *pin;
|
||||||
|
|
||||||
|
@ -106,6 +101,9 @@ board_init()
|
||||||
/* For unsupported peripherals, select a default pin configuration */
|
/* For unsupported peripherals, select a default pin configuration */
|
||||||
configure_unused_pins();
|
configure_unused_pins();
|
||||||
|
|
||||||
|
/* Initialise the RF switch if present */
|
||||||
|
rf_switch_init();
|
||||||
|
|
||||||
/* Re-enable interrupt if initially enabled. */
|
/* Re-enable interrupt if initially enabled. */
|
||||||
if(!int_disabled) {
|
if(!int_disabled) {
|
||||||
ti_lib_int_master_enable();
|
ti_lib_int_master_enable();
|
||||||
|
|
|
@ -178,6 +178,7 @@
|
||||||
* Those values are not meant to be modified by the user
|
* Those values are not meant to be modified by the user
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
#define BOARD_IOID_DIO1 IOID_1
|
||||||
#define BOARD_IOID_CS IOID_11
|
#define BOARD_IOID_CS IOID_11
|
||||||
#define BOARD_IOID_TDO IOID_16
|
#define BOARD_IOID_TDO IOID_16
|
||||||
#define BOARD_IOID_TDI IOID_17
|
#define BOARD_IOID_TDI IOID_17
|
||||||
|
@ -193,6 +194,14 @@
|
||||||
#define BOARD_IOID_DIO28 IOID_28
|
#define BOARD_IOID_DIO28 IOID_28
|
||||||
#define BOARD_IOID_DIO29 IOID_29
|
#define BOARD_IOID_DIO29 IOID_29
|
||||||
#define BOARD_IOID_DIO30 IOID_30
|
#define BOARD_IOID_DIO30 IOID_30
|
||||||
|
|
||||||
|
#define BOARD_UNUSED_PINS { \
|
||||||
|
BOARD_IOID_DIO1, BOARD_IOID_CS, BOARD_IOID_TDO, BOARD_IOID_TDI, \
|
||||||
|
BOARD_IOID_DIO12, BOARD_IOID_DIO15, BOARD_IOID_DIO21, BOARD_IOID_DIO22, \
|
||||||
|
BOARD_IOID_DIO23, BOARD_IOID_DIO24, BOARD_IOID_DIO25, BOARD_IOID_DIO26, \
|
||||||
|
BOARD_IOID_DIO27, BOARD_IOID_DIO28, BOARD_IOID_DIO29, BOARD_IOID_DIO30, \
|
||||||
|
IOID_UNUSED \
|
||||||
|
}
|
||||||
/** @} */
|
/** @} */
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
|
|
10
platform/srf06-cc26xx/launchpad/cc1350/Makefile.cc1350
Normal file
10
platform/srf06-cc26xx/launchpad/cc1350/Makefile.cc1350
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
### Will allow the inclusion of the correct CPU makefile
|
||||||
|
CPU_FAMILY = cc13xx
|
||||||
|
|
||||||
|
### Add to the source dirs
|
||||||
|
CONTIKI_TARGET_DIRS += launchpad/cc1350
|
||||||
|
|
||||||
|
BOARD_SOURCEFILES += rf-switch.c tx-power-driver.c
|
||||||
|
|
||||||
|
### Include the common launchpad makefile
|
||||||
|
include $(PLATFORM_ROOT_DIR)/launchpad/Makefile.launchpad
|
236
platform/srf06-cc26xx/launchpad/cc1350/board.h
Normal file
236
platform/srf06-cc26xx/launchpad/cc1350/board.h
Normal file
|
@ -0,0 +1,236 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2016, Texas Instruments Incorporated - http://www.ti.com/
|
||||||
|
* 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 copyright holder 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.
|
||||||
|
*/
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/** \addtogroup launchpad-peripherals
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
* \defgroup launchpad-cc1350-specific CC1350 LaunchPad Peripherals
|
||||||
|
*
|
||||||
|
* Defines related to the CC1350 LaunchPad
|
||||||
|
*
|
||||||
|
* This file provides connectivity information on LEDs, Buttons, UART and
|
||||||
|
* other peripherals
|
||||||
|
*
|
||||||
|
* This file is not meant to be modified by the user.
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
* \file
|
||||||
|
* Header file with definitions related to the I/O connections on the TI
|
||||||
|
* CC1350 LaunchPad
|
||||||
|
*
|
||||||
|
* \note Do not include this file directly. It gets included by contiki-conf
|
||||||
|
* after all relevant directives have been set.
|
||||||
|
*/
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#ifndef BOARD_H_
|
||||||
|
#define BOARD_H_
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#include "ioc.h"
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \name LED configurations
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
/* Some files include leds.h before us, so we need to get rid of defaults in
|
||||||
|
* leds.h before we provide correct definitions */
|
||||||
|
#undef LEDS_GREEN
|
||||||
|
#undef LEDS_YELLOW
|
||||||
|
#undef LEDS_RED
|
||||||
|
#undef LEDS_CONF_ALL
|
||||||
|
|
||||||
|
#define LEDS_RED 1
|
||||||
|
#define LEDS_GREEN 2
|
||||||
|
#define LEDS_YELLOW LEDS_GREEN
|
||||||
|
#define LEDS_ORANGE LEDS_RED
|
||||||
|
|
||||||
|
#define LEDS_CONF_ALL 3
|
||||||
|
|
||||||
|
/* Notify various examples that we have LEDs */
|
||||||
|
#define PLATFORM_HAS_LEDS 1
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \name LED IOID mappings
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_IOID_LED_1 IOID_6
|
||||||
|
#define BOARD_IOID_LED_2 IOID_7
|
||||||
|
#define BOARD_LED_1 (1 << BOARD_IOID_LED_1)
|
||||||
|
#define BOARD_LED_2 (1 << BOARD_IOID_LED_2)
|
||||||
|
#define BOARD_LED_ALL (BOARD_LED_1 | BOARD_LED_2)
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \name UART IOID mapping
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_IOID_UART_RX IOID_2
|
||||||
|
#define BOARD_IOID_UART_TX IOID_3
|
||||||
|
#define BOARD_IOID_UART_RTS IOID_18
|
||||||
|
#define BOARD_IOID_UART_CTS IOID_19
|
||||||
|
#define BOARD_UART_RX (1 << BOARD_IOID_UART_RX)
|
||||||
|
#define BOARD_UART_TX (1 << BOARD_IOID_UART_TX)
|
||||||
|
#define BOARD_UART_RTS (1 << BOARD_IOID_UART_RTS)
|
||||||
|
#define BOARD_UART_CTS (1 << BOARD_IOID_UART_CTS)
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \name Button IOID mapping
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_IOID_KEY_LEFT IOID_13
|
||||||
|
#define BOARD_IOID_KEY_RIGHT IOID_14
|
||||||
|
#define BOARD_KEY_LEFT (1 << BOARD_IOID_KEY_LEFT)
|
||||||
|
#define BOARD_KEY_RIGHT (1 << BOARD_IOID_KEY_RIGHT)
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \brief SPI IOID mappings
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_IOID_SPI_MOSI IOID_9
|
||||||
|
#define BOARD_IOID_SPI_MISO IOID_8
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \name External flash IOID mapping
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_IOID_FLASH_CS IOID_20
|
||||||
|
#define BOARD_FLASH_CS (1 << BOARD_IOID_FLASH_CS)
|
||||||
|
#define BOARD_IOID_SPI_CLK_FLASH IOID_10
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \brief I2C IOID mappings
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_IOID_SCL IOID_4
|
||||||
|
#define BOARD_IOID_SDA IOID_5
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \brief CC1350LP RF Switch
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define RF_SWITCH_CONF_ENABLE 1
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \brief TX power settings
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define PROP_MODE_CONF_TX_POWER_779_930 tx_power_driver_779_930
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \brief ROM bootloader configuration
|
||||||
|
*
|
||||||
|
* Change SET_CCFG_BL_CONFIG_BL_PIN_NUMBER to BOARD_IOID_KEY_xyz to select
|
||||||
|
* which button triggers the bootloader on reset.
|
||||||
|
*
|
||||||
|
* The remaining values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#if ROM_BOOTLOADER_ENABLE
|
||||||
|
#define SET_CCFG_BL_CONFIG_BOOTLOADER_ENABLE 0xC5
|
||||||
|
#define SET_CCFG_BL_CONFIG_BL_LEVEL 0x00
|
||||||
|
#define SET_CCFG_BL_CONFIG_BL_PIN_NUMBER BOARD_IOID_KEY_LEFT
|
||||||
|
#define SET_CCFG_BL_CONFIG_BL_ENABLE 0xC5
|
||||||
|
#else
|
||||||
|
#define SET_CCFG_BL_CONFIG_BOOTLOADER_ENABLE 0x00
|
||||||
|
#define SET_CCFG_BL_CONFIG_BL_LEVEL 0x01
|
||||||
|
#define SET_CCFG_BL_CONFIG_BL_PIN_NUMBER 0xFF
|
||||||
|
#define SET_CCFG_BL_CONFIG_BL_ENABLE 0xFF
|
||||||
|
#endif
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \brief Remaining pins
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_IOID_CS IOID_11
|
||||||
|
#define BOARD_IOID_TDO IOID_16
|
||||||
|
#define BOARD_IOID_TDI IOID_17
|
||||||
|
#define BOARD_IOID_DIO12 IOID_12
|
||||||
|
#define BOARD_IOID_DIO15 IOID_15
|
||||||
|
#define BOARD_IOID_DIO21 IOID_21
|
||||||
|
#define BOARD_IOID_DIO22 IOID_22
|
||||||
|
#define BOARD_IOID_DIO23 IOID_23
|
||||||
|
#define BOARD_IOID_DIO24 IOID_24
|
||||||
|
#define BOARD_IOID_DIO25 IOID_25
|
||||||
|
#define BOARD_IOID_DIO26 IOID_26
|
||||||
|
#define BOARD_IOID_DIO27 IOID_27
|
||||||
|
#define BOARD_IOID_DIO28 IOID_28
|
||||||
|
#define BOARD_IOID_DIO29 IOID_29
|
||||||
|
#define BOARD_IOID_DIO30 IOID_30
|
||||||
|
|
||||||
|
#define BOARD_UNUSED_PINS { \
|
||||||
|
BOARD_IOID_CS, BOARD_IOID_TDO, BOARD_IOID_TDI, BOARD_IOID_DIO12, \
|
||||||
|
BOARD_IOID_DIO15, BOARD_IOID_DIO21, BOARD_IOID_DIO22, BOARD_IOID_DIO23, \
|
||||||
|
BOARD_IOID_DIO24, BOARD_IOID_DIO25, BOARD_IOID_DIO26, BOARD_IOID_DIO27, \
|
||||||
|
BOARD_IOID_DIO28, BOARD_IOID_DIO29, \
|
||||||
|
IOID_UNUSED \
|
||||||
|
}
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \name Device string used on startup
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_STRING "TI CC1350 LaunchPad"
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#endif /* BOARD_H_ */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
* @}
|
||||||
|
*/
|
92
platform/srf06-cc26xx/launchpad/cc1350/rf-switch.c
Normal file
92
platform/srf06-cc26xx/launchpad/cc1350/rf-switch.c
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2015, Texas Instruments Incorporated - http://www.ti.com/
|
||||||
|
* 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 copyright holder 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.
|
||||||
|
*/
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \addtogroup rf-switch
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
* \file
|
||||||
|
* CC1350 LP RF switch driver
|
||||||
|
*/
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#include "contiki-conf.h"
|
||||||
|
#include "lpm.h"
|
||||||
|
#include "rf-core/rf-switch.h"
|
||||||
|
#include "ti-lib.h"
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#define POWER_PIN IOID_30
|
||||||
|
#define SELECT_PIN IOID_1
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
static void
|
||||||
|
shutdown_handler(uint8_t mode)
|
||||||
|
{
|
||||||
|
ti_lib_gpio_clear_dio(POWER_PIN);
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/*
|
||||||
|
* Declare a data structure to register with LPM. Always turn off the switch
|
||||||
|
* when we are dropping to deep sleep. We let the RF driver turn it on though.
|
||||||
|
*/
|
||||||
|
LPM_MODULE(rf_switch_module, NULL, shutdown_handler, NULL, LPM_DOMAIN_NONE);
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
void
|
||||||
|
rf_switch_init()
|
||||||
|
{
|
||||||
|
ti_lib_rom_ioc_pin_type_gpio_output(POWER_PIN);
|
||||||
|
ti_lib_gpio_clear_dio(POWER_PIN);
|
||||||
|
ti_lib_rom_ioc_pin_type_gpio_output(SELECT_PIN);
|
||||||
|
ti_lib_gpio_clear_dio(SELECT_PIN);
|
||||||
|
|
||||||
|
lpm_register_module(&rf_switch_module);
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
void
|
||||||
|
rf_switch_power_up()
|
||||||
|
{
|
||||||
|
ti_lib_gpio_set_dio(POWER_PIN);
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
void
|
||||||
|
rf_switch_power_down()
|
||||||
|
{
|
||||||
|
ti_lib_gpio_clear_dio(POWER_PIN);
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
void
|
||||||
|
rf_switch_select_path(uint8_t path)
|
||||||
|
{
|
||||||
|
ti_lib_gpio_write_dio(SELECT_PIN, path);
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/** @} */
|
65
platform/srf06-cc26xx/launchpad/cc1350/tx-power-driver.c
Normal file
65
platform/srf06-cc26xx/launchpad/cc1350/tx-power-driver.c
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2016, Texas Instruments Incorporated - http://www.ti.com/
|
||||||
|
* 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 copyright holder 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.
|
||||||
|
*/
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \addtogroup rf-core-prop
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
* \file
|
||||||
|
* TX power settings for the CC1350 LP
|
||||||
|
*/
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#include "contiki-conf.h"
|
||||||
|
#include "dev/radio.h"
|
||||||
|
#include "rf-core/prop-mode.h"
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/* TX power settings for the 779-930MHz band */
|
||||||
|
const prop_mode_tx_power_config_t tx_power_driver_779_930[] = {
|
||||||
|
{ 14, 0xab3f },
|
||||||
|
{ 12, 0xbc2b },
|
||||||
|
{ 11, 0x90e5 },
|
||||||
|
{ 10, 0x58d8 },
|
||||||
|
{ 9, 0x40d2 },
|
||||||
|
{ 8, 0x32ce },
|
||||||
|
{ 7, 0x2acb },
|
||||||
|
{ 6, 0x24c9 },
|
||||||
|
{ 5, 0x20c8 },
|
||||||
|
{ 4, 0x1844 },
|
||||||
|
{ 3, 0x1cc6 },
|
||||||
|
{ 2, 0x18c5 },
|
||||||
|
{ 1, 0x16c4 },
|
||||||
|
{ 0, 0x12c3 },
|
||||||
|
{ -10, 0x04c0 },
|
||||||
|
{-128, 0xFFFF },
|
||||||
|
};
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
|
@ -178,6 +178,8 @@
|
||||||
* Those values are not meant to be modified by the user
|
* Those values are not meant to be modified by the user
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
#define BOARD_IOID_DIO0 IOID_0
|
||||||
|
#define BOARD_IOID_DIO1 IOID_1
|
||||||
#define BOARD_IOID_CS IOID_11
|
#define BOARD_IOID_CS IOID_11
|
||||||
#define BOARD_IOID_TDO IOID_16
|
#define BOARD_IOID_TDO IOID_16
|
||||||
#define BOARD_IOID_TDI IOID_17
|
#define BOARD_IOID_TDI IOID_17
|
||||||
|
@ -193,6 +195,14 @@
|
||||||
#define BOARD_IOID_DIO28 IOID_28
|
#define BOARD_IOID_DIO28 IOID_28
|
||||||
#define BOARD_IOID_DIO29 IOID_29
|
#define BOARD_IOID_DIO29 IOID_29
|
||||||
#define BOARD_IOID_DIO30 IOID_30
|
#define BOARD_IOID_DIO30 IOID_30
|
||||||
|
|
||||||
|
#define BOARD_UNUSED_PINS { \
|
||||||
|
BOARD_IOID_DIO0, BOARD_IOID_DIO1, BOARD_IOID_CS, BOARD_IOID_TDO, \
|
||||||
|
BOARD_IOID_TDI, BOARD_IOID_DIO12, BOARD_IOID_DIO15, BOARD_IOID_DIO21, \
|
||||||
|
BOARD_IOID_DIO22, BOARD_IOID_DIO23, BOARD_IOID_DIO24, BOARD_IOID_DIO25, \
|
||||||
|
BOARD_IOID_DIO26, BOARD_IOID_DIO27, BOARD_IOID_DIO28, BOARD_IOID_DIO29, \
|
||||||
|
BOARD_IOID_DIO30, IOID_UNUSED \
|
||||||
|
}
|
||||||
/** @} */
|
/** @} */
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Driver for the Sensortag-CC26XX BMP280 Altimeter / Pressure Sensor
|
* Driver for the Sensortag BMP280 Altimeter / Pressure Sensor
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#include "contiki-conf.h"
|
#include "contiki-conf.h"
|
||||||
|
|
|
@ -49,7 +49,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Header file for the Sensortag-CC26xx BMP280 Altimeter / Pressure Sensor
|
* Header file for the Sensortag BMP280 Altimeter / Pressure Sensor
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#ifndef BMP_280_SENSOR_H_
|
#ifndef BMP_280_SENSOR_H_
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Board-specific I2C driver for the Sensortag-CC26xx
|
* Board-specific I2C driver for the Sensortags
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#include "contiki-conf.h"
|
#include "contiki-conf.h"
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Header file for the Sensortag-CC26xx I2C Driver
|
* Header file for the Sensortag I2C Driver
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#ifndef BOARD_I2C_H_
|
#ifndef BOARD_I2C_H_
|
||||||
|
|
|
@ -29,10 +29,18 @@
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/** \addtogroup cc26xx-srf-tag
|
/** \addtogroup cc26xx-srf-tag
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
* \defgroup sensortag-cc26xx-peripherals Sensortag CC1350/CC2650 common
|
||||||
|
*
|
||||||
|
* Defines related to Sensortag sensors. The two sensortags are identical to a
|
||||||
|
* very large extent. Everything documented within this group applies to both
|
||||||
|
* sensortags.
|
||||||
|
*
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Header file with definitions related to the sensors on the Sensortag-CC26xx
|
* Header file with definitions related to the sensors on the Sensortags
|
||||||
*
|
*
|
||||||
* \note Do not include this file directly.
|
* \note Do not include this file directly.
|
||||||
*/
|
*/
|
||||||
|
@ -52,5 +60,6 @@
|
||||||
#endif /* BOARD_PERIPHERALS_H_ */
|
#endif /* BOARD_PERIPHERALS_H_ */
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
|
* @}
|
||||||
* @}
|
* @}
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Driver for the Sensortag-CC26xx buttons
|
* Driver for Sensortag buttons
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#include "contiki.h"
|
#include "contiki.h"
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Header file for the Sensortag-CC26xx Button Driver
|
* Header file for the Sensortag Button Driver
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#ifndef BUTTON_SENSOR_H_
|
#ifndef BUTTON_SENSOR_H_
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Driver for the Sensortag-CC26XX Buzzer
|
* Driver for the Sensortag Buzzer
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#include "contiki-conf.h"
|
#include "contiki-conf.h"
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Header file for the Sensortag-CC26xx Buzzer
|
* Header file for the Sensortag Buzzer
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#ifndef BUZZER_H_
|
#ifndef BUZZER_H_
|
||||||
|
|
11
platform/srf06-cc26xx/sensortag/cc1350/Makefile.cc1350
Normal file
11
platform/srf06-cc26xx/sensortag/cc1350/Makefile.cc1350
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
### Add to the source list
|
||||||
|
BOARD_SOURCEFILES += leds-arch.c
|
||||||
|
|
||||||
|
### Will allow the inclusion of the correct CPU makefile
|
||||||
|
CPU_FAMILY = cc13xx
|
||||||
|
|
||||||
|
### Add to the source dirs
|
||||||
|
CONTIKI_TARGET_DIRS += sensortag/cc1350
|
||||||
|
|
||||||
|
### Include the common sensortag makefile
|
||||||
|
include $(PLATFORM_ROOT_DIR)/sensortag/Makefile.sensortag
|
277
platform/srf06-cc26xx/sensortag/cc1350/board.h
Normal file
277
platform/srf06-cc26xx/sensortag/cc1350/board.h
Normal file
|
@ -0,0 +1,277 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2014, Texas Instruments Incorporated - http://www.ti.com/
|
||||||
|
* 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 copyright holder 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.
|
||||||
|
*/
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/** \addtogroup cc26xx-srf-tag
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
* \defgroup sensortag-cc13xx-peripherals CC1350 Sensortag Peripherals
|
||||||
|
*
|
||||||
|
* Defines related to the CC1350 Sensortag
|
||||||
|
*
|
||||||
|
* This file provides connectivity information on LEDs, Buttons, UART and
|
||||||
|
* other peripherals
|
||||||
|
*
|
||||||
|
* This file can be used as the basis to configure other boards using the
|
||||||
|
* CC13xx code as their basis.
|
||||||
|
*
|
||||||
|
* This file is not meant to be modified by the user.
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
* \file
|
||||||
|
* Header file with definitions related to the I/O connections on the TI
|
||||||
|
* Sensortag
|
||||||
|
*
|
||||||
|
* \note Do not include this file directly. It gets included by contiki-conf
|
||||||
|
* after all relevant directives have been set.
|
||||||
|
*/
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#ifndef BOARD_H_
|
||||||
|
#define BOARD_H_
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#include "ioc.h"
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \name LED configurations
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
/* Some files include leds.h before us, so we need to get rid of defaults in
|
||||||
|
* leds.h before we provide correct definitions */
|
||||||
|
#undef LEDS_GREEN
|
||||||
|
#undef LEDS_YELLOW
|
||||||
|
#undef LEDS_RED
|
||||||
|
#undef LEDS_CONF_ALL
|
||||||
|
|
||||||
|
#define LEDS_RED 1
|
||||||
|
#define LEDS_GREEN LEDS_RED
|
||||||
|
#define LEDS_YELLOW LEDS_RED
|
||||||
|
#define LEDS_ORANGE LEDS_RED
|
||||||
|
|
||||||
|
#define LEDS_CONF_ALL 1
|
||||||
|
|
||||||
|
/* Notify various examples that we have LEDs */
|
||||||
|
#define PLATFORM_HAS_LEDS 1
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \name LED IOID mappings
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_IOID_LED_1 IOID_10
|
||||||
|
#define BOARD_LED_1 (1 << BOARD_IOID_LED_1)
|
||||||
|
#define BOARD_LED_ALL BOARD_LED_1
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \name UART IOID mapping
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_IOID_DP4_UARTRX IOID_28
|
||||||
|
#define BOARD_IOID_DP5_UARTTX IOID_29
|
||||||
|
|
||||||
|
#if BOARD_CONF_DEBUGGER_DEVPACK
|
||||||
|
#define BOARD_IOID_UART_RX BOARD_IOID_DP4_UARTRX
|
||||||
|
#define BOARD_IOID_UART_TX BOARD_IOID_DP5_UARTTX
|
||||||
|
#else
|
||||||
|
#define BOARD_IOID_UART_RX IOID_17
|
||||||
|
#define BOARD_IOID_UART_TX IOID_16
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define BOARD_IOID_UART_CTS IOID_UNUSED
|
||||||
|
#define BOARD_IOID_UART_RTS IOID_UNUSED
|
||||||
|
#define BOARD_UART_RX (1 << BOARD_IOID_UART_RX)
|
||||||
|
#define BOARD_UART_TX (1 << BOARD_IOID_UART_TX)
|
||||||
|
#define BOARD_UART_CTS (1 << BOARD_IOID_UART_CTS)
|
||||||
|
#define BOARD_UART_RTS (1 << BOARD_IOID_UART_RTS)
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \name Button IOID mapping
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_IOID_KEY_LEFT IOID_15
|
||||||
|
#define BOARD_IOID_KEY_RIGHT IOID_4
|
||||||
|
#define BOARD_KEY_LEFT (1 << BOARD_IOID_KEY_LEFT)
|
||||||
|
#define BOARD_KEY_RIGHT (1 << BOARD_IOID_KEY_RIGHT)
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \brief SPI IOID mappings
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_IOID_SPI_MOSI IOID_19
|
||||||
|
#define BOARD_IOID_SPI_MISO IOID_18
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \name Buzzer configuration
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_IOID_BUZZER IOID_21 /**< Buzzer Pin */
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \name Reed Relay IOID mapping
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_IOID_REED_RELAY IOID_1
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \name External flash IOID mapping and part-related constants
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_IOID_FLASH_CS IOID_14
|
||||||
|
#define BOARD_FLASH_CS (1 << BOARD_IOID_FLASH_CS)
|
||||||
|
#define BOARD_IOID_SPI_CLK_FLASH IOID_17
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \brief I2C IOID mappings
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_IOID_SDA IOID_5 /**< Interface 0 SDA: All sensors bar MPU */
|
||||||
|
#define BOARD_IOID_SCL IOID_6 /**< Interface 0 SCL: All sensors bar MPU */
|
||||||
|
#define BOARD_IOID_SDA_HP IOID_8 /**< Interface 1 SDA: MPU */
|
||||||
|
#define BOARD_IOID_SCL_HP IOID_9 /**< Interface 1 SCL: MPU */
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \brief MPU IOID mappings
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_IOID_MPU_INT IOID_7
|
||||||
|
#define BOARD_IOID_MPU_POWER IOID_12
|
||||||
|
#define BOARD_MPU_INT (1 << BOARD_IOID_MPU_INT)
|
||||||
|
#define BOARD_MPU_POWER (1 << BOARD_IOID_MPU_POWER)
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \brief Board devpack IOID mappings (LCD etc.)
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_IOID_AUDIOFS_TDO IOID_16
|
||||||
|
#define BOARD_IOID_DEVPACK_CS IOID_20
|
||||||
|
#define BOARD_IOID_DEVPK_LCD_EXTCOMIN IOID_22
|
||||||
|
#define BOARD_IOID_AUDIODO IOID_22
|
||||||
|
#define BOARD_IOID_DP2 IOID_23
|
||||||
|
#define BOARD_IOID_DP1 IOID_24
|
||||||
|
#define BOARD_IOID_DP0 IOID_25
|
||||||
|
#define BOARD_IOID_DP3 IOID_27
|
||||||
|
#define BOARD_IOID_DEVPK_ID IOID_30
|
||||||
|
#define BOARD_DEVPACK_CS (1 << BOARD_IOID_DEVPACK_CS)
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \brief TMP Sensor
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_IOID_TMP_RDY IOID_11
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \brief Digital Microphone
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_IOID_MIC_POWER IOID_13
|
||||||
|
#define BOARD_IOID_AUDIO_DI IOID_2
|
||||||
|
#define BOARD_IOID_AUDIO_CLK IOID_3
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \name RF Front End configuration
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define RF_CORE_CONF_RADIO_SETUP_FRONT_END_MODE 0x01 /* Single-Ended, RFP */
|
||||||
|
#define RF_CORE_CONF_RADIO_SETUP_BIAS_MODE 0x01 /* External */
|
||||||
|
#define RF_CORE_CONF_PROP_FRONT_END_MODE 0x02 /* Single-Ended, RFN */
|
||||||
|
#define RF_CORE_CONF_PROP_BIAS_MODE 0x01 /* External */
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \name Board-specific overrides
|
||||||
|
*
|
||||||
|
* Those values are not meant to be modified by the user
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define IEEE_MODE_CONF_BOARD_OVERRIDES ADI_HALFREG_OVERRIDE(0, 16, 0x7, 1),
|
||||||
|
#define RF_BLE_CONF_BOARD_OVERRIDES ADI_HALFREG_OVERRIDE(0, 16, 0x7, 1),
|
||||||
|
#define SMARTRF_SETTINGS_CONF_BOARD_OVERRIDES ADI_HALFREG_OVERRIDE(0, 16, 0x7, 2),
|
||||||
|
|
||||||
|
#define SMARTRF_SETTINGS_CONF_RSSI_OFFSET_779_930 0x00F688A3
|
||||||
|
#define SMARTRF_SETTINGS_CONF_OVERRIDE_TRIM_OFFSET 0x00018883
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \name Device string used on startup
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define BOARD_STRING "TI CC1350 SensorTag"
|
||||||
|
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \brief Board specific iniatialisation
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
void board_init(void);
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#endif /* BOARD_H_ */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
* @}
|
||||||
|
*/
|
77
platform/srf06-cc26xx/sensortag/cc1350/leds-arch.c
Normal file
77
platform/srf06-cc26xx/sensortag/cc1350/leds-arch.c
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2014, Texas Instruments Incorporated - http://www.ti.com/
|
||||||
|
* 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 copyright holder 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.
|
||||||
|
*/
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \addtogroup sensortag-cc13xx-peripherals
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
* \file
|
||||||
|
* Driver for the Sensortag-CC1350 LEDs
|
||||||
|
*/
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#include "contiki.h"
|
||||||
|
#include "dev/leds.h"
|
||||||
|
|
||||||
|
#include "ti-lib.h"
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
static unsigned char c;
|
||||||
|
static int inited = 0;
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
void
|
||||||
|
leds_arch_init(void)
|
||||||
|
{
|
||||||
|
if(inited) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
inited = 1;
|
||||||
|
|
||||||
|
ti_lib_rom_ioc_pin_type_gpio_output(BOARD_IOID_LED_1);
|
||||||
|
|
||||||
|
ti_lib_gpio_clear_multi_dio(BOARD_LED_ALL);
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
unsigned char
|
||||||
|
leds_arch_get(void)
|
||||||
|
{
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
void
|
||||||
|
leds_arch_set(unsigned char leds)
|
||||||
|
{
|
||||||
|
c = leds;
|
||||||
|
ti_lib_gpio_clear_dio(BOARD_IOID_LED_1);
|
||||||
|
|
||||||
|
if((leds & LEDS_RED) == LEDS_RED) {
|
||||||
|
ti_lib_gpio_set_dio(BOARD_IOID_LED_1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/** @} */
|
|
@ -31,7 +31,7 @@
|
||||||
/** \addtogroup cc26xx-srf-tag
|
/** \addtogroup cc26xx-srf-tag
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \defgroup sensortag-cc26xx-peripherals Sensortag Peripherals
|
* \defgroup sensortag-cc26xx-specific CC2650 Sensortag Peripherals
|
||||||
*
|
*
|
||||||
* Defines related to the CC2650 Sensortag
|
* Defines related to the CC2650 Sensortag
|
||||||
*
|
*
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Driver for the Sensortag-CC26xx HDC sensor
|
* Driver for the Sensortag HDC sensor
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#include "contiki-conf.h"
|
#include "contiki-conf.h"
|
||||||
|
|
|
@ -1,32 +1,3 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2014, Texas Instruments Incorporated - http://www.ti.com/
|
|
||||||
* 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 copyright holder 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.
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2014, Texas Instruments Incorporated - http://www.ti.com/
|
* Copyright (c) 2014, Texas Instruments Incorporated - http://www.ti.com/
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -85,7 +56,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Header file for the Sensortag-CC26ss TI HDC1000 sensor
|
* Header file for the Sensortag TI HDC1000 sensor
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#ifndef HDC_1000_SENSOR_H
|
#ifndef HDC_1000_SENSOR_H
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Driver for the Sensortag-CC26XX Invensense MPU9250 motion processing unit
|
* Driver for the Sensortag Invensense MPU9250 motion processing unit
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#include "contiki-conf.h"
|
#include "contiki-conf.h"
|
||||||
|
|
|
@ -62,7 +62,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Header file for the Sensortag-CC26XX Invensense MPU9250 motion processing unit
|
* Header file for the Sensortag Invensense MPU9250 motion processing unit
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#ifndef MPU_9250_SENSOR_H_
|
#ifndef MPU_9250_SENSOR_H_
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Driver for the Sensortag-CC26xx Opt3001 light sensor
|
* Driver for the Sensortag Opt3001 light sensor
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#include "contiki-conf.h"
|
#include "contiki-conf.h"
|
||||||
|
|
|
@ -53,7 +53,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Header file for the Sensortag-CC26xx Opt3001 light sensor
|
* Header file for the Sensortag Opt3001 light sensor
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#ifndef OPT_3001_SENSOR_H_
|
#ifndef OPT_3001_SENSOR_H_
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Driver for the Sensortag-CC26XX Reed Relay
|
* Driver for the Sensortag Reed Relay
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#include "contiki.h"
|
#include "contiki.h"
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Header file for the Sensortag-CC26XX Reed Relay
|
* Header file for the Sensortag Reed Relay
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#ifndef REED_RELAY_H
|
#ifndef REED_RELAY_H
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Header file for the Sensortag-CC26xx Common sensor utilities
|
* Header file for the Sensortag Common sensor utilities
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#ifndef SENSOR_H
|
#ifndef SENSOR_H
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Generic module controlling sensors on CC26XX Sensortag
|
* Generic module controlling sensors on Sensortags
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#include "contiki.h"
|
#include "contiki.h"
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Driver for the Sensortag-CC26xx TI TMP007 infrared thermophile sensor
|
* Driver for the Sensortag TI TMP007 infrared thermophile sensor
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#include "contiki-conf.h"
|
#include "contiki-conf.h"
|
||||||
|
|
|
@ -56,7 +56,7 @@
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \file
|
* \file
|
||||||
* Header file for the Sensortag-CC26xx TI TMP007 infrared thermophile sensor
|
* Header file for the Sensortag TI TMP007 infrared thermophile sensor
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#ifndef TMP_007_SENSOR_H_
|
#ifndef TMP_007_SENSOR_H_
|
||||||
|
|
|
@ -9,9 +9,11 @@ ipv6/multicast/ev-aducrf101mkxz \
|
||||||
cc26xx/cc26xx-web-demo/srf06-cc26xx \
|
cc26xx/cc26xx-web-demo/srf06-cc26xx \
|
||||||
cc26xx/very-sleepy-demo/srf06-cc26xx:BOARD=sensortag/cc2650 \
|
cc26xx/very-sleepy-demo/srf06-cc26xx:BOARD=sensortag/cc2650 \
|
||||||
cc26xx/cc26xx-web-demo/srf06-cc26xx:BOARD=sensortag/cc2650 \
|
cc26xx/cc26xx-web-demo/srf06-cc26xx:BOARD=sensortag/cc2650 \
|
||||||
|
cc26xx/cc26xx-web-demo/srf06-cc26xx:BOARD=sensortag/cc1350 \
|
||||||
cc26xx/cc26xx-web-demo/srf06-cc26xx:BOARD=srf06/cc13xx \
|
cc26xx/cc26xx-web-demo/srf06-cc26xx:BOARD=srf06/cc13xx \
|
||||||
cc26xx/cc26xx-web-demo/srf06-cc26xx:BOARD=launchpad/cc2650 \
|
cc26xx/cc26xx-web-demo/srf06-cc26xx:BOARD=launchpad/cc2650 \
|
||||||
cc26xx/cc26xx-web-demo/srf06-cc26xx:BOARD=launchpad/cc1310 \
|
cc26xx/cc26xx-web-demo/srf06-cc26xx:BOARD=launchpad/cc1310 \
|
||||||
|
cc26xx/cc26xx-web-demo/srf06-cc26xx:BOARD=launchpad/cc1350 \
|
||||||
cc26xx/very-sleepy-demo/srf06-cc26xx \
|
cc26xx/very-sleepy-demo/srf06-cc26xx \
|
||||||
hello-world/cc2538dk \
|
hello-world/cc2538dk \
|
||||||
ipv6/rpl-border-router/cc2538dk \
|
ipv6/rpl-border-router/cc2538dk \
|
||||||
|
|
Loading…
Reference in a new issue