Go to the documentation of this file.
8 #ifndef CONTIKI_CONF_H_
9 #define CONTIKI_CONF_H_
16 #include PROJECT_CONF_H
25 #define CLOCK_CONF_SECOND 128
32 typedef uint32_t clock_time_t;
33 typedef uint32_t uip_stats_t;
39 typedef uint32_t rtimer_clock_t;
40 #define RTIMER_CLOCK_DIFF(a,b) ((int32_t)((a)-(b)))
43 #define TSCH_CONF_HW_FRAME_FILTERING 0
46 #define RADIO_DELAY_BEFORE_TX ((unsigned)US_TO_RTIMERTICKS(352))
48 #define RADIO_DELAY_BEFORE_RX ((unsigned)US_TO_RTIMERTICKS(250))
49 #define RADIO_DELAY_BEFORE_DETECT 0
56 #ifndef FLASH_CCA_CONF_BOOTLDR_BACKDOOR
57 #define FLASH_CCA_CONF_BOOTLDR_BACKDOOR 1
60 #ifndef FLASH_CCA_CONF_BOOTLDR_BACKDOOR_PORT_A_PIN
61 #define FLASH_CCA_CONF_BOOTLDR_BACKDOOR_PORT_A_PIN 3
64 #ifndef FLASH_CCA_CONF_BOOTLDR_BACKDOOR_ACTIVE_HIGH
65 #define FLASH_CCA_CONF_BOOTLDR_BACKDOOR_ACTIVE_HIGH 0
74 #ifndef WATCHDOG_CONF_ENABLE
75 #define WATCHDOG_CONF_ENABLE 1
86 #define CTRL_EP_SIZE 8
87 #define USB_EP1_SIZE 32
88 #define USB_EP2_SIZE 64
89 #define USB_EP3_SIZE 64
90 #define USB_ARCH_WRITE_NOTIFY 0
92 #ifndef USB_ARCH_CONF_DMA
93 #define USB_ARCH_CONF_DMA 1
103 #ifndef ENERGEST_CONF_ON
104 #define ENERGEST_CONF_ON 0
107 #ifndef STARTUP_CONF_VERBOSE
108 #define STARTUP_CONF_VERBOSE 1
117 #define USB_ARCH_CONF_RX_DMA_CHAN 0
118 #define USB_ARCH_CONF_TX_DMA_CHAN 1
119 #define CC2538_RF_CONF_TX_DMA_CHAN 2
120 #define CC2538_RF_CONF_RX_DMA_CHAN 3
121 #define UDMA_CONF_MAX_CHANNEL CC2538_RF_CONF_RX_DMA_CHAN
129 #ifndef UART_CONF_ENABLE
130 #define UART_CONF_ENABLE 1
133 #ifndef UART0_CONF_BAUD_RATE
134 #define UART0_CONF_BAUD_RATE 115200
137 #ifndef UART1_CONF_BAUD_RATE
138 #define UART1_CONF_BAUD_RATE 115200
141 #ifndef SLIP_ARCH_CONF_USB
142 #define SLIP_ARCH_CONF_USB 0
145 #ifndef CC2538_RF_CONF_SNIFFER_USB
146 #define CC2538_RF_CONF_SNIFFER_USB 0
150 #define DBG_CONF_USB 0
153 #ifndef SERIAL_LINE_CONF_UART
154 #define SERIAL_LINE_CONF_UART 0
157 #if !SLIP_ARCH_CONF_USB
158 #ifndef SLIP_ARCH_CONF_UART
159 #define SLIP_ARCH_CONF_UART 0
163 #if !CC2538_RF_CONF_SNIFFER_USB
164 #ifndef CC2538_RF_CONF_SNIFFER_UART
165 #define CC2538_RF_CONF_SNIFFER_UART 0
170 #ifndef DBG_CONF_UART
171 #define DBG_CONF_UART 0
175 #ifndef UART1_CONF_UART
176 #define UART1_CONF_UART 0
181 #define SLIP_BRIDGE_CONF_NO_PUTCHAR 1
182 #define SLIP_RADIO_CONF_NO_PUTCHAR 1
184 #ifndef SLIP_ARCH_CONF_ENABLED
190 #if defined (UIP_FALLBACK_INTERFACE) || defined (CMD_CONF_OUTPUT)
191 #define SLIP_ARCH_CONF_ENABLED 1
200 #ifndef CC2538_RF_CONF_SNIFFER
201 #define CC2538_RF_CONF_SNIFFER 0
210 #ifndef CC2538_CONF_QUIET
211 #define CC2538_CONF_QUIET 0
215 #if CC2538_CONF_QUIET
216 #undef USB_SERIAL_CONF_ENABLE
217 #define USB_SERIAL_CONF_ENABLE 0
219 #undef UART_CONF_ENABLE
220 #define UART_CONF_ENABLE 0
222 #undef STARTUP_CONF_VERBOSE
223 #define STARTUP_CONF_VERBOSE 0
226 #if CC2538_RF_CONF_SNIFFER
227 #error "CC2538_RF_CONF_SNIFFER == 1 and CC2538_CONF_QUIET == 1"
228 #error "These values are conflicting. Please set either to 0"
235 #ifndef USB_SERIAL_CONF_ENABLE
236 #define USB_SERIAL_CONF_ENABLE \
237 ((SLIP_ARCH_CONF_USB & SLIP_ARCH_CONF_ENABLED) | \
239 (CC2538_RF_CONF_SNIFFER & CC2538_RF_CONF_SNIFFER_USB))
246 #if SLIP_ARCH_CONF_ENABLED
247 #define DBG_CONF_SLIP_MUX (SLIP_ARCH_CONF_USB == DBG_CONF_USB && \
248 (SLIP_ARCH_CONF_USB || \
249 SLIP_ARCH_CONF_UART == DBG_CONF_UART))
255 #define UART_IN_USE_BY_SERIAL_LINE(u) (SERIAL_LINE_CONF_UART == (u))
256 #define UART_IN_USE_BY_SLIP(u) (SLIP_ARCH_CONF_ENABLED && \
257 !SLIP_ARCH_CONF_USB && \
258 SLIP_ARCH_CONF_UART == (u))
259 #define UART_IN_USE_BY_RF_SNIFFER(u) (CC2538_RF_CONF_SNIFFER && \
260 !CC2538_RF_CONF_SNIFFER_USB && \
261 CC2538_RF_CONF_SNIFFER_UART == (u))
262 #define UART_IN_USE_BY_DBG(u) (!DBG_CONF_USB && DBG_CONF_UART == (u))
263 #define UART_IN_USE_BY_UART1(u) (UART1_CONF_UART == (u))
265 #define UART_IN_USE(u) ( \
266 UART_CONF_ENABLE && \
267 (UART_IN_USE_BY_SERIAL_LINE(u) || \
268 UART_IN_USE_BY_SLIP(u) || \
269 UART_IN_USE_BY_RF_SNIFFER(u) || \
270 UART_IN_USE_BY_DBG(u) || \
271 UART_IN_USE_BY_UART1(u)) \
283 #ifndef NETSTACK_CONF_NETWORK
284 #if NETSTACK_CONF_WITH_IPV6
285 #define NETSTACK_CONF_NETWORK sicslowpan_driver
287 #define NETSTACK_CONF_NETWORK rime_driver
291 #ifndef NETSTACK_CONF_MAC
292 #define NETSTACK_CONF_MAC csma_driver
295 #ifndef NETSTACK_CONF_RDC
296 #define NETSTACK_CONF_RDC contikimac_driver
300 #define NULLRDC_802154_AUTOACK 1
301 #define NULLRDC_802154_AUTOACK_HW 1
304 #define CONTIKIMAC_CONF_WITH_PHASE_OPTIMIZATION 0
305 #define WITH_FAST_SLEEP 1
307 #ifndef NETSTACK_CONF_RDC_CHANNEL_CHECK_RATE
308 #define NETSTACK_CONF_RDC_CHANNEL_CHECK_RATE 8
311 #ifndef NETSTACK_CONF_FRAMER
312 #if NETSTACK_CONF_WITH_IPV6
313 #define NETSTACK_CONF_FRAMER framer_802154
315 #define NETSTACK_CONF_FRAMER contikimac_framer
319 #define NETSTACK_CONF_RADIO cc2538_rf_driver
326 #ifndef LPM_CONF_ENABLE
327 #define LPM_CONF_ENABLE 1
336 #ifndef LPM_CONF_MAX_PM
337 #define LPM_CONF_MAX_PM 1
340 #ifndef LPM_CONF_STATS
341 #define LPM_CONF_STATS 0
356 #ifndef IEEE_ADDR_CONF_HARDCODED
357 #define IEEE_ADDR_CONF_HARDCODED 0
364 #ifndef IEEE_ADDR_CONF_ADDRESS
365 #define IEEE_ADDR_CONF_ADDRESS { 0x00, 0x12, 0x4B, 0x00, 0x89, 0xAB, 0xCD, 0xEF }
374 #ifndef IEEE_ADDR_CONF_USE_SECONDARY_LOCATION
375 #define IEEE_ADDR_CONF_USE_SECONDARY_LOCATION 0
385 #ifndef IEEE802154_CONF_PANID
386 #define IEEE802154_CONF_PANID 0xABCD
389 #ifndef CC2538_RF_CONF_CHANNEL
390 #define CC2538_RF_CONF_CHANNEL 25
393 #ifndef CC2538_RF_CONF_AUTOACK
394 #define CC2538_RF_CONF_AUTOACK 1
397 #ifndef CC2538_RF_CONF_TX_USE_DMA
398 #define CC2538_RF_CONF_TX_USE_DMA 1
401 #ifndef CC2538_RF_CONF_RX_USE_DMA
402 #define CC2538_RF_CONF_RX_USE_DMA 1
413 #ifndef NETSTACK_CONF_WITH_IPV6
414 #define NETSTACK_CONF_WITH_IPV6 0
417 #if NETSTACK_CONF_WITH_IPV6
420 #define LINKADDR_CONF_SIZE 8
421 #define UIP_CONF_LL_802154 1
422 #define UIP_CONF_LLH_LEN 0
423 #define UIP_CONF_NETIF_MAX_ADDRESSES 3
427 #define UIP_CONF_TCP 1
429 #ifndef UIP_CONF_TCP_MSS
430 #define UIP_CONF_TCP_MSS 64
432 #define UIP_CONF_UDP 1
433 #define UIP_CONF_UDP_CHECKSUMS 1
434 #define UIP_CONF_ICMP6 1
437 #ifndef UIP_CONF_ROUTER
438 #define UIP_CONF_ROUTER 1
441 #define UIP_CONF_ND6_SEND_RA 0
442 #define UIP_CONF_IP_FORWARD 0
443 #define RPL_CONF_STATS 0
446 #define RPL_CONF_OF rpl_mrhof
449 #define UIP_CONF_ND6_REACHABLE_TIME 600000
450 #define UIP_CONF_ND6_RETRANS_TIMER 10000
452 #ifndef NBR_TABLE_CONF_MAX_NEIGHBORS
453 #define NBR_TABLE_CONF_MAX_NEIGHBORS 20
455 #ifndef UIP_CONF_MAX_ROUTES
456 #define UIP_CONF_MAX_ROUTES 20
460 #ifndef UIP_CONF_BUFFER_SIZE
461 #define UIP_CONF_BUFFER_SIZE 1300
464 #define UIP_CONF_IPV6_QUEUE_PKT 0
465 #define UIP_CONF_IPV6_CHECKS 1
466 #define UIP_CONF_IPV6_REASSEMBLY 0
467 #define UIP_CONF_MAX_LISTENPORTS 8
470 #define SICSLOWPAN_CONF_COMPRESSION SICSLOWPAN_COMPRESSION_HC06
471 #ifndef SICSLOWPAN_CONF_COMPRESSION_THRESHOLD
472 #define SICSLOWPAN_CONF_COMPRESSION_THRESHOLD 63
474 #ifndef SICSLOWPAN_CONF_FRAG
475 #define SICSLOWPAN_CONF_FRAG 1
477 #define SICSLOWPAN_CONF_MAXAGE 8
480 #define SICSLOWPAN_CONF_MAX_ADDR_CONTEXTS 1
481 #ifndef SICSLOWPAN_CONF_ADDR_CONTEXT_0
482 #define SICSLOWPAN_CONF_ADDR_CONTEXT_0 { \
483 addr_contexts[0].prefix[0] = UIP_DS6_DEFAULT_PREFIX_0; \
484 addr_contexts[0].prefix[1] = UIP_DS6_DEFAULT_PREFIX_1; \
488 #define MAC_CONF_CHANNEL_CHECK_RATE 8
490 #ifndef QUEUEBUF_CONF_NUM
491 #define QUEUEBUF_CONF_NUM 8
496 #define UIP_CONF_IP_FORWARD 1
498 #ifndef UIP_CONF_BUFFER_SIZE
499 #define UIP_CONF_BUFFER_SIZE 108
502 #define RIME_CONF_NO_POLITE_ANNOUCEMENTS 0
504 #ifndef QUEUEBUF_CONF_NUM
505 #define QUEUEBUF_CONF_NUM 8
516 #ifndef CRYPTO_CONF_INIT
517 #define CRYPTO_CONF_INIT 1
521 #define AES_128_CONF cc2538_aes_128_driver
524 #ifndef CCM_STAR_CONF
525 #define CCM_STAR_CONF cc2538_ccm_star_driver