added missing modules in Makefile.avr-rcb, added netstack init functions (to start the at86rf230, modified macros to increase the buffersize)
This commit is contained in:
parent
7841eface3
commit
d575f1a6ce
BIN
examples/rime/example-abc.avr-rcb
Executable file
BIN
examples/rime/example-abc.avr-rcb
Executable file
Binary file not shown.
|
@ -5,10 +5,14 @@ CONTIKI_TARGET_MAIN = ${CONTIKI_CORE}.o
|
||||||
CONTIKI_TARGET_SOURCEFILES += rs232.c cfs-eeprom.c eeprom.c random.c \
|
CONTIKI_TARGET_SOURCEFILES += rs232.c cfs-eeprom.c eeprom.c random.c \
|
||||||
mmem.c contiki-rcb-main.c
|
mmem.c contiki-rcb-main.c
|
||||||
|
|
||||||
|
MODULES += core/net core/net/mac core/net/mac/sicslowmac core/net/mac/contikimac \
|
||||||
|
core/net/mac/cxmac core/net/rime core/net/ipv4 core/net/ip \
|
||||||
|
core/net/ipv6 core/net/rpl core/net/llsec
|
||||||
|
|
||||||
CONTIKIAVR=$(CONTIKI)/cpu/avr
|
CONTIKIAVR=$(CONTIKI)/cpu/avr
|
||||||
CONTIKIBOARD=.
|
CONTIKIBOARD=.
|
||||||
|
|
||||||
CONTIKI_PLAT_DEFS = -DF_CPU=8000000UL -DAUTO_CRC_PADDING=2
|
CONTIKI_PLAT_DEFS = -DF_CPU=8000000UL -DAUTO_CRC_PADDING=2 -DNETSTACK_CONF_WITH_RIME=1 -DNETSTACK_CONF_WITH_IPV6=1
|
||||||
|
|
||||||
MCU=atmega1281
|
MCU=atmega1281
|
||||||
AVRDUDE_PROGRAMMER=jtag2
|
AVRDUDE_PROGRAMMER=jtag2
|
||||||
|
|
|
@ -92,11 +92,24 @@ void clock_adjust_ticks(clock_time_t howmany);
|
||||||
#define CCIF
|
#define CCIF
|
||||||
#define CLIF
|
#define CLIF
|
||||||
|
|
||||||
//#define NETSTACK_CONF_WITH_IPV6 1 //Let makefile determine this so ipv4 hello-world will compile
|
|
||||||
|
|
||||||
#define LINKADDR_CONF_SIZE 8
|
#define LINKADDR_CONF_SIZE 8
|
||||||
#define PACKETBUF_CONF_HDR_SIZE 0
|
#define PACKETBUF_CONF_HDR_SIZE 48 /* Choose a buffersize != 0 for the messages which should be sended over the wireless interface */
|
||||||
|
|
||||||
|
/* Uncomment this lines to activate the specific drivers */
|
||||||
|
//#define NETSTACK_CONF_NETWORK rime_driver
|
||||||
|
//#define NETSTACK_CONF_MAC nullmac_driver
|
||||||
|
//#define NETSTACK_CONF_RDC sicslowmac_driver
|
||||||
|
//#define NETSTACK_CONF_FRAMER framer_802154 /* Framer for 802.15.4 Medium Access Control */
|
||||||
|
#define NETSTACK_CONF_RADIO rf230_driver /* Select the wireless driver, otherwise contiki would operate with the "nulldriver" which does nothing */
|
||||||
|
|
||||||
|
#define RF230_CONF_AUTOACK 1
|
||||||
|
#define CXMAC_CONF_ANNOUNCEMENTS 10
|
||||||
|
#define NETSTACK_CONF_RDC_CHANNEL_CHECK_RATE 8
|
||||||
|
|
||||||
|
/* 211 bytes per queue buffer. Burst mode will need 15 for a 1280 byte MTU */
|
||||||
|
#define QUEUEBUF_CONF_NUM 15
|
||||||
|
/* 54 bytes per queue ref buffer */
|
||||||
|
#define QUEUEBUF_CONF_REF_NUM 2
|
||||||
/* 0 for IPv6, or 1 for HC1, 2 for HC01 */
|
/* 0 for IPv6, or 1 for HC1, 2 for HC01 */
|
||||||
#define SICSLOWPAN_CONF_COMPRESSION_IPV6 0
|
#define SICSLOWPAN_CONF_COMPRESSION_IPV6 0
|
||||||
#define SICSLOWPAN_CONF_COMPRESSION_HC1 1
|
#define SICSLOWPAN_CONF_COMPRESSION_HC1 1
|
||||||
|
@ -124,18 +137,16 @@ void clock_adjust_ticks(clock_time_t howmany);
|
||||||
#define UIP_CONF_NETIF_MAX_ADDRESSES 3
|
#define UIP_CONF_NETIF_MAX_ADDRESSES 3
|
||||||
#define UIP_CONF_ND6_MAX_PREFIXES 3
|
#define UIP_CONF_ND6_MAX_PREFIXES 3
|
||||||
#define UIP_CONF_ND6_MAX_DEFROUTERS 2
|
#define UIP_CONF_ND6_MAX_DEFROUTERS 2
|
||||||
#if NETSTACK_CONF_WITH_IPV6 //tcpip.c error on ipv4 build if UIP_CONF_ICMP6 defined
|
#if NETSTACK_CONF_WITH_IPV6 //tcpip.c error on ipv4 build if UIP_CONF_ICMP6 defined
|
||||||
#define UIP_CONF_ICMP6 1
|
#define UIP_CONF_ICMP6 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define UIP_CONF_UDP 1
|
#define UIP_CONF_UDP 1
|
||||||
#define UIP_CONF_UDP_CHECKSUMS 1
|
#define UIP_CONF_UDP_CHECKSUMS 1
|
||||||
|
|
||||||
#define UIP_CONF_TCP 0
|
#define UIP_CONF_TCP 1
|
||||||
#define UIP_CONF_TCP_SPLIT 0
|
#define UIP_CONF_TCP_SPLIT 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* These names are deprecated, use C99 names. */
|
/* These names are deprecated, use C99 names. */
|
||||||
/*typedef unsigned char u8_t;
|
/*typedef unsigned char u8_t;
|
||||||
typedef unsigned short u16_t;
|
typedef unsigned short u16_t;
|
||||||
|
|
|
@ -109,21 +109,22 @@ init_lowlevel(void)
|
||||||
rs232_redirect_stdout(RS232_PORT_1);
|
rs232_redirect_stdout(RS232_PORT_1);
|
||||||
|
|
||||||
DDRE |= LED1 | LED2 | LED3;
|
DDRE |= LED1 | LED2 | LED3;
|
||||||
|
|
||||||
|
ctimer_init();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static struct etimer et;
|
static struct etimer et;
|
||||||
PROCESS_THREAD(rcb_leds, ev, data)
|
PROCESS_THREAD(rcb_leds, ev, data)
|
||||||
{
|
{
|
||||||
uint8_t error;
|
|
||||||
|
|
||||||
PROCESS_BEGIN();
|
PROCESS_BEGIN();
|
||||||
|
|
||||||
if((error = icmp6_new(NULL)) == 0) {
|
|
||||||
while(1) {
|
while(1) {
|
||||||
PROCESS_YIELD();
|
PROCESS_YIELD();
|
||||||
|
|
||||||
#if NETSTACK_CONF_WITH_IPV6
|
#if UIP_CONF_IPV6
|
||||||
if (ev == ICMP6_ECHO_REQUEST) {
|
if (ev == ICMP6_ECHO_REQUEST) {
|
||||||
#else
|
#else
|
||||||
if (1) {
|
if (1) {
|
||||||
|
@ -134,7 +135,6 @@ PROCESS_THREAD(rcb_leds, ev, data)
|
||||||
LEDOff(LED2);
|
LEDOff(LED2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
PROCESS_END();
|
PROCESS_END();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -142,14 +142,10 @@ PROCESS_THREAD(rcb_leds, ev, data)
|
||||||
int
|
int
|
||||||
main(void)
|
main(void)
|
||||||
{
|
{
|
||||||
//calibrate_rc_osc_32k(); //CO: Had to comment this out
|
|
||||||
|
|
||||||
/* Initialize hardware */
|
/* Initialize hardware */
|
||||||
init_lowlevel();
|
init_lowlevel();
|
||||||
|
|
||||||
/* Clock */
|
/* Clock */
|
||||||
clock_init();
|
clock_init();
|
||||||
|
|
||||||
LEDOff(LED1 | LED2);
|
LEDOff(LED1 | LED2);
|
||||||
|
|
||||||
/* Process subsystem */
|
/* Process subsystem */
|
||||||
|
@ -157,17 +153,29 @@ main(void)
|
||||||
|
|
||||||
/* Register initial processes */
|
/* Register initial processes */
|
||||||
procinit_init();
|
procinit_init();
|
||||||
|
|
||||||
|
/* It is very important to do the NETSTACK_* initializations right here
|
||||||
|
* to enable the PROCESS_YIELD** functionality.
|
||||||
|
* The receive process is an single protothread which handles the
|
||||||
|
* received packets. This process needs PROCESS_YIELD_UNTIL().
|
||||||
|
**/
|
||||||
|
/* Start radio and radio receive process */
|
||||||
|
NETSTACK_RADIO.init();
|
||||||
|
/* Initialize stack protocols */
|
||||||
|
queuebuf_init();
|
||||||
|
NETSTACK_RDC.init();
|
||||||
|
NETSTACK_MAC.init();
|
||||||
|
NETSTACK_NETWORK.init();
|
||||||
|
|
||||||
/* Autostart processes */
|
/* Autostart processes */
|
||||||
autostart_start(autostart_processes);
|
autostart_start(autostart_processes);
|
||||||
|
|
||||||
printf_P(PSTR("\n********BOOTING CONTIKI*********\n"));
|
printf_P(PSTR("\n********BOOTING CONTIKI*********\n"));
|
||||||
|
|
||||||
printf_P(PSTR("System online.\n"));
|
printf_P(PSTR("System online.\n"));
|
||||||
|
|
||||||
/* Main scheduler loop */
|
/* Main scheduler loop */
|
||||||
while(1) {
|
while(1) {
|
||||||
process_run();
|
process_run();
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in a new issue