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_airdmx.h
| AirDMX boards for wireless DMX control.
file | board_airdmx.h
| AirDMX boards for wireless DMX control.
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_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_midgee.h
| Definition of Midgee by IBDT.
file | board_muse231.h
| Definition of Multi Sensor by IBDT.
file | board_museII232.h
| Definition of MuseII.
file | board_museIIrfa.h
| MuseII RFA.
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_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_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_ANY2400 (1)
#define | BOARD_ANY2400ST (2)
#define | BOARD_ANY900 (3)
#define | BOARD_ANY900ST (4)
#define | BOARD_BAT (5)
#define | BOARD_BITBEAN (6)
#define | BOARD_CBB212 (7)
#define | BOARD_CBB230 (8)
#define | BOARD_CBB230B (9)
#define | BOARD_CBB231 (10)
#define | BOARD_CBB232 (11)
#define | BOARD_CBB233 (12)
#define | BOARD_DERFA1 (13)
#define | BOARD_DERFA2 (91)
#define | BOARD_DERFA2P (92)
#define | BOARD_DERFTORCBRFA1 (14)
#define | BOARD_DRACULA (15)
#define | BOARD_IBDT212 (16)
#define | BOARD_IBDT231 (17)
#define | BOARD_IBDT232 (18)
#define | BOARD_ICM230_11 (19)
#define | BOARD_ICM230_12A (20)
#define | BOARD_ICM230_12B (21)
#define | BOARD_ICM230_12C (22)
#define | BOARD_ICS230_11 (23)
#define | BOARD_ICS230_12 (24)
#define | BOARD_ICT230 (25)
#define | BOARD_IM240A (26)
#define | BOARD_IM240A_EVAL (27)
#define | BOARD_LAST (BOARD_RASPBEE)
#define | BOARD_LGEE231 (28)
#define | BOARD_LGEE231_V2 (29)
#define | BOARD_MIDGEE (30)
#define | BOARD_MNB900 (31)
#define | BOARD_MUSE231 (32)
#define | BOARD_MUSEII232 (33)
#define | BOARD_MUSEIIRFA (34)
#define | BOARD_NAME BOARD_NAME_<brd>
#define | BOARD_NAME_ <brd> "<brd>"
#define | BOARD_NONE (0)
#define | BOARD_PINOCCIO (35)
#define | BOARD_PSK212 (36)
#define | BOARD_PSK230 (37)
#define | BOARD_PSK230B (38)
#define | BOARD_PSK231 (39)
#define | BOARD_PSK232 (40)
#define | BOARD_PSK233 (41)
#define | BOARD_RADIOFARO (42)
#define | BOARD_RADIOFARO_V1 (43)
#define | BOARD_RASPBEE (86)
#define | BOARD_RAVRF230A (44)
#define | BOARD_RAVRF230B (45)
#define | BOARD_RBB128RFA1 (46)
#define | BOARD_RBB212 (47)
#define | BOARD_RBB230 (48)
#define | BOARD_RBB230B (49)
#define | BOARD_RBB231 (50)
#define | BOARD_RBB232 (51)
#define | BOARD_RBB233 (52)
#define | BOARD_RDK212 (53)
#define | BOARD_RDK230 (54)
#define | BOARD_RDK230B (55)
#define | BOARD_RDK231 (56)
#define | BOARD_RDK232 (57)
#define | BOARD_RDK233 (58)
#define | BOARD_ROSE231 (59)
#define | BOARD_RZUSB (60)
#define | BOARD_STB128RFA1 (61)
#define | BOARD_STB212 (62)
#define | BOARD_STB230 (63)
#define | BOARD_STB230B (64)
#define | BOARD_STB231 (65)
#define | BOARD_STB232 (66)
#define | BOARD_STB233 (67)
#define | BOARD_STB256RFR2 (85)
#define | BOARD_STKM16 (68)
#define | BOARD_STKM8 (69)
#define | BOARD_TINY230 (70)
#define | BOARD_TINY231 (71)
#define | BOARD_TYPE (<brd>)
#define | BOARD_WDBA1281 (72)
#define | BOARD_WPROG (73)
#define | BOARD_XXO (74)
#define | BOARD_ZGBH212 (75)
#define | BOARD_ZGBH230 (76)
#define | BOARD_ZGBH231 (77)
#define | BOARD_ZGBL212 (78)
#define | BOARD_ZGBL230 (79)
#define | BOARD_ZGBL231 (80)
#define | BOARD_ZGBT1281A2NOUART (81)
#define | BOARD_ZGBT1281A2UART0 (82)
#define | BOARD_ZGBT1281A2UART1 (83)
#define | BOARD_ZIGDUINO (84)
#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() {GICR... |= (TRX_IRQ);}
#define | EI_TRX_IRQ enable_all_trx_irqs
#define | HIF_DEFAULT_BAUDRATE (9600)
#define | HIF_IO_ENABLE() do{}while(0)
#define | HIF_TYPE (HIF_NONE)
#define | HIF_TYPE HIF_.
#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) /* default is 0xb1, but @2.9V 0xbf is better */

## 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));}

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)