Contiki 2.6

contiki-conf.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2009, University of Colombo School of Computing
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 MICAz platform.
00037  *
00038  * \author
00039  *         Kasun Hewage <kasun.ch@gmail.com>
00040  */
00041 
00042 #ifndef __CONTIKI_CONF_H__
00043 #define __CONTIKI_CONF_H__
00044 
00045 #define HAVE_STDINT_H
00046 #include "avrdef.h"
00047 
00048 #include "platform-conf.h"
00049 
00050 
00051 #if UIP_CONF_IPV6
00052 #define WITH_UIP6 1
00053 #endif
00054 #if WITH_UIP6
00055 /* Network setup for IPv6 */
00056 #define NETSTACK_CONF_NETWORK sicslowpan_driver
00057 //#define NETSTACK_CONF_MAC     csma_driver
00058 #define NETSTACK_CONF_MAC     nullmac_driver
00059 //#define NETSTACK_CONF_RDC     nullrdc_driver
00060 #define NETSTACK_CONF_RDC     sicslowmac_driver
00061 #define NETSTACK_CONF_FRAMER  framer_802154
00062 
00063 #define CC2420_CONF_AUTOACK              1
00064 #define NETSTACK_CONF_RDC_CHANNEL_CHECK_RATE     8
00065 #define RIME_CONF_NO_POLITE_ANNOUCEMENTS 0
00066 #define CXMAC_CONF_ANNOUNCEMENTS         0
00067 
00068 #else /* WITH_UIP6 */
00069 
00070 /* Network setup for non-IPv6 (rime). */
00071 
00072 #define NETSTACK_CONF_NETWORK rime_driver
00073 #define NETSTACK_CONF_MAC     csma_driver
00074 #define NETSTACK_CONF_MAC     nullmac_driver
00075 #define NETSTACK_CONF_RDC     cxmac_driver
00076 #define NETSTACK_CONF_FRAMER  framer_802154
00077 
00078 #define CC2420_CONF_AUTOACK              1
00079 #define NETSTACK_CONF_RDC_CHANNEL_CHECK_RATE     8
00080 
00081 #define COLLECT_CONF_ANNOUNCEMENTS       1
00082 #define RIME_CONF_NO_POLITE_ANNOUCEMENTS 1
00083 #define CXMAC_CONF_ANNOUNCEMENTS         0
00084 #define CXMAC_CONF_COMPOWER              1
00085 #define CONTIKIMAC_CONF_ANNOUNCEMENTS    0
00086 #define CONTIKIMAC_CONF_COMPOWER         1
00087 
00088 #define COLLECT_NEIGHBOR_CONF_MAX_NEIGHBORS      32
00089 
00090 #endif /* WITH_UIP6 */
00091 
00092 #define PACKETBUF_CONF_ATTRS_INLINE 1
00093 
00094 #ifndef RF_CHANNEL
00095 #define RF_CHANNEL              26
00096 #endif /* RF_CHANNEL */
00097 
00098 #define CONTIKIMAC_CONF_BROADCAST_RATE_LIMIT 0
00099 
00100 #define IEEE802154_CONF_PANID       0xABCD
00101 
00102 
00103 #define AODV_COMPLIANCE
00104 #define AODV_NUM_RT_ENTRIES 32
00105 
00106 #define WITH_ASCII 1
00107 
00108 #define PROCESS_CONF_NUMEVENTS 8
00109 #define PROCESS_CONF_STATS 1
00110 
00111 #ifdef WITH_UIP6
00112 
00113 #define RIMEADDR_CONF_SIZE              8
00114 
00115 #define UIP_CONF_LL_802154              1
00116 #define UIP_CONF_LLH_LEN                0
00117 
00118 #define UIP_CONF_ROUTER                 0
00119 #define UIP_CONF_IPV6_RPL               0
00120 
00121 /* configure number of neighbors and routes */
00122 #define UIP_CONF_DS6_NBR_NBU     5
00123 #define UIP_CONF_DS6_ROUTE_NBU   5
00124 
00125 #define RPL_CONF_MAX_PARENTS         4
00126 #define NEIGHBOR_CONF_MAX_NEIGHBORS  8
00127 
00128 #define UIP_CONF_ND6_SEND_RA            0
00129 #define UIP_CONF_ND6_REACHABLE_TIME     600000
00130 #define UIP_CONF_ND6_RETRANS_TIMER      10000
00131 
00132 #define UIP_CONF_IPV6                   1
00133 #define UIP_CONF_IPV6_QUEUE_PKT         0
00134 #define UIP_CONF_IPV6_CHECKS            1
00135 #define UIP_CONF_IPV6_REASSEMBLY        0
00136 #define UIP_CONF_NETIF_MAX_ADDRESSES    3
00137 #define UIP_CONF_ND6_MAX_PREFIXES       3
00138 #define UIP_CONF_ND6_MAX_NEIGHBORS      4
00139 #define UIP_CONF_ND6_MAX_DEFROUTERS     2
00140 #define UIP_CONF_IP_FORWARD             0
00141 #define UIP_CONF_BUFFER_SIZE                240
00142 
00143 #define SICSLOWPAN_CONF_COMPRESSION_IPV6        0
00144 #define SICSLOWPAN_CONF_COMPRESSION_HC1         1
00145 #define SICSLOWPAN_CONF_COMPRESSION_HC01        2
00146 #define SICSLOWPAN_CONF_COMPRESSION             SICSLOWPAN_COMPRESSION_HC06
00147 #ifndef SICSLOWPAN_CONF_FRAG
00148 #define SICSLOWPAN_CONF_FRAG                    1
00149 #define SICSLOWPAN_CONF_MAXAGE                  8
00150 #endif /* SICSLOWPAN_CONF_FRAG */
00151 #define SICSLOWPAN_CONF_CONVENTIONAL_MAC        1
00152 #define SICSLOWPAN_CONF_MAX_ADDR_CONTEXTS       2
00153 #else /* WITH_UIP6 */
00154 #define UIP_CONF_IP_FORWARD      1
00155 #define UIP_CONF_BUFFER_SIZE     128
00156 #endif /* WITH_UIP6 */
00157 
00158 #define UIP_CONF_ICMP_DEST_UNREACH 1
00159 
00160 #if !WITH_UIP && !WITH_UIP6
00161 #define QUEUEBUF_CONF_NUM          8
00162 #else
00163 #define QUEUEBUF_CONF_NUM          4
00164 #endif
00165 
00166 #define TIMESYNCH_CONF_ENABLED 1
00167 #define CC2420_CONF_TIMESTAMPS 1
00168 #define CC2420_CONF_SYMBOL_LOOP_COUNT 500
00169 
00170 #define WITH_NULLMAC 0
00171 
00172 #define CCIF
00173 #define CLIF
00174 
00175 /* The process names are not used to save RAM */
00176 #define PROCESS_CONF_NO_PROCESS_NAMES 1
00177 
00178 #define UIP_CONF_ICMP_DEST_UNREACH 1
00179 
00180 #define UIP_CONF_DHCP_LIGHT
00181 #define UIP_CONF_LLH_LEN         0
00182 #define UIP_CONF_RECEIVE_WINDOW  48
00183 #define UIP_CONF_TCP_MSS         48
00184 #define UIP_CONF_MAX_CONNECTIONS 4
00185 #define UIP_CONF_MAX_LISTENPORTS 8
00186 #define UIP_CONF_UDP_CONNS       12
00187 #define UIP_CONF_FWCACHE_SIZE    15
00188 #define UIP_CONF_BROADCAST       1
00189 //#define UIP_ARCH_IPCHKSUM        1
00190 #define UIP_CONF_UDP             1
00191 #define UIP_CONF_UDP_CHECKSUMS   1
00192 #define UIP_CONF_PINGADDRCONF    0
00193 #define UIP_CONF_LOGGING         0
00194 
00195 #define UIP_CONF_TCP_SPLIT       0
00196 
00197 typedef unsigned short uip_stats_t;
00198 typedef unsigned long off_t;
00199 
00200 #endif /* __CONTIKI_CONF_H__ */