Contiki-NG
Loading...
Searching...
No Matches

Header file with definitions related to the I/O connections on the Zolertia's Firefly platform, Zoul-based. More...

#include "dev/gpio.h"
#include "dev/nvic.h"

Go to the source code of this file.

Macros

Firefly LED configuration

LEDs on the Firefly are connected as follows:

  • LED1 (Red) -> PD5
  • LED2 (Green) -> PD4
  • LED3 (Blue) -> PD3

LED1 pin exposed in JP2 connector LED2 pin exposed in JP2 connector LED3 pin exposed in JP2 connector

UART configuration

On the Firefly, the UARTs are connected to the following ports/pins:

  • UART0:
    • RX: PA0, connected to CP2104 serial-to-usb converter TX pin
    • TX: PA1, connected to CP2104 serial-to-usb converter RX pin
  • UART1:
    • RX: PC1
    • TX: PC0
    • CTS: not used, one suggestion however is to use PD1
    • RTS: not used, one suggestion however is to use PD0

We configure the port to use UART0 and UART1, CTS/RTS only for UART1, both without a HW pull-up resistor. UART0 is not exposed anywhere, UART1 pins are exposed over the JP3 connector.

#define UART1_CTS_PORT   (-1)
 GPIO_D_NUM.
 
#define UART1_CTS_PIN   (-1)
 1
 
#define UART1_RTS_PORT   (-1)
 GPIO_D_NUM.
 
#define UART1_RTS_PIN   (-1)
 0
 
ADC configuration

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

There pins are suggested as they can be changed, but note that only pins from PA can be configured as ADC.

  • ADC1: up to 3.3V.
  • ADC2: up to 3.3V.
  • ADC3: up to 3.3V.
  • ADC4: up to 3.3V.
  • ADC5: up to 3.3V.
  • ADC6: up to 3.3V, shared with user button.

Only ADC1 and ADC3 are enabled as default.

The internal ADC reference is 1190mV, use either a voltage divider as input, or a different voltage reference, like AVDD5 or other externally (AIN7 or AIN6).

#define ADC_SENSORS_PORT   GPIO_A_NUM
 ADC GPIO control port.
 
#define ADC_SENSORS_ADC1_PIN   5
 ADC1 to PA5

 
#define ADC_SENSORS_ADC2_PIN   4
 ADC2 to PA4

 
#define ADC_SENSORS_ADC3_PIN   2
 ADC3 to PA2

 
#define ADC_SENSORS_ADC4_PIN   6
 ADC4 to PA6

 
#define ADC_SENSORS_ADC5_PIN   7
 ADC5 to PA7

 
#define ADC_SENSORS_ADC6_PIN   (-1)
 ADC6 not declared

 
#define ADC_SENSORS_MAX   5
 Maximum sensors

 
Firefly Button configuration

Buttons on the Firefly are connected as follows:

  • BUTTON_USER -> PA3, S1 user button, shared with bootloader
  • BUTTON_RESET -> RESET_N line
#define BUTTON_USER_PORT   GPIO_A_NUM
 BUTTON_USER -> PA3.
 
SPI (SSI0) configuration

These values configure which CC2538 pins to use for the SPI (SSI0) lines, reserved exclusively for the CC1200 RF transceiver.

These pins are exposed to the JP3 connector. To disable the CC1200 and use these pins, just remove the R10 resistor (0 ohm), which powers both the CC2538 and CC1200 to only power the SoC. TX -> MOSI, RX -> MISO

SPI (SSI1) configuration

These values configure which CC2538 pins to use for the SPI (SSI1) lines, exposed over JP3 connector.

TX -> MOSI, RX -> MISO

I2C configuration

These values configure which CC2538 pins to use for the I2C lines, exposed over JP3 connector.

Dual RF interface support

Enables support for dual band operation (both CC1200 and 2.4GHz enabled).

Unlike the RE-Mote, the Firefly doesn't have a RF switch, so both interfaces should be always enabled if the R10 resistor is mounted. If only using the 2.4GHz RF interface, the resistor can be removed to power-off the CC1200.

CC1200 configuration

These values configure the required pins to drive the CC1200 None of the following pins are exposed to any connector, kept for internal use only

Device string used on startup

Detailed Description

Header file with definitions related to the I/O connections on the Zolertia's Firefly platform, Zoul-based.

Note
Do not include this file directly. It gets included by contiki-conf after all relevant directives have been set.

Definition in file board.h.