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) |
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 - PB7Fuses/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: 0xfeBootloader:
Start at byte=0x1e000, address=0xf000, size = 4096 instructions/ 8192 bytes| #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) |
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 | ( | ) |
do{\ EIMSK |= _BV(INT6);\ set_sleep_mode(SLEEP_MODE_PWR_DOWN);\ sleep_mode();\ EIMSK &= ~_BV(INT6);\ } while(0)
| #define TIMER_INIT | ( | ) |
do{ \ TCCR1B |= (_BV(CS10));\ TIMSK1 |= _BV(TOIE1); \ }while(0)
1.7.1