Data Structures | Files | Defines

# Board Definitions

List of supported Boards. More...

## Data Structures
struct | node_config_t
## Files
file | board.h

| Interface for Board Definitions.
file | board_any.h

| ANY 900/2400 Module with ATmega1281 and AT86RF230/AT86RF212.
file | board_any.h

| ANY 900/2400 Module with ATmega1281 and AT86RF230/AT86RF212.
file | board_cbb2xx.h

| Atmel REB-CBB with Radio Extender Board (REB) attached Any type of REB is supported.
file | board_derfa.h

| Dresden Elektronik Radio Module deRFmega128-22A001.
file | board_derfa.h

| Dresden Elektronik Radio Module deRFmega128-22A001.
file | board_derfa.h

| Dresden Elektronik Radio Module deRFmega128-22A001.
file | board_derfa.h

| Dresden Elektronik Radio Module deRFmega128-22A001.
file | board_dummy.h

| Dummy board definition for (board type) with (CPU type).
file | board_ibdt.h

| IBDT Ranging Hardware with ATmega644 + AT86RF231.
file | board_ibdt.h

| IBDT Ranging Hardware with ATmega644 + AT86RF231.
file | board_ibdt.h

| IBDT Ranging Hardware with ATmega644 + AT86RF231.
file | board_ict230.h

| Definition 2.4G Module from In-Circquit with AT86RF230 and Atmega1281 (V1.0).
file | board_ict_11.h

| Definition 2.4G Module from In-Circquit with AT86RF230B and Atmega1281 (V1.1).
file | board_ict_11.h

| Definition 2.4G Module from In-Circquit with AT86RF230B and Atmega1281 (V1.1).
file | board_ict_11.h

| Definition 2.4G Module from In-Circquit with AT86RF230B and Atmega1281 (V1.1).
file | board_lgee.h

| Definition of Accelerometer Sensor Board by Daniel Thiele.
file | board_lgee.h

| Definition of Accelerometer Sensor Board by Daniel Thiele.
file | board_muse231.h

| Definition of Multi Sensor by IBDT.
file | board_ravrf.h

| Definition of Atmel Raven Development Kit, AT86RF230 Radio Adapter with Atmega1284.
file | board_rbb.h

| Definition of Radio Controller Breakout Board (light and normal) from Dresden Elektronik.
file | board_rbbrfa1.h

| Definition of Radio Controller Breakout Board (light and normal) from Dresden Elektronik, ATmega128RFA1 version.
file | board_rdk230.h

| Atmel Radio Development Kit, AT86RF230 Radio Adapter with Atmega1281.
file | board_rose231.h

| Definition of Rocket Sensor by IBDT.
file | board_rzusb.h

| Atmel Raven Development Kit, USB Stick, AT86RF230 Radio Adapter with Atmega1287.
file | board_stb.h

| This board is describes the Sensor Terminal Board from Dresden Electronic. It is a carrier board for the RCB family.
file | board_stbrfa1.h

| This board is describes the Sensor Terminal Board from Dresden Electronic. It is a carrier board for the RCB family.
file | board_stk541.h

| This board is describes the STK541 that comes with Atmels ATAVRRZ541 Packet Sniffer Kit.
file | board_stkm16.h

| AT86RF230 adapter board wired to STK500 with Atmega16(L).
file | board_stkm8.h

| AT86RF230 adapter board wired to STK500 with Atmega8(L)/Atmega88(L).
file | board_tiny230.h

| Minimalistic Board with ATtiny84 / AT86RF230 by DL8DTL.
file | board_wdba1281.h

| Meshnetics Meshbean Development Board WDB-A1281-(P1,A1,E2,Amp) with ATmega1281 and AT86RF230.
file | board_wdba1281.h

| Meshnetics Meshbean Development Board WDB-A1281-(P1,A1,E2,Amp) with ATmega1281 and AT86RF230.
file | board_wimod.h

| IMST GmbH WIMOD w/ mega328 and AT86RF230B.
file | board_wimod.h

