Contiki 2.6
|
00001 /* 00002 * Copyright (c) 2006, Technical University of Munich 00003 * All rights reserved. 00004 * 00005 * Redistribution and use in source and binary forms, with or without 00006 * modification, are permitted provided that the following conditions 00007 * are met: 00008 * 1. Redistributions of source code must retain the above copyright 00009 * notice, this list of conditions and the following disclaimer. 00010 * 2. Redistributions in binary form must reproduce the above copyright 00011 * notice, this list of conditions and the following disclaimer in the 00012 * documentation and/or other materials provided with the distribution. 00013 * 3. Neither the name of the Institute nor the names of its contributors 00014 * may be used to endorse or promote products derived from this software 00015 * without specific prior written permission. 00016 * 00017 * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND 00018 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00019 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00020 * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE 00021 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00022 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 00023 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 00024 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 00025 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 00026 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 00027 * SUCH DAMAGE. 00028 * 00029 * This file is part of the Contiki operating system. 00030 * 00031 * @(#)$$ 00032 */ 00033 00034 /** 00035 * \file 00036 * Configuration for sample STK 501 Contiki kernel 00037 * 00038 * \author 00039 * Simon Barner <barner@in.tum.de 00040 */ 00041 00042 #ifndef __CONTIKI_CONF_H__ 00043 #define __CONTIKI_CONF_H__ 00044 00045 #include <stdint.h> 00046 00047 //typedef int32_t s32_t; 00048 00049 /* 00050 * MCU and clock rate 00051 */ 00052 /* Platform name, type, and MCU clock rate */ 00053 #define PLATFORM_NAME "RCB" 00054 #define PLATFORM_TYPE RCB_B 00055 #ifndef F_CPU 00056 #define F_CPU 8000000UL 00057 #endif 00058 00059 /* The AVR tick interrupt usually is done with an 8 bit counter around 128 Hz. 00060 * 125 Hz needs slightly more overhead during the interrupt, as does a 32 bit 00061 * clock_time_t. 00062 */ 00063 /* Clock ticks per second */ 00064 #define CLOCK_CONF_SECOND 125 00065 #if 1 00066 /* 16 bit counter overflows every ~10 minutes */ 00067 typedef unsigned short clock_time_t; 00068 #define CLOCK_LT(a,b) ((signed short)((a)-(b)) < 0) 00069 #define INFINITE_TIME 0xffff 00070 #define RIME_CONF_BROADCAST_ANNOUNCEMENT_MAX_TIME INFINITE_TIME/CLOCK_CONF_SECOND /* Default uses 600 */ 00071 #define COLLECT_CONF_BROADCAST_ANNOUNCEMENT_MAX_TIME INFINITE_TIME/CLOCK_CONF_SECOND /* Default uses 600 */ 00072 #else 00073 typedef unsigned long clock_time_t; 00074 #define CLOCK_LT(a,b) ((signed long)((a)-(b)) < 0) 00075 #define INFINITE_TIME 0xffffffff 00076 #endif 00077 /* These routines are not part of the contiki core but can be enabled in cpu/avr/clock.c */ 00078 void clock_delay_msec(uint16_t howlong); 00079 void clock_adjust_ticks(clock_time_t howmany); 00080 00081 /* COM port to be used for SLIP connection */ 00082 #define SLIP_PORT RS232_PORT_0 00083 00084 /* Pre-allocated memory for loadable modules heap space (in bytes)*/ 00085 #define MMEM_CONF_SIZE 256 00086 00087 /* Use the following address for code received via the codeprop 00088 * facility 00089 */ 00090 #define EEPROMFS_ADDR_CODEPROP 0x8000 00091 00092 #define CCIF 00093 #define CLIF 00094 00095 //#define UIP_CONF_IPV6 1 //Let makefile determine this so ipv4 hello-world will compile 00096 00097 #define RIMEADDR_CONF_SIZE 8 00098 #define PACKETBUF_CONF_HDR_SIZE 0 00099 00100 /* 0 for IPv6, or 1 for HC1, 2 for HC01 */ 00101 #define SICSLOWPAN_CONF_COMPRESSION_IPV6 0 00102 #define SICSLOWPAN_CONF_COMPRESSION_HC1 1 00103 #define SICSLOWPAN_CONF_COMPRESSION_HC01 2 00104 00105 #define SICSLOWPAN_CONF_COMPRESSION SICSLOWPAN_CONF_COMPRESSION_HC01 00106 #define SICSLOWPAN_CONF_MAX_ADDR_CONTEXTS 2 00107 #define SICSLOWPAN_CONF_FRAG 1 00108 00109 #define SICSLOWPAN_CONF_MAXAGE 5 00110 00111 #define UIP_CONF_LL_802154 1 00112 #define UIP_CONF_LLH_LEN 0 00113 00114 #define UIP_CONF_MAX_CONNECTIONS 2 00115 #define UIP_CONF_MAX_LISTENPORTS 2 00116 #define UIP_CONF_UDP_CONNS 2 00117 00118 #define UIP_CONF_IP_FORWARD 0 00119 #define UIP_CONF_FWCACHE_SIZE 0 00120 00121 #define UIP_CONF_IPV6_CHECKS 1 00122 #define UIP_CONF_IPV6_QUEUE_PKT 0 00123 #define UIP_CONF_IPV6_REASSEMBLY 0 00124 #define UIP_CONF_NETIF_MAX_ADDRESSES 3 00125 #define UIP_CONF_ND6_MAX_PREFIXES 3 00126 #define UIP_CONF_ND6_MAX_NEIGHBORS 4 00127 #define UIP_CONF_ND6_MAX_DEFROUTERS 2 00128 #if UIP_CONF_IPV6 //tcpip.c error on ipv4 build if UIP_CONF_ICMP6 defined 00129 #define UIP_CONF_ICMP6 1 00130 #endif 00131 00132 #define UIP_CONF_UDP 1 00133 #define UIP_CONF_UDP_CHECKSUMS 1 00134 00135 #define UIP_CONF_TCP 0 00136 #define UIP_CONF_TCP_SPLIT 0 00137 00138 00139 00140 /* These names are deprecated, use C99 names. */ 00141 /*typedef unsigned char u8_t; 00142 typedef unsigned short u16_t; 00143 typedef unsigned long u32_t; 00144 */ 00145 typedef unsigned short uip_stats_t; 00146 typedef unsigned long off_t; 00147 00148 #endif /* __CONTIKI_CONF_H__ */