00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00088 #if defined(psk230)
00089 # define BOARD_TYPE (PSK_230)
00090 # define BOARD_NAME_STK541 "psk230"
00091 # define RADIO_TYPE (RADIO_AT86RF230A)
00092 #elif defined(psk230b)
00093 # define BOARD_TYPE (PSK_230B)
00094 # define BOARD_NAME_STK541 "psk230b"
00095 # define RADIO_TYPE (RADIO_AT86RF230B)
00096 #elif defined(psk231)
00097 # define BOARD_TYPE (PSK_231)
00098 # define BOARD_NAME_STK541 "psk231"
00099 # define RADIO_TYPE (RADIO_AT86RF231)
00100 #elif defined(psk212)
00101 # define BOARD_TYPE (PSK_212)
00102 # define BOARD_NAME_STK541 "psk212"
00103 # define RADIO_TYPE (RADIO_AT86RF212)
00104 #endif
00105
00106 #ifndef BOARD_STK541_H
00107 #define BOARD_STK541_H
00108
00109 #define BOARD_NAME BOARD_NAME_STK541
00110
00111
00112 #ifndef MAX_FRAME_SIZE
00113 # define MAX_FRAME_SIZE (127)
00114 #endif
00115
00116 #ifndef DEFAULT_SPI_RATE
00117 # define DEFAULT_SPI_RATE (SPI_RATE_1_2)
00118 #endif
00119
00120
00121 #if BOARD_TYPE == PSK_230 || BOARD_TYPE == PSK_230B
00122 # include "base_rdk230.h"
00123 #else
00124 # include "base_rdk2xx.h"
00125 #endif
00126
00127
00128 #define LED_PORT PORTE
00129 #define LED_DDR DDRE
00130 #define LED_MASK (0x1c)
00131 #define LED_SHIFT (2)
00132 #define LEDS_INVERSE (1)
00133 #define LED_NUMBER (3)
00134
00135 #define PORT_KEY PORTE
00136 #define PIN_KEY PINE
00137 #define DDR_KEY DDRE
00138 #define MASK_KEY (0x20)
00139 #define SHIFT_KEY (5)
00140 #define INVERSE_KEYS (1)
00141 #define PULLUP_KEYS (1)
00142
00143
00144 #define HIF_TYPE (HIF_FT245)
00145 #define HIF_IO_ENABLE XRAM_ENABLE
00146
00147 #define USB_FIFO_AD 0xF000
00148 #define XRAM_ENABLE() XMCRA |= (1 << SRE); XMCRB = (1 << XMBK)
00149 #define HIF_NO_DATA (0x0100)
00150 #define FT245_DDR DDRE
00151 #define FT245_PIN PINE
00152 #define FT245_TXE _BV(6)
00153 #define FT245_RXF _BV(7)
00154 #define FT245_INIT() do { \
00155 FT245_DDR &= ~(FT245_TXE|FT245_RXF);\
00156 } while(0)
00157 #define TX_IS_READY (0)
00158 #define TX_IS_BLOCKED (FT245_TXE)
00159 #define RX_HAS_DATA (0)
00160 #define RX_HAS_NO_DATA (FT245_RXF)
00161 #define FT245_RX_DATA() ((FT245_PIN & FT245_RXF))
00162 #define FT245_TX_DATA() ((FT245_PIN & FT245_TXE))
00163
00164
00165 #define HWTMR_PRESCALE (1)
00166 #define HWTIMER_TICK ((1.0*HWTMR_PRESCALE)/F_CPU)
00167 #define HWTIMER_TICK_NB (0xFFFFUL+1)
00168 #define HWTIMER_REG (TCNT1)
00169 #define TIMER_TICK (HWTIMER_TICK_NB * HWTIMER_TICK)
00170 #define TIMER_POOL_SIZE (4)
00171
00173 #define TIMER_IRQ_vect TIMER1_OVF_vect
00174
00184 # define TIMER_INIT() \
00185 do{ \
00186 TCCR1B |= (_BV(CS10));\
00187 TIMSK1 |= _BV(TOIE1); \
00188 }while(0)
00189
00190
00191 # define DBG_PORT PORTD
00192 # define DBG_DDR DDRD
00193 # define DBG_PIN (1<<PD0)
00194
00195
00196 #ifndef TUNED_OSCCAL
00197 # define TUNED_OSCCAL (0xbf)
00198 #endif
00199 #endif