Contiki 3.x
contiki-conf.h
1 
2 #ifndef CONTIKI_CONF_H
3 #define CONTIKI_CONF_H
4 
5 #include <stdint.h>
6 #include <stdbool.h>
7 
8 #include "platform-conf.h"
9 
10 #include "dev/leds.h"
11 
12 #define CCIF
13 #define CLIF
14 
15 #define SYSTICK_DEBUG
16 #define SYSTICK_DEBUG_PORT PORTD
17 #define SYSTICK_DEBUG_GPIO GPIOD
18 #define SYSTICK_DEBUG_PIN 7
19 
20 #define CLOCK_CONF_SECOND 128
21 
22 typedef uint16_t rtimer_clock_t;
23 #define RTIMER_CLOCK_LT(a,b) ((int16_t)((a)-(b)) < 0)
24 
25 /* These names are deprecated, use C99 names. */
26 typedef uint8_t u8_t;
27 typedef uint16_t u16_t;
28 typedef uint32_t u32_t;
29 typedef int8_t s8_t;
30 typedef int16_t s16_t;
31 typedef int32_t s32_t;
32 
33 /* Platform typedefs */
34 typedef uint32_t clock_time_t;
35 typedef uint32_t uip_stats_t;
36 
37 /* Enable watchdog. */
38 #define DISABLE_WDOG 1
39 
40 /* Set allowable low-power modes. Disable VLLS. */
41 #define SYSTEM_SMC_PMPROT_VALUE 0x28
42 
43 //#define true 1
44 //#define false 0
45 
46 #ifndef BV
47 #define BV(x) (1<<(x))
48 #endif
49 
50 
51 /*--------------------------------------- LED Config ----------------------------------------*/
52 
53 #define PLATFORM_HAS_LEDS 1
54 
55 #define LED_RED_PORT PORTB
56 #define LED_RED_GPIO GPIOB
57 #define LED_RED_PIN 18
58 
59 #define LED_GREEN_PORT PORTB
60 #define LED_GREEN_GPIO GPIOB
61 #define LED_GREEN_PIN 19
62 
63 #define LED_BLUE_PORT PORTD
64 #define LED_BLUE_GPIO GPIOD
65 #define LED_BLUE_PIN 1
66 
67 
68 /*--------------------------------------- CC1120 Pins ----------------------------------------*/
69 
70 #define CC1120_INT_PORT PORTA
71 #define CC1120_INT_GPIO GPIOA
72 #define CC1120_INT_PIN 5
73 
74 #define CC1120_CSn_PORT PORTD
75 #define CC1120_CSn_GPIO GPIOD
76 #define CC1120_CSn_PIN 0
77 
78 #define CC1120_CSnCHK_PORT PORTC
79 #define CC1120_CSnCHK_GPIO GPIOC
80 #define CC1120_CSnCHK_PIN 17
81 
82 #define CC1120_RST_PORT PORTB
83 #define CC1120_RST_GPIO GPIOB
84 #define CC1120_RST_PIN 8
85 
86 #define CC1120_MISO_PORT PORTC
87 #define CC1120_MISO_GPIO GPIOC
88 #define CC1120_MISO_PIN 17
89 
90 #define CC1120_GPIO0_PORT PORTA
91 #define CC1120_GPIO0_GPIO GPIOA
92 #define CC1120_GPIO0_PIN 5
93 
94 #define CC1120_GPIO2_PORT PORTA
95 #define CC1120_GPIO2_GPIO GPIOA
96 #define CC1120_GPIO2_PIN 12
97 
98 #define CC1120_GPIO3_PORT PORTA
99 #define CC1120_GPIO3_GPIO GPIOA
100 #define CC1120_GPIO3_PIN 13
101 
102 #define NETSTACK_CONF_RADIO cc1120_driver
103 //#define NETSTACK_CONF_RADIO nullradio_driver
104 
105 #define CONTIKIMAC_CONF_CCA_CHECK_TIME RTIMER_ARCH_SECOND/1600
106 #define CONTIKIMAC_CONF_CCA_COUNT_MAX 2
107 #define CONTIKIMAC_CONF_WITH_PHASE_OPTIMIZATION 0
108 #define RDC_CONF_HARDWARE_CSMA 0
109 #define RDC_CONF_HARDWARE_ACK 1
110 #define CONTIKIMAC_CONF_INTER_PACKET_INTERVAL 0 //RTIMER_ARCH_SECOND/400 /* ~2.5ms */
111 #define CONTIKIMAC_CONF_CCA_SLEEP_TIME RTIMER_ARCH_SECOND/210 //210 ~4.8ms 140 /* 140 = ~7.1ms, 286 = ~3.5ms */
112 #define CONTIKIMAC_CONF_LISTEN_TIME_AFTER_PACKET_DETECTED RTIMER_ARCH_SECOND/20 /* ~50ms */
113 #define CONTIKIMAC_CONF_SHORTEST_PACKET_SIZE 36
114 
115 #define NULLRDC_CONF_802154_AUTOACK_HW 1
116 
117 /*---------------------------------------- IP Config ----------------------------------------*/
118 #define WITH_ASCII 1
119 
120 
121 #define PLATFORM_HAS_BUTTON 0
122 
123 #if NETSTACK_CONF_WITH_IPV6
124 
125 /* Network setup for IPv6 */
126 #define NETSTACK_CONF_NETWORK sicslowpan_driver
127 #define NETSTACK_CONF_MAC csma_driver
128 #define NETSTACK_CONF_RDC contikimac_driver
129 //#define NETSTACK_CONF_RDC nullrdc_driver
130 #define NETSTACK_CONF_FRAMER framer_802154
131 
132 
133 #define SICSLOWPAN_CONF_COMPRESSION_THRESHOLD 63
134 #define CONTIKIMAC_CONF_WITH_CONTIKIMAC_HEADER 0
135 #define NETSTACK_RDC_CHANNEL_CHECK_RATE 8
136 
137 
138 #define QUEUEBUF_CONF_NUM 4
139 
140 
141 #else /* WITH_UIP6 */
142 
143 /* Network setup for non-IPv6 (rime). */
144 #define NETSTACK_CONF_NETWORK rime_driver
145 #define NETSTACK_CONF_MAC csma_driver
146 #define NETSTACK_CONF_RDC contikimac_driver
147 #define NETSTACK_CONF_RDC_CHANNEL_CHECK_RATE 8
148 #define NETSTACK_CONF_FRAMER framer_802154
149 
150 #define COLLECT_CONF_ANNOUNCEMENTS 1
151 #define CONTIKIMAC_CONF_ANNOUNCEMENTS 0
152 
153 #define CONTIKIMAC_CONF_COMPOWER 1
154 #define XMAC_CONF_COMPOWER 1
155 #define CXMAC_CONF_COMPOWER 1
156 
157 #define COLLECT_NBR_TABLE_CONF_MAX_NEIGHBORS 32
158 
159 #define QUEUEBUF_CONF_NUM 8
160 
161 
162 #endif /* WITH_UIP6 */
163 
164 #define RIME_CONF_NO_POLITE_ANNOUCEMENTS 0
165 
166 #define NETSTACK_RADIO_MAX_PAYLOAD_LEN 125
167 
168 #define PACKETBUF_CONF_ATTRS_INLINE 1
169 
170 #ifndef RF_CHANNEL
171 #define RF_CHANNEL 42
172 #endif /* RF_CHANNEL */
173 
174 #define IEEE802154_CONF_PANID 0xABCD
175 
176 
177 
178 
179 #ifdef NETSTACK_CONF_WITH_IPV6
180 
181 #define LINKADDR_CONF_SIZE 8
182 
183 #define UIP_CONF_LL_802154 1
184 #define UIP_CONF_LLH_LEN 0
185 
186 #define UIP_CONF_ROUTER 1
187 #define NETSTACK_CONF_WITH_IPV6_RPL 1
188 
189 /**
190  * Feshie deployment max neighbors is 5 (Router1). 8 is a safe max.
191  */
192 #define NBR_TABLE_CONF_MAX_NEIGHBORS 8
193 
194 /**
195  * Feshie deployment has 8 nodes -> max 8 routes. 10 is a safe max.
196  */
197 #define UIP_CONF_MAX_ROUTES 10
198 
199 #define UIP_CONF_ND6_SEND_RA 0
200 #define UIP_CONF_ND6_REACHABLE_TIME 600000
201 #define UIP_CONF_ND6_RETRANS_TIMER 10000
202 
203 #define NETSTACK_CONF_WITH_IPV6 1
204 #define UIP_CONF_IPV6_QUEUE_PKT 0
205 #define UIP_CONF_IPV6_CHECKS 1
206 #define UIP_CONF_IPV6_REASSEMBLY 0
207 #define UIP_CONF_NETIF_MAX_ADDRESSES 3
208 #define UIP_CONF_ND6_MAX_PREFIXES 3
209 #define UIP_CONF_ND6_MAX_DEFROUTERS 2
210 #define UIP_CONF_IP_FORWARD 0
211 #define UIP_CONF_BUFFER_SIZE 240
212 
213 #define SICSLOWPAN_CONF_COMPRESSION_IPV6 0
214 #define SICSLOWPAN_CONF_COMPRESSION_HC1 1
215 #define SICSLOWPAN_CONF_COMPRESSION_HC01 2
216 #define SICSLOWPAN_CONF_COMPRESSION SICSLOWPAN_COMPRESSION_HC06
217 #ifndef SICSLOWPAN_CONF_FRAG
218 #define SICSLOWPAN_CONF_FRAG 1
219 #define SICSLOWPAN_CONF_MAXAGE 8
220 #endif /* SICSLOWPAN_CONF_FRAG */
221 #define SICSLOWPAN_CONF_CONVENTIONAL_MAC 1
222 #define SICSLOWPAN_CONF_MAX_ADDR_CONTEXTS 2
223 #else /* NETSTACK_CONF_WITH_IPV6 */
224 #define UIP_CONF_IP_FORWARD 1
225 #define UIP_CONF_BUFFER_SIZE 108
226 #endif /* NETSTACK_CONF_WITH_IPV6 */
227 
228 #define PROCESS_CONF_NUMEVENTS 8
229 #define PROCESS_CONF_STATS 1
230 
231 
232 #define UIP_CONF_ICMP_DEST_UNREACH 1
233 
234 #define UIP_CONF_DHCP_LIGHT
235 #define UIP_CONF_LLH_LEN 0
236 #define UIP_CONF_RECEIVE_WINDOW 48
237 #define UIP_CONF_TCP_MSS 48
238 #define UIP_CONF_MAX_CONNECTIONS 4
239 #define UIP_CONF_MAX_LISTENPORTS 8
240 #define UIP_CONF_UDP_CONNS 12
241 #define UIP_CONF_FWCACHE_SIZE 30
242 #define UIP_CONF_BROADCAST 1
243 //#define UIP_ARCH_IPCHKSUM 1
244 #define UIP_CONF_UDP 1
245 #define UIP_CONF_UDP_CHECKSUMS 1
246 #define UIP_CONF_PINGADDRCONF 0
247 #define UIP_CONF_LOGGING 0
248 
249 #define UIP_CONF_TCP_SPLIT 0
250 
251 
252 #endif /* CONTIKI_CONF_H_CDBB4VIH3I__ */
Platform configuration for the Z1-feshie platform