Contiki 2.5
contiki-conf.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2009, University of Colombo School of Computing
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  * notice, this list of conditions and the following disclaimer in the
12  * documentation and/or other materials provided with the distribution.
13  * 3. Neither the name of the Institute nor the names of its contributors
14  * may be used to endorse or promote products derived from this software
15  * without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
18  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20  * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
21  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27  * SUCH DAMAGE.
28  *
29  * This file is part of the Contiki operating system.
30  *
31  * @(#)$$
32  */
33 
34 /**
35  * \file
36  * Configuration for MICAz platform.
37  *
38  * \author
39  * Kasun Hewage <kasun.ch@gmail.com>
40  */
41 
42 #ifndef __CONTIKI_CONF_H__
43 #define __CONTIKI_CONF_H__
44 
45 #define HAVE_STDINT_H
46 #include "avrdef.h"
47 
48 #include "platform-conf.h"
49 
50 #if WITH_UIP6
51 
52 /* Network setup for IPv6 */
53 #define NETSTACK_CONF_NETWORK sicslowpan_driver
54 #define NETSTACK_CONF_MAC csma_driver
55 #define NETSTACK_CONF_RDC nullrdc_driver
56 #define NETSTACK_CONF_FRAMER framer_802154
57 
58 #define CC2420_CONF_AUTOACK 1
59 #define NETSTACK_CONF_RDC_CHANNEL_CHECK_RATE 8
60 #define RIME_CONF_NO_POLITE_ANNOUCEMENTS 0
61 #define CXMAC_CONF_ANNOUNCEMENTS 0
62 
63 #else /* WITH_UIP6 */
64 
65 /* Network setup for non-IPv6 (rime). */
66 
67 #define NETSTACK_CONF_NETWORK rime_driver
68 #define NETSTACK_CONF_MAC csma_driver
69 #define NETSTACK_CONF_RDC cxmac_driver
70 #define NETSTACK_CONF_FRAMER framer_802154
71 
72 #define CC2420_CONF_AUTOACK 1
73 #define NETSTACK_CONF_RDC_CHANNEL_CHECK_RATE 8
74 
75 #define COLLECT_CONF_ANNOUNCEMENTS 1
76 #define RIME_CONF_NO_POLITE_ANNOUCEMENTS 1
77 #define CXMAC_CONF_ANNOUNCEMENTS 0
78 #define CXMAC_CONF_COMPOWER 1
79 #define CONTIKIMAC_CONF_ANNOUNCEMENTS 0
80 #define CONTIKIMAC_CONF_COMPOWER 1
81 
82 #define COLLECT_NEIGHBOR_CONF_MAX_NEIGHBORS 32
83 
84 #endif /* WITH_UIP6 */
85 
86 #define PACKETBUF_CONF_ATTRS_INLINE 1
87 
88 #ifndef RF_CHANNEL
89 #define RF_CHANNEL 26
90 #endif /* RF_CHANNEL */
91 
92 #define CONTIKIMAC_CONF_BROADCAST_RATE_LIMIT 0
93 
94 #define IEEE802154_CONF_PANID 0xABCD
95 
96 
97 #define AODV_COMPLIANCE
98 #define AODV_NUM_RT_ENTRIES 32
99 
100 #define WITH_ASCII 1
101 
102 #define PROCESS_CONF_NUMEVENTS 8
103 #define PROCESS_CONF_STATS 1
104 
105 #ifdef WITH_UIP6
106 
107 #define RIMEADDR_CONF_SIZE 8
108 
109 #define UIP_CONF_LL_802154 1
110 #define UIP_CONF_LLH_LEN 0
111 
112 #define UIP_CONF_ROUTER 1
113 #define UIP_CONF_IPV6_RPL 1
114 
115 /* configure number of neighbors and routes */
116 #define UIP_CONF_DS6_NBR_NBU 5
117 #define UIP_CONF_DS6_ROUTE_NBU 5
118 
119 #define RPL_CONF_MAX_PARENTS 4
120 #define NEIGHBOR_CONF_MAX_NEIGHBORS 8
121 
122 #define UIP_CONF_ND6_SEND_RA 0
123 #define UIP_CONF_ND6_REACHABLE_TIME 600000
124 #define UIP_CONF_ND6_RETRANS_TIMER 10000
125 
126 #define UIP_CONF_IPV6 1
127 #define UIP_CONF_IPV6_QUEUE_PKT 0
128 #define UIP_CONF_IPV6_CHECKS 1
129 #define UIP_CONF_IPV6_REASSEMBLY 0
130 #define UIP_CONF_NETIF_MAX_ADDRESSES 3
131 #define UIP_CONF_ND6_MAX_PREFIXES 3
132 #define UIP_CONF_ND6_MAX_NEIGHBORS 4
133 #define UIP_CONF_ND6_MAX_DEFROUTERS 2
134 #define UIP_CONF_IP_FORWARD 0
135 #define UIP_CONF_BUFFER_SIZE 240
136 
137 #define SICSLOWPAN_CONF_COMPRESSION_IPV6 0
138 #define SICSLOWPAN_CONF_COMPRESSION_HC1 1
139 #define SICSLOWPAN_CONF_COMPRESSION_HC01 2
140 #define SICSLOWPAN_CONF_COMPRESSION SICSLOWPAN_COMPRESSION_HC06
141 #ifndef SICSLOWPAN_CONF_FRAG
142 #define SICSLOWPAN_CONF_FRAG 1
143 #define SICSLOWPAN_CONF_MAXAGE 8
144 #endif /* SICSLOWPAN_CONF_FRAG */
145 #define SICSLOWPAN_CONF_CONVENTIONAL_MAC 1
146 #define SICSLOWPAN_CONF_MAX_ADDR_CONTEXTS 2
147 #else /* WITH_UIP6 */
148 #define UIP_CONF_IP_FORWARD 1
149 #define UIP_CONF_BUFFER_SIZE 128
150 #endif /* WITH_UIP6 */
151 
152 #define UIP_CONF_ICMP_DEST_UNREACH 1
153 
154 #if !WITH_UIP && !WITH_UIP6
155 #define QUEUEBUF_CONF_NUM 8
156 #else
157 #define QUEUEBUF_CONF_NUM 4
158 #endif
159 
160 #define TIMESYNCH_CONF_ENABLED 1
161 #define CC2420_CONF_TIMESTAMPS 1
162 #define CC2420_CONF_SYMBOL_LOOP_COUNT 500
163 
164 #define WITH_NULLMAC 0
165 
166 #define CCIF
167 #define CLIF
168 
169 /* The process names are not used to save RAM */
170 #define PROCESS_CONF_NO_PROCESS_NAMES 1
171 
172 #define UIP_CONF_ICMP_DEST_UNREACH 1
173 
174 #define UIP_CONF_DHCP_LIGHT
175 #define UIP_CONF_LLH_LEN 0
176 #define UIP_CONF_RECEIVE_WINDOW 48
177 #define UIP_CONF_TCP_MSS 48
178 #define UIP_CONF_MAX_CONNECTIONS 4
179 #define UIP_CONF_MAX_LISTENPORTS 8
180 #define UIP_CONF_UDP_CONNS 12
181 #define UIP_CONF_FWCACHE_SIZE 15
182 #define UIP_CONF_BROADCAST 1
183 //#define UIP_ARCH_IPCHKSUM 1
184 #define UIP_CONF_UDP 1
185 #define UIP_CONF_UDP_CHECKSUMS 1
186 #define UIP_CONF_PINGADDRCONF 0
187 #define UIP_CONF_LOGGING 0
188 
189 #define UIP_CONF_TCP_SPLIT 0
190 
191 
192 typedef unsigned short clock_time_t;
193 typedef unsigned short uip_stats_t;
194 typedef unsigned long off_t;
195 
196 void clock_delay(unsigned int us2);
197 void clock_wait(int ms10);
198 void clock_set_seconds(unsigned long s);
199 unsigned long clock_seconds(void);
200 
201 #endif /* __CONTIKI_CONF_H__ */