Defines

# board_any.h File Reference

ANY 900/2400 Module with ATmega1281 and AT86RF230/AT86RF212. More...

Go to the source code of this file.

## Defines
#define | DDR_KEY DDRE
#define | HIF_TYPE (HIF_UART_1)
#define | HWTIMER_REG (TCNT1)
#define | HWTIMER_TICK ((1.0*HWTMR_PRESCALE)/F_CPU)
#define | HWTIMER_TICK_NB (0xFFFFUL+1)
#define | HWTMR_PRESCALE (1)
#define | INVERSE_KEYS (1)
#define | LED_DDR DDRB
#define | LED_MASK 0xe0
#define | LED_NUMBER (3)
#define | LED_PORT PORTB
#define | LED_SHIFT (5)
#define | LEDS_INVERSE (0)
#define | MASK_KEY (0xc0)
#define | PIN_KEY PINE
#define | PORT_KEY PORTE
#define | PULLUP_KEYS (1)
#define | SHIFT_KEY (6)
#define | SLEEP_ON_KEY()
#define | SLEEP_ON_KEY_INIT() do{}while(0)
#define | SLEEP_ON_KEY_vect INT6_vect
#define | TIMER_INIT()
#define | TIMER_IRQ_vect TIMER1_OVF_vect
#define | TIMER_POOL_SIZE (4)
#define | TIMER_TICK (HWTIMER_TICK_NB * HWTIMER_TICK)

## Detailed Description

ANY 900/2400 Module with ATmega1281 and AT86RF230/AT86RF212.

See also http://an-solutions.de/products

These hardware uses ZigBit/Meshbean wiring, so they are quasi comaptible.

http://www.mikrocontroller.net/articles/Meshnetics_Zigbee

The wiring of the radio and the ATmega is shown below:

         AVR      RF230
         ---      -----
         PB4  -->  SLPTR
         PE5  <--  IRQ (INT5)
         PA7  -->  RSTN
         PB0  -->  SS
         PB2  -->  MOSI
         PB3  <--  MISO
         PB1  -->  SCK
         XTAL1 <--  MCLK

                Meshbit - AVR
         Key1  - IRQ6   - PE6 (INT6)
         Key2  - IRQ7   - PE7 (INT7)

         SW1   - GPIO3  - PG0
         SW2   - GPIO4  - PG1
         SW3   - GPIO5  - PG1

         LED1  - GPIO0  - PB5
         LED2  - GPIO1  - PB6
         LED3  - GPIO2  - PB7

    Fuses/Locks:
        uracoli settings:
         LF: 0xe2 - 8MHz internal RC Osc.
         HF: 0x11 - without boot loader
         HF: 0x10 - with boot loader
         EF: 0xff
         LOCK: 0xef - protection of boot section

        stick original fuse settings
         LF: 0xe2
         HF: 0x15
         EF: 0xfe

        brick original fuse settings
         LF: 0xe2
         HF: 0x15
         EF: 0xfe

    Bootloader:
        Start at byte=0x1e000, address=0xf000, size = 4096 instructions/ 8192 bytes

- Host Interface: HIF_TYPE

Build Options

- any900 : ...
- any2400 : ...
- any900st : ...
- any2400st : ...

## Define Documentation

#define HIF_TYPE (HIF_UART_1)

On the Meshbean board UART1 is routed either via a FT232BM USB converter to connector CN1 or via a RS232 level shifter to header P2. The selection is done with jumper J3.

#define HWTMR_PRESCALE (1)

- CS1[2:0] = 1 : Prescaler = 1
- WGM1[3:0] = 0 : Mode = 4 : CTC operation

Timer is clocked at F_CPU, and TIMER_IRQ_vect is called every 65535 ticks.

#define LED_DDR DDRB

DDR register for LED

#define LED_MASK 0xe0

MASK value for LED

#define LED_NUMBER (3)

number of LEDs for this board

#define LED_PORT PORTB

PORT register for LED

#define LED_SHIFT (5)

SHIFT value for LED

#define LEDS_INVERSE (0)

a 1 at the PORT means the LED is off

#define SLEEP_ON_KEY | ( |  | ) |

Value:

    do{\
                EIMSK |= _BV(INT6);\
                set_sleep_mode(SLEEP_MODE_PWR_DOWN);\
                sleep_mode();\
                EIMSK &= ~_BV(INT6);\
            } while(0)

#define TIMER_INIT | ( |  | ) |

Value:

    do{ \
            TCCR1B |= (_BV(CS10));\
            TIMSK1 |= _BV(TOIE1); \
        }while(0)