Contiki 3.x
Modules | Files

Defines related to the SmartRF06EB. More...

Modules

 SmartRF06EB LED driver
 LED driver implementation for the TI SmartRF06EB + cc2538EM.
 
 SmartRF06EB Sensors
 Generic module controlling sensors on the SmartRF06EB.
 

Files

file  board.h
 Header file with definitions related to the I/O connections on the TI SmartRF06EB.
 

SmartRF LED configuration

LEDs on the SmartRF06 (EB and BB) are connected as follows:

  • LED1 (Red) -> PC0
  • LED2 (Yellow) -> PC1
  • LED3 (Green) -> PC2
  • LED4 (Orange) -> PC3

LED1 shares the same pin with the USB pullup

#define LEDS_YELLOW   2
 LED2 (Yellow) -> PC1.
 
#define LEDS_GREEN   4
 LED3 (Green) -> PC2.
 
#define LEDS_ORANGE   8
 LED4 (Orange) -> PC3.
 
#define LEDS_CONF_ALL   15
 
#define LEDS_RED   1
 LED1 (Red) -> PC0.
 
#define PLATFORM_HAS_LEDS   1
 

USB configuration

The USB pullup is driven by PC0 and is shared with LED1

#define USB_PULLUP_PORT   GPIO_C_NUM
 
#define USB_PULLUP_PIN   0
 

UART configuration

On the SmartRF06EB, the UART (XDS back channel) is connected to the following ports/pins

  • RX: PA0
  • TX: PA1
  • CTS: PB0 (Can only be used with UART1)
  • RTS: PD3 (Can only be used with UART1)

We configure the port to use UART0. To use UART1, replace UART0_* with UART1_* below.

#define UART0_RX_PORT   GPIO_A_NUM
 
#define UART0_RX_PIN   0
 
#define UART0_TX_PORT   GPIO_A_NUM
 
#define UART0_TX_PIN   1
 
#define UART1_CTS_PORT   GPIO_B_NUM
 
#define UART1_CTS_PIN   0
 
#define UART1_RTS_PORT   GPIO_D_NUM
 
#define UART1_RTS_PIN   3
 

SmartRF Button configuration

Buttons on the SmartRF06 are connected as follows:

  • BUTTON_SELECT -> PA3
  • BUTTON_LEFT -> PC4
  • BUTTON_RIGHT -> PC5
  • BUTTON_UP -> PC6
  • BUTTON_DOWN -> PC7
#define BUTTON_SELECT_PORT   GPIO_A_NUM
 BUTTON_SELECT -> PA3.
 
#define BUTTON_SELECT_PIN   3
 
#define BUTTON_SELECT_VECTOR   NVIC_INT_GPIO_PORT_A
 
#define BUTTON_LEFT_PORT   GPIO_C_NUM
 BUTTON_LEFT -> PC4.
 
#define BUTTON_LEFT_PIN   4
 
#define BUTTON_LEFT_VECTOR   NVIC_INT_GPIO_PORT_C
 
#define BUTTON_RIGHT_PORT   GPIO_C_NUM
 BUTTON_RIGHT -> PC5.
 
#define BUTTON_RIGHT_PIN   5
 
#define BUTTON_RIGHT_VECTOR   NVIC_INT_GPIO_PORT_C
 
#define BUTTON_UP_PORT   GPIO_C_NUM
 BUTTON_UP -> PC6.
 
#define BUTTON_UP_PIN   6
 
#define BUTTON_UP_VECTOR   NVIC_INT_GPIO_PORT_C
 
#define BUTTON_DOWN_PORT   GPIO_C_NUM
 BUTTON_DOWN -> PC7.
 
#define BUTTON_DOWN_PIN   7
 
#define BUTTON_DOWN_VECTOR   NVIC_INT_GPIO_PORT_C
 
#define PLATFORM_HAS_BUTTON   1
 

ADC configuration

These values configure which CC2538 pins and ADC channels to use for the ADC inputs.

ADC inputs can only be on port A.

#define ADC_ALS_PWR_PORT   GPIO_A_NUM
 ALS power GPIO control port.
 
#define ADC_ALS_PWR_PIN   7
 ALS power GPIO control pin.
 
#define ADC_ALS_OUT_PIN   6
 ALS output ADC input pin on port A.
 

SPI configuration

These values configure which CC2538 pins to use for the SPI lines.

#define SPI_CLK_PORT   GPIO_A_NUM
 
#define SPI_CLK_PIN   2
 
#define SPI_MOSI_PORT   GPIO_A_NUM
 
#define SPI_MOSI_PIN   4
 
#define SPI_MISO_PORT   GPIO_A_NUM
 
#define SPI_MISO_PIN   5
 

Device string used on startup

#define BOARD_STRING   "TI SmartRF06 + cc2538EM"
 

Detailed Description

Defines related to the SmartRF06EB.

This file provides connectivity information on LEDs, Buttons, UART and other SmartRF peripherals

Notably, PC0 is used to drive LED1 as well as the USB D+ pullup. Therefore when USB is enabled, LED1 can not be driven by firmware.

This file can be used as the basis to configure other platforms using the cc2538 SoC.