| IMST GmbH WIMOD w/ mega328 and AT86RF230B.
file | board_zgbl.h

| ATZGB ZGB-LINK-{230,231,212} modules.
file | board_zgbl.h

| ATZGB ZGB-LINK-{230,231,212} modules.
file | board_zgbta2.h

| Meshnetics Zigbit ATmega1281-A2 with ATmega1281 and AT86RF230.
file | board_zgbta2.h

| Meshnetics Zigbit ATmega1281-A2 with ATmega1281 and AT86RF230.
file | board_zgbta2.h

| Meshnetics Zigbit ATmega1281-A2 with ATmega1281 and AT86RF230.
## Defines
#define | BOARD_NAME BOARD_NAME_<brd>
#define | BOARD_NAME_ <brd> "<brd>"
#define | BOARD_TYPE (<brd>)
#define | DBG_CLR() do{}while(0)
#define | DBG_INIT() do{}while(0)
#define | DBG_SET() do{}while(0)
#define | DBG_TOGGLE() do{}while(0)
#define | DDR_KEY DDR.
#define | DDR_SPI (DDR...)
#define | DDR_TRX_RESET DDR...
#define | DDR_TRX_SLPTR DDR...
#define | DEFAULT_SPI_RATE (SPI_RATE_1_2)
#define | DELAY_MS(x) _delay_ms(x)
| Macro for delays with ms resolution.
#define | DELAY_US(x) _delay_ms(x/1000.0)
| Macro for delays with us resolution.
#define | DI_TRX_IRQ() {GICR... &= (~(TRX_IRQ));}
#define | DI_TRX_IRQ disable_all_trx_irqs
#define | EI_TRX_IRQ enable_all_trx_irqs
#define | EI_TRX_IRQ() {GICR... |= (TRX_IRQ);}
#define | HIF_IO_ENABLE() do{}while(0)
#define | HIF_TYPE HIF_.
#define | HIF_TYPE (HIF_NONE)
#define | HIF_TYPE_IS_UART ((HIF_TYPE >= HIF_UART_0) && ( HIF_TYPE <= HIF_UART_1))
#define | HIF_TYPE_IS_USB ((HIF_TYPE == HIF_FT245) || (HIF_TYPE == HIF_AT90USB))
#define | HWTIMER_REG (TCNT1)
#define | HWTIMER_TICK ((1.0*HWTMR_PRESCALE)/F_CPU)
#define | HWTIMER_TICK_NB (0xFFFFUL)
#define | HWTMR_PRESCALE (1)
#define | INVERSE_KEYS (.)
#define | LED_DDR DDR.
#define | LED_MASK (0x..)
#define | LED_NUMBER (.)
#define | LED_PORT PORT.
#define | LED_SHIFT (.)
#define | LEDS_INVERSE (.)
#define | MASK_KEY (0x..)
#define | MASK_TRX_RESET (_BV(...))
#define | MASK_TRX_SLPTR (_BV(PB...))
#define | MAX_FRAME_SIZE (127)
#define | NO_HIF (1)
#define | NO_KEYS (1)
#define | NO_LEDS (1)
#define | NO_TIMER (1)
#define | PIN_KEY PIN.
#define | PORT_KEY PORT.
#define | PORT_SPI (PORT...)
#define | PORT_TRX_RESET PORT...
#define | PORT_TRX_SLPTR PORT...
#define | PULLUP_KEYS (0)
#define | PULLUP_KEYS (.)
#define | RADIO_TYPE (RADIO_AT86RF230)
#define | SHIFT_KEY (.)
#define | SLEEP_ON_IDLE()
#define | SPI_DATA_REG SPDR...
#define | SPI_MISO _BV(P...)
#define | SPI_MOSI _BV(P...)
#define | SPI_SCK _BV(P...)
#define | SPI_SELN_HIGH() PORT_SPI |= SPI_SS; SREG = sreg
#define | SPI_SELN_LOW() uint8_t sreg = SREG; cli(); PORT_SPI &=~SPI_SS
#define | SPI_SS _BV(P...)
#define | SPI_TYPE SPI_TYPE_SPI
#define | SPI_WAITFOR() do { while((SPSR & _BV(SPIF)) == 0);} while(0)
#define | TIMER_INIT() do{}while(0)
#define | TIMER_IRQ_vect ...
#define | TIMER_POOL_SIZE (0)
#define | TIMER_TICK (HWTIMER_TICK * HWTIMER_TICK_NB)
#define | TRX_IRQ _BV(INT...)
#define | TRX_IRQ_INIT()
#define | TRX_IRQ_vect INT..._vect
#define | TRX_RESET_HIGH() PORT_TRX_RESET |= MASK_TRX_RESET
#define | TRX_RESET_INIT() DDR_TRX_RESET |= MASK_TRX_RESET
#define | TRX_RESET_LOW() PORT_TRX_RESET &= ~MASK_TRX_RESET
#define | TRX_SLPTR_HIGH() PORT_TRX_SLPTR |= MASK_TRX_SLPTR
#define | TRX_SLPTR_INIT() DDR_TRX_SLPTR |= MASK_TRX_SLPTR
#define | TRX_SLPTR_LOW() PORT_TRX_SLPTR &= ~MASK_TRX_SLPTR
#define | TRX_TSTAMP_REG ...
#define | TUNED_OSCCAL (0xbf)

