Go to the documentation of this file.
45 #ifndef CONTIKI_CONF_H_
46 #define CONTIKI_CONF_H_
53 #include PROJECT_CONF_H
62 #define CLOCK_CONF_SECOND 128
69 typedef uint32_t clock_time_t;
70 typedef uint32_t uip_stats_t;
76 typedef uint32_t rtimer_clock_t;
77 #define RTIMER_CLOCK_DIFF(a, b) ((int32_t)((a) - (b)))
80 #define TSCH_CONF_HW_FRAME_FILTERING 0
83 #define RADIO_DELAY_BEFORE_TX ((unsigned)US_TO_RTIMERTICKS(352))
85 #define RADIO_DELAY_BEFORE_RX ((unsigned)US_TO_RTIMERTICKS(250))
86 #define RADIO_DELAY_BEFORE_DETECT 0
93 #ifndef FLASH_CCA_CONF_BOOTLDR_BACKDOOR
94 #define FLASH_CCA_CONF_BOOTLDR_BACKDOOR 1
97 #ifndef FLASH_CCA_CONF_BOOTLDR_BACKDOOR_PORT_A_PIN
98 #define FLASH_CCA_CONF_BOOTLDR_BACKDOOR_PORT_A_PIN 3
101 #ifndef FLASH_CCA_CONF_BOOTLDR_BACKDOOR_ACTIVE_HIGH
102 #define FLASH_CCA_CONF_BOOTLDR_BACKDOOR_ACTIVE_HIGH 0
112 #ifndef COFFEE_CONF_SIZE
113 #define COFFEE_CONF_SIZE (4 * COFFEE_SECTOR_SIZE)
122 #ifndef WATCHDOG_CONF_ENABLE
123 #define WATCHDOG_CONF_ENABLE 1
134 #define CTRL_EP_SIZE 8
135 #define USB_EP1_SIZE 32
136 #define USB_EP2_SIZE 64
137 #define USB_EP3_SIZE 64
138 #define USB_ARCH_WRITE_NOTIFY 0
140 #ifndef USB_ARCH_CONF_DMA
141 #define USB_ARCH_CONF_DMA 1
151 #ifndef ENERGEST_CONF_ON
152 #define ENERGEST_CONF_ON 0
155 #ifndef STARTUP_CONF_VERBOSE
156 #define STARTUP_CONF_VERBOSE 1
165 #define USB_ARCH_CONF_RX_DMA_CHAN 0
166 #define USB_ARCH_CONF_TX_DMA_CHAN 1
167 #define CC2538_RF_CONF_TX_DMA_CHAN 2
168 #define CC2538_RF_CONF_RX_DMA_CHAN 3
169 #define UDMA_CONF_MAX_CHANNEL CC2538_RF_CONF_RX_DMA_CHAN
177 #ifndef UART_CONF_ENABLE
178 #define UART_CONF_ENABLE 1
181 #ifndef UART0_CONF_BAUD_RATE
182 #define UART0_CONF_BAUD_RATE 115200
185 #ifndef UART1_CONF_BAUD_RATE
186 #define UART1_CONF_BAUD_RATE 115200
189 #ifndef SLIP_ARCH_CONF_USB
190 #define SLIP_ARCH_CONF_USB 0
193 #ifndef CC2538_RF_CONF_SNIFFER_USB
194 #define CC2538_RF_CONF_SNIFFER_USB 0
198 #define DBG_CONF_USB 0
201 #ifndef SERIAL_LINE_CONF_UART
202 #define SERIAL_LINE_CONF_UART 0
205 #if !SLIP_ARCH_CONF_USB
206 #ifndef SLIP_ARCH_CONF_UART
207 #define SLIP_ARCH_CONF_UART 0
211 #if !CC2538_RF_CONF_SNIFFER_USB
212 #ifndef CC2538_RF_CONF_SNIFFER_UART
213 #define CC2538_RF_CONF_SNIFFER_UART 0
218 #ifndef DBG_CONF_UART
219 #define DBG_CONF_UART 0
223 #ifndef UART1_CONF_UART
224 #define UART1_CONF_UART 0
229 #define SLIP_BRIDGE_CONF_NO_PUTCHAR 1
230 #define SLIP_RADIO_CONF_NO_PUTCHAR 1
232 #ifndef SLIP_ARCH_CONF_ENABLED
238 #if defined(UIP_FALLBACK_INTERFACE) || defined(CMD_CONF_OUTPUT)
239 #define SLIP_ARCH_CONF_ENABLED 1
248 #ifndef CC2538_RF_CONF_SNIFFER
249 #define CC2538_RF_CONF_SNIFFER 0
258 #ifndef CC2538_CONF_QUIET
259 #define CC2538_CONF_QUIET 0
263 #if CC2538_CONF_QUIET
264 #undef USB_SERIAL_CONF_ENABLE
265 #define USB_SERIAL_CONF_ENABLE 0
267 #undef UART_CONF_ENABLE
268 #define UART_CONF_ENABLE 0
270 #undef STARTUP_CONF_VERBOSE
271 #define STARTUP_CONF_VERBOSE 0
274 #if CC2538_RF_CONF_SNIFFER
275 #error "CC2538_RF_CONF_SNIFFER == 1 and CC2538_CONF_QUIET == 1"
276 #error "These values are conflicting. Please set either to 0"
283 #ifndef USB_SERIAL_CONF_ENABLE
284 #define USB_SERIAL_CONF_ENABLE \
285 ((SLIP_ARCH_CONF_USB & SLIP_ARCH_CONF_ENABLED) | \
287 (CC2538_RF_CONF_SNIFFER & CC2538_RF_CONF_SNIFFER_USB))
294 #if SLIP_ARCH_CONF_ENABLED
295 #define DBG_CONF_SLIP_MUX (SLIP_ARCH_CONF_USB == DBG_CONF_USB && \
296 (SLIP_ARCH_CONF_USB || \
297 SLIP_ARCH_CONF_UART == DBG_CONF_UART))
303 #define UART_IN_USE_BY_SERIAL_LINE(u) (SERIAL_LINE_CONF_UART == (u))
304 #define UART_IN_USE_BY_SLIP(u) (SLIP_ARCH_CONF_ENABLED && \
305 !SLIP_ARCH_CONF_USB && \
306 SLIP_ARCH_CONF_UART == (u))
307 #define UART_IN_USE_BY_RF_SNIFFER(u) (CC2538_RF_CONF_SNIFFER && \
308 !CC2538_RF_CONF_SNIFFER_USB && \
309 CC2538_RF_CONF_SNIFFER_UART == (u))
310 #define UART_IN_USE_BY_DBG(u) (!DBG_CONF_USB && DBG_CONF_UART == (u))
311 #define UART_IN_USE_BY_UART1(u) (UART1_CONF_UART == (u))
313 #define UART_IN_USE(u) ( \
314 UART_CONF_ENABLE && \
315 (UART_IN_USE_BY_SERIAL_LINE(u) || \
316 UART_IN_USE_BY_SLIP(u) || \
317 UART_IN_USE_BY_RF_SNIFFER(u) || \
318 UART_IN_USE_BY_DBG(u) || \
319 UART_IN_USE_BY_UART1(u)) \
331 #ifndef NETSTACK_CONF_NETWORK
332 #if NETSTACK_CONF_WITH_IPV6
333 #define NETSTACK_CONF_NETWORK sicslowpan_driver
335 #define NETSTACK_CONF_NETWORK rime_driver
339 #ifndef NETSTACK_CONF_MAC
340 #define NETSTACK_CONF_MAC csma_driver
343 #ifndef NETSTACK_CONF_RDC
344 #define NETSTACK_CONF_RDC contikimac_driver
348 #define NULLRDC_802154_AUTOACK 1
349 #define NULLRDC_802154_AUTOACK_HW 1
352 #define CONTIKIMAC_CONF_WITH_PHASE_OPTIMIZATION 0
353 #define WITH_FAST_SLEEP 1
355 #ifndef NETSTACK_CONF_RDC_CHANNEL_CHECK_RATE
356 #define NETSTACK_CONF_RDC_CHANNEL_CHECK_RATE 8
359 #ifndef NETSTACK_CONF_FRAMER
360 #if NETSTACK_CONF_WITH_IPV6
361 #define NETSTACK_CONF_FRAMER framer_802154
363 #define NETSTACK_CONF_FRAMER contikimac_framer
368 #if ZOUL_RADIO == 1120
369 #define NETSTACK_CONF_RADIO cc1120_driver
370 #elif ZOUL_RADIO == 1200
371 #define NETSTACK_CONF_RADIO cc1200_driver
372 #elif ZOUL_RADIO == 0
373 #warning "NULL RADIO"
374 #define NETSTACK_CONF_RADIO nullradio_driver
376 #define NETSTACK_CONF_RADIO cc2538_rf_driver
387 #if REMOTE_DUAL_RF_ENABLED
388 #define ANTENNA_SW_SELECT_DEFAULT ANTENNA_SW_SELECT_SUBGHZ
390 #ifndef ANTENNA_SW_SELECT_DEF_CONF
391 #define ANTENNA_SW_SELECT_DEFAULT ANTENNA_SW_SELECT_2_4GHZ
393 #define ANTENNA_SW_SELECT_DEFAULT ANTENNA_SW_SELECT_DEF_CONF
403 #ifndef LPM_CONF_ENABLE
404 #define LPM_CONF_ENABLE 1
413 #ifndef LPM_CONF_MAX_PM
414 #define LPM_CONF_MAX_PM 2
417 #ifndef LPM_CONF_STATS
418 #define LPM_CONF_STATS 0
433 #ifndef IEEE_ADDR_CONF_HARDCODED
434 #define IEEE_ADDR_CONF_HARDCODED 0
441 #ifndef IEEE_ADDR_CONF_ADDRESS
442 #define IEEE_ADDR_CONF_ADDRESS { 0x00, 0x12, 0x4B, 0x00, 0x89, 0xAB, 0xCD, 0xEF }
451 #ifndef IEEE_ADDR_CONF_USE_SECONDARY_LOCATION
452 #define IEEE_ADDR_CONF_USE_SECONDARY_LOCATION 0
462 #ifndef IEEE802154_CONF_PANID
463 #define IEEE802154_CONF_PANID 0xABCD
466 #ifndef CC2538_RF_CONF_CHANNEL
467 #define CC2538_RF_CONF_CHANNEL 26
470 #ifndef CC2538_RF_CONF_AUTOACK
471 #define CC2538_RF_CONF_AUTOACK 1
474 #ifndef CC2538_RF_CONF_TX_USE_DMA
475 #define CC2538_RF_CONF_TX_USE_DMA 1
478 #ifndef CC2538_RF_CONF_RX_USE_DMA
479 #define CC2538_RF_CONF_RX_USE_DMA 1
490 #ifndef NETSTACK_CONF_WITH_IPV6
491 #define NETSTACK_CONF_WITH_IPV6 0
494 #if NETSTACK_CONF_WITH_IPV6
497 #define LINKADDR_CONF_SIZE 8
498 #define UIP_CONF_LL_802154 1
499 #define UIP_CONF_LLH_LEN 0
500 #define UIP_CONF_NETIF_MAX_ADDRESSES 3
504 #define UIP_CONF_TCP 1
506 #ifndef UIP_CONF_TCP_MSS
507 #define UIP_CONF_TCP_MSS 64
509 #define UIP_CONF_UDP 1
510 #define UIP_CONF_UDP_CHECKSUMS 1
511 #define UIP_CONF_ICMP6 1
514 #ifndef UIP_CONF_ROUTER
515 #define UIP_CONF_ROUTER 1
518 #define UIP_CONF_ND6_SEND_RA 0
519 #define UIP_CONF_IP_FORWARD 0
520 #define RPL_CONF_STATS 0
523 #define RPL_CONF_OF rpl_mrhof
526 #define UIP_CONF_ND6_REACHABLE_TIME 600000
527 #define UIP_CONF_ND6_RETRANS_TIMER 10000
529 #ifndef NBR_TABLE_CONF_MAX_NEIGHBORS
530 #define NBR_TABLE_CONF_MAX_NEIGHBORS 16
532 #ifndef UIP_CONF_MAX_ROUTES
533 #define UIP_CONF_MAX_ROUTES 16
537 #ifndef UIP_CONF_BUFFER_SIZE
538 #define UIP_CONF_BUFFER_SIZE 1300
541 #define UIP_CONF_IPV6_QUEUE_PKT 0
542 #define UIP_CONF_IPV6_CHECKS 1
543 #define UIP_CONF_IPV6_REASSEMBLY 0
544 #define UIP_CONF_MAX_LISTENPORTS 8
547 #define SICSLOWPAN_CONF_COMPRESSION SICSLOWPAN_COMPRESSION_HC06
548 #ifndef SICSLOWPAN_CONF_COMPRESSION_THRESHOLD
549 #define SICSLOWPAN_CONF_COMPRESSION_THRESHOLD 63
551 #ifndef SICSLOWPAN_CONF_FRAG
552 #define SICSLOWPAN_CONF_FRAG 1
554 #define SICSLOWPAN_CONF_MAXAGE 8
557 #define SICSLOWPAN_CONF_MAX_ADDR_CONTEXTS 1
558 #ifndef SICSLOWPAN_CONF_ADDR_CONTEXT_0
559 #define SICSLOWPAN_CONF_ADDR_CONTEXT_0 { \
560 addr_contexts[0].prefix[0] = UIP_DS6_DEFAULT_PREFIX_0; \
561 addr_contexts[0].prefix[1] = UIP_DS6_DEFAULT_PREFIX_1; \
565 #define MAC_CONF_CHANNEL_CHECK_RATE 8
567 #ifndef QUEUEBUF_CONF_NUM
568 #define QUEUEBUF_CONF_NUM 8
573 #define UIP_CONF_IP_FORWARD 1
575 #ifndef UIP_CONF_BUFFER_SIZE
576 #define UIP_CONF_BUFFER_SIZE 108
579 #define RIME_CONF_NO_POLITE_ANNOUCEMENTS 0
581 #ifndef QUEUEBUF_CONF_NUM
582 #define QUEUEBUF_CONF_NUM 8
593 #ifndef CRYPTO_CONF_INIT
594 #define CRYPTO_CONF_INIT 1
598 #define AES_128_CONF cc2538_aes_128_driver
601 #ifndef CCM_STAR_CONF
602 #define CCM_STAR_CONF cc2538_ccm_star_driver
613 #define CC1120TXERDEBUG 1
615 #define CC1120RXERDEBUG 1
622 #define RF_CHANNEL 42
624 #define CC1120_CS_THRESHOLD 0x9C //0xE7
659 #define CC1120_LBT_TIMEOUT RTIMER_ARCH_SECOND //80
660 #define CC1120_ACK_WAIT RTIMER_ARCH_SECOND/667
662 #define CC1120_INTER_PACKET_INTERVAL RTIMER_ARCH_SECOND/300 //275 //222
664 #define CC1120_EN_TIMEOUT RTIMER_ARCH_SECOND/500
666 #define CC1120_FHSS_ETSI_50 1
667 #define CC1120_FHSS_FCC_50 0
669 #define CC1120_OFF_STATE CC1120_STATE_XOFF
673 #define CC1120_GPIO_MODE 2
675 #define CC1120_GPIO0_FUNC CC1120_GPIO_MCU_WAKEUP
677 #define CC1120_GPIO2_FUNC CC1120_GPIO_RX0TX1_CFG
678 #define CC1120_GPIO3_FUNC CC1120_GPIO_RX0TX1_CFG
686 #if ZOUL_RADIO == 1120
688 #define CONTIKIMAC_CONF_CCA_CHECK_TIME RTIMER_ARCH_SECOND/1600
689 #define CONTIKIMAC_CONF_CCA_COUNT_MAX 2
690 #define CONTIKIMAC_CONF_WITH_PHASE_OPTIMIZATION 0
691 #define RDC_CONF_HARDWARE_CSMA 0
692 #define RDC_CONF_HARDWARE_ACK 1
693 #define CONTIKIMAC_CONF_INTER_PACKET_INTERVAL 0 //RTIMER_ARCH_SECOND/400
694 #define CONTIKIMAC_CONF_CCA_SLEEP_TIME RTIMER_ARCH_SECOND/210 //210 ~4.8ms 140
695 #define CONTIKIMAC_CONF_LISTEN_TIME_AFTER_PACKET_DETECTED RTIMER_ARCH_SECOND/20
696 #define CONTIKIMAC_CONF_SHORTEST_PACKET_SIZE 36
698 #define NULLRDC_CONF_802154_AUTOACK_HW 1
699 #define CC1120_CONF_AUTOACK 1
700 #define CONTIKIMAC_CONF_WITH_CONTIKIMAC_HEADER 0