The OpenMote-CC2538 is based on the CC2538, the new platform by Texas Instruments based on an ARM Cortex-M3 core and a IEEE 802.15.4 radio.
More...
|
| file | board.c |
| | Board-initialisation for the OpenMote-CC2538 platform.
|
| |
| file | board.h |
| | This file provides connectivity information on LEDs, Buttons, UART and other OpenMote-CC2538 peripherals.
|
| |
| file | contiki-conf.h |
| | Configuration for the OpenMote-CC2538 platform.
|
| |
| file | contiki-main.c |
| | Main module for the OpenMote-CC2538 platform.
|
| |
|
|
void | board_init (void) |
| | Board specific iniatialisation.
|
| |
| int | main (void) |
| | Main routine for the OpenMote-CC2538 platforms. More...
|
| |
|
LEDs on the OpenMote-CC2538 are connected as follows:
- LED1 (Red) -> PC4
- LED2 (Yellow) -> PC6
- LED3 (Green) -> PC7
- LED4 (Orange) -> PC5
|
|
#define | LEDS_RED 16 |
| | LED1 (Red) -> PC4.
|
| |
|
#define | LEDS_YELLOW 64 |
| | LED2 (Yellow) -> PC6.
|
| |
|
#define | LEDS_GREEN 128 |
| | LED3 (Green) -> PC7.
|
| |
|
#define | LEDS_ORANGE 32 |
| | LED4 (Orange) -> PC5.
|
| |
|
#define | LEDS_CONF_ALL 240 |
| |
|
#define | PLATFORM_HAS_LEDS 1 |
| |
|
The USB pullup is driven by PC0
|
|
#define | USB_PULLUP_PORT GPIO_C_NUM |
| |
|
#define | USB_PULLUP_PIN 0 |
| |
|
On the OpenMote, the UART 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_RX_PORT GPIO_B_NUM |
| |
|
#define | UART1_RX_PIN 0 |
| |
|
#define | UART1_TX_PORT GPIO_D_NUM |
| |
|
#define | UART1_TX_PIN 3 |
| |
|
#define | UART1_CTS_PORT (-1) |
| |
|
#define | UART1_CTS_PIN (-1) |
| |
|
#define | UART1_RTS_PORT (-1) |
| |
|
#define | UART1_RTS_PIN (-1) |
| |
|
These values configure which CC2538 pins to use for the SPI (SSI0) lines.
The SSI0 is currently used to interface with the Ethernet driver (ENC28J60) on the OpenBase board.
|
|
#define | SPI_CLK_PORT GPIO_A_NUM |
| |
|
#define | SPI_CLK_PIN 2 |
| |
|
#define | SPI_MOSI_PORT GPIO_A_NUM |
| |
|
#define | SPI_MOSI_PIN 5 |
| |
|
#define | SPI_MISO_PORT GPIO_A_NUM |
| |
|
#define | SPI_MISO_PIN 4 |
| |
|
These values configure which CC2538 pins to use for the SPI (SSI1) lines.
The SSI1 is currently not used.
|
|
#define | SPI1_CLK_PORT GPIO_C_NUM |
| |
|
#define | SPI1_CLK_PIN 4 |
| |
|
#define | SPI1_TX_PORT GPIO_C_NUM |
| |
|
#define | SPI1_TX_PIN 5 |
| |
|
#define | SPI1_RX_PORT GPIO_C_NUM |
| |
|
#define | SPI1_RX_PIN 6 |
| |
|
These values configure which CC2538 pins to use for the I2C lines.
|
|
#define | I2C_SCL_PORT GPIO_B_NUM |
| |
|
#define | I2C_SCL_PIN 3 |
| |
|
#define | I2C_SDA_PORT GPIO_B_NUM |
| |
|
#define | I2C_SDA_PIN 4 |
| |
|
|
#define | BOARD_STRING "OpenMote-CC2538" |
| |
|
Those values are not meant to be modified by the user
|
|
typedef uint32_t | clock_time_t |
| |
|
typedef uint32_t | uip_stats_t |
| |
|
typedef uint32_t | rtimer_clock_t |
| |
|
#define | CLOCK_CONF_SECOND 128 |
| |
|
#define | CCIF |
| |
|
#define | CLIF |
| |
|
#define | RTIMER_CLOCK_DIFF(a, b) ((int32_t)((a) - (b))) |
| |
|
Those values are not meant to be modified by the user, except where stated otherwise
|
|
#define | CTRL_EP_SIZE 8 |
| |
|
#define | USB_EP1_SIZE 32 |
| |
|
#define | USB_EP2_SIZE 64 |
| |
|
#define | USB_EP3_SIZE 64 |
| |
|
#define | USB_ARCH_WRITE_NOTIFY 0 |
| |
|
#define | USB_ARCH_CONF_DMA 1 |
| | Change to Enable/Disable USB DMA.
|
| |
|
|
#define | NETSTACK_CONF_NETWORK sicslowpan_driver |
| |
|
#define | NETSTACK_CONF_MAC csma_driver |
| |
|
#define | NETSTACK_CONF_RDC contikimac_driver |
| |
|
#define | NULLRDC_802154_AUTOACK 1 |
| |
|
#define | NULLRDC_802154_AUTOACK_HW 1 |
| |
|
#define | CONTIKIMAC_CONF_WITH_PHASE_OPTIMIZATION 0 |
| |
|
#define | WITH_FAST_SLEEP 1 |
| |
|
#define | NETSTACK_CONF_RDC_CHANNEL_CHECK_RATE 8 |
| |
|
#define | NETSTACK_CONF_FRAMER framer_802154 |
| |
|
#define | NETSTACK_CONF_RADIO cc2538_rf_driver |
| |
|
Used to generate our RIME & IPv6 address
|
|
#define | IEEE_ADDR_CONF_HARDCODED 0 |
| | Location of the IEEE address 0 => Read from InfoPage, 1 => Use a hardcoded address, configured by IEEE_ADDR_CONF_ADDRESS.
|
| |
|
#define | IEEE_ADDR_CONF_ADDRESS { 0x00, 0x12, 0x4B, 0x00, 0x89, 0xAB, 0xCD, 0xEF } |
| | The hardcoded IEEE address to be used when IEEE_ADDR_CONF_HARDCODED is defined as 1.
|
| |
|
#define | IEEE_ADDR_CONF_USE_SECONDARY_LOCATION 0 |
| | Location of the IEEE address in the InfoPage when IEEE_ADDR_CONF_HARDCODED is defined as 0 0 => Use the primary address location 1 => Use the secondary address location.
|
| |
|
|
#define | LINKADDR_CONF_SIZE 8 |
| |
|
#define | UIP_CONF_LL_802154 1 |
| |
|
#define | UIP_CONF_LLH_LEN 0 |
| |
|
#define | UIP_CONF_NETIF_MAX_ADDRESSES 3 |
| |
|
#define | UIP_CONF_TCP 1 |
| |
|
#define | UIP_CONF_TCP_MSS 64 |
| |
|
#define | UIP_CONF_UDP 1 |
| |
|
#define | UIP_CONF_UDP_CHECKSUMS 1 |
| |
|
#define | UIP_CONF_ICMP6 1 |
| |
|
#define | UIP_CONF_ROUTER 1 |
| |
|
#define | UIP_CONF_ND6_SEND_RA 0 |
| |
|
#define | UIP_CONF_IP_FORWARD 0 |
| |
|
#define | RPL_CONF_STATS 0 |
| |
|
#define | RPL_CONF_OF rpl_mrhof |
| |
|
#define | UIP_CONF_ND6_REACHABLE_TIME 600000 |
| |
|
#define | UIP_CONF_ND6_RETRANS_TIMER 10000 |
| |
|
#define | NBR_TABLE_CONF_MAX_NEIGHBORS 20 |
| |
|
#define | UIP_CONF_MAX_ROUTES 20 |
| |
|
#define | UIP_CONF_BUFFER_SIZE 1300 |
| |
|
#define | UIP_CONF_IPV6_QUEUE_PKT 0 |
| |
|
#define | UIP_CONF_IPV6_CHECKS 1 |
| |
|
#define | UIP_CONF_IPV6_REASSEMBLY 0 |
| |
|
#define | UIP_CONF_MAX_LISTENPORTS 8 |
| |
|
#define | SICSLOWPAN_CONF_COMPRESSION SICSLOWPAN_COMPRESSION_HC06 |
| |
|
#define | SICSLOWPAN_CONF_COMPRESSION_THRESHOLD 63 |
| |
|
#define | SICSLOWPAN_CONF_FRAG 1 |
| |
|
#define | SICSLOWPAN_CONF_MAXAGE 8 |
| |
|
#define | SICSLOWPAN_CONF_MAX_ADDR_CONTEXTS 1 |
| |
|
#define | SICSLOWPAN_CONF_ADDR_CONTEXT_0 |
| |
|
#define | MAC_CONF_CHANNEL_CHECK_RATE 8 |
| |
|
#define | QUEUEBUF_CONF_NUM 8 |
| |
The OpenMote-CC2538 is based on the CC2538, the new platform by Texas Instruments based on an ARM Cortex-M3 core and a IEEE 802.15.4 radio.
| #define CC2538_CONF_QUIET 0 |
Define this as 1 to build a headless node.
The UART will not be initialised its clock will be gated, offering some energy savings. The USB will not be initialised either
Definition at line 254 of file contiki-conf.h.
| #define LPM_CONF_MAX_PM 1 |
Maximum PM.
The SoC will never drop to a Power Mode deeper than the one specified here. 0 for PM0, 1 for PM1 and 2 for PM2
Definition at line 383 of file contiki-conf.h.
Main routine for the OpenMote-CC2538 platforms.
This is main...
Definition at line 151 of file contiki-main.c.
References board_init(), button_sensor, clock_init(), crypto_disable(), crypto_init(), ctimer_init(), gpio_init(), i2c_init(), INTERRUPTS_ENABLE, ioc_init(), linkaddr_node_addr, lpm_enter, lpm_init(), NULL, nvic_init(), process_init(), process_run(), process_start(), random_init(), rtimer_init(), SERIAL_LINE_CONF_UART, serial_line_input_byte(), soc_print_info(), sys_ctrl_init(), uart_init(), uart_set_input(), udma_init(), uip_lladdr, usb_serial_init(), usb_serial_set_input(), watchdog_init(), watchdog_periodic(), and watchdog_start().