## Detailed Description

List of supported Boards.

A detailed list of the supported boards can be found in section Boards and Modules

## Define Documentation

#define BOARD_NAME BOARD_NAME_<brd>

current board name

#define BOARD_NAME_ <brd> "<brd>"

ID String for this hardware

#define BOARD_TYPE (<brd>)

current board type (see const.h)

#define DDR_KEY DDR.

DDR register for keys

#define DDR_SPI (DDR...)

DDR register for SPI port

#define DDR_TRX_RESET DDR...

DDR register for RESET pin

#define DDR_TRX_SLPTR DDR...

PORT register for SLP_TR pin

#define DELAY_MS | ( |  | x | ) | _delay_ms(x)

Macro for delays with ms resolution.

#define DELAY_US | ( |  | x | ) | _delay_ms(x/1000.0)

Macro for delays with us resolution.

The avr-libc internal _delay_us() function allows delays up to 255us. Since the radio needs some delays, which are above this value, _delay_ms is used. As long as the argument for the DELAY_US macro is a compile time constant, no large overhead is produced, because the compiler performs the division.

#define DI_TRX_IRQ | ( |  | ) | {GICR... &= (~(TRX_IRQ));}

rising edge triggers INT... disable TRX interrupt

#define EI_TRX_IRQ | ( |  | ) | {GICR... |= (TRX_IRQ);}

enable TRX interrupt

#define HIF_IO_ENABLE | ( |  | ) | do{}while(0)

Thiis macro is used to enable the interface circuit of the HIF

#define HIF_TYPE HIF_.

Type of the host interface.

#define HWTIMER_REG (TCNT1)

name of the register where the clock ticks can be read

#define HWTIMER_TICK ((1.0*HWTMR_PRESCALE)/F_CPU)

hardware timer clock period in us (usually: prescaler / F_CPU)

#define HWTIMER_TICK_NB (0xFFFFUL)

number of hardware timer ticks, when IRQ routine is called

#define HWTMR_PRESCALE (1)

hardware timer prescale factor

#define INVERSE_KEYS (.)

if 1, low level at port means that KEY is pressed

#define LED_DDR DDR.

DDR register for LEDs

#define LED_MASK (0x..)

MASK value for LEDs (msb aligned)

#define LED_NUMBER (.)

number of LEDs for this board

#define LED_PORT PORT.

PORT register for LEDs

#define LED_SHIFT (.)

SHIFT value for LEDs

#define LEDS_INVERSE (.)

= 1, if low level at port means LED on

#define MASK_KEY (0x..)

MASK value for keys (msb aligned)

#define MASK_TRX_RESET (_BV(...))

PIN mask for RESET pin

#define MASK_TRX_SLPTR (_BV(PB...))

PIN mask for SLP_TR pin

#define MAX_FRAME_SIZE (127)

maximum allowed frame size

#define NO_HIF (1)

Macro is defined, if there is no HIF definition in apropriate board*.h

#define NO_KEYS (1)

if defined, no KEYS are connected

#define NO_LEDS (1)

if defined, no LEDs are connected

#define PIN_KEY PIN.

PIN register for keys

#define PORT_KEY PORT.

PORT register for keys

#define PORT_SPI (PORT...)

PORT register for SPI port

#define PORT_TRX_RESET PORT...

PORT register for RESET pin

#define PORT_TRX_SLPTR PORT...

DDR register for SLP_TR pin

#define PULLUP_KEYS (0)

The internal pull-up resistors in the MCU are used, if this macro is defined to 1 in the board definition file

#define PULLUP_KEYS (.)

if 1, port bits are set to enable internal pullup resistors of the MCU

#define RADIO_TYPE (RADIO_AT86RF230)

used radiio (see const.h)

#define SHIFT_KEY (.)

SHIFT value for keys

#define SLEEP_ON_IDLE | ( |  | ) |

Value:

    do{\
                set_sleep_mode(SLEEP_MODE_IDLE);\
                sleep_mode();\
            }while(0);

Set MCU into idle mode.

#define SPI_DATA_REG SPDR...

abstraction for SPI data register

#define SPI_MISO _BV(P...)

PIN mask for MISO pin

#define SPI_MOSI _BV(P...)

PIN mask for MOSI pin

#define SPI_SCK _BV(P...)

PIN mask for SCK pin

#define SPI_SELN_HIGH | ( |  | ) | PORT_SPI |= SPI_SS; SREG = sreg

set SS line to high level

#define SPI_SELN_LOW | ( |  | ) | uint8_t sreg = SREG; cli(); PORT_SPI &=~SPI_SS

set SS line to low level

#define SPI_SS _BV(P...)

PIN mask for SS pin

#define SPI_WAITFOR | ( |  | ) | do { while((SPSR & _BV(SPIF)) == 0);} while(0)

wait until SPI transfer is ready

#define TIMER_INIT | ( |  | ) | do{}while(0)

macro that initializes the hardware timer

#define TIMER_IRQ_vect ...

symbolic name of the timer interrupt routine that is called

#define TIMER_POOL_SIZE (0)

number of software timers running at a time

#define TIMER_TICK (HWTIMER_TICK * HWTIMER_TICK_NB)

period in us, when the timer interrupt routine is called

#define TRX_IRQ _BV(INT...)

interrupt mask for GICR

#define TRX_IRQ_INIT | ( |  | ) |

Value:

    do{\
                                MCUCSR  |= _BV(ISC...);\
                              } while(0)

configuration of interrupt handling

#define TRX_IRQ_vect INT..._vect

interrupt vector name

#define TRX_RESET_HIGH | ( |  | ) | PORT_TRX_RESET |= MASK_TRX_RESET

set RESET pin to high level

#define TRX_RESET_INIT | ( |  | ) | DDR_TRX_RESET |= MASK_TRX_RESET

RESET pin IO initialization

#define TRX_RESET_LOW | ( |  | ) | PORT_TRX_RESET &= ~MASK_TRX_RESET

set RESET pin to low level

#define TRX_SLPTR_HIGH | ( |  | ) | PORT_TRX_SLPTR |= MASK_TRX_SLPTR

set SLEEP_TR pin to high level

#define TRX_SLPTR_INIT | ( |  | ) | DDR_TRX_SLPTR |= MASK_TRX_SLPTR

SLEEP_TR pin IO initialization

#define TRX_SLPTR_LOW | ( |  | ) | PORT_TRX_SLPTR &= ~MASK_TRX_SLPTR

set SLEEP_TR pin to low level

#define TRX_TSTAMP_REG ...

timestamp register for RX_START event (either TCNTx or ICRx)