| /* contiki-conf.h - These settings override the default configuration */ |
| |
| /* |
| * Copyright (c) 2016 Intel Corporation |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #include <stdint.h> |
| #include <sys_clock.h> |
| |
| #ifndef __CONTIKI_CONF_H__ |
| #define __CONTIKI_CONF_H__ |
| |
| #define PACK_ALIAS_STRUCT __attribute__((__packed__,__may_alias__)) |
| |
| #define CCIF |
| #define CLIF |
| |
| typedef uint32_t clock_time_t; |
| typedef unsigned int uip_stats_t; |
| |
| #define CLOCK_CONF_SECOND sys_clock_ticks_per_sec |
| |
| /* It is either IPv6 or IPv4 but not both at the same time. */ |
| #ifdef CONFIG_NETWORKING_WITH_IPV6 |
| #define NETSTACK_CONF_WITH_IPV6 1 |
| #define UIP_CONF_ICMP6 1 |
| #elif CONFIG_NETWORKING_WITH_IPV4 |
| #define NETSTACK_CONF_WITH_IPV6 0 |
| #else |
| #error "Either IPv6 or IPv4 needs to be supported." |
| #endif |
| |
| /* The actual MTU size is defined in uipopt.h */ |
| #define UIP_CONF_BUFFER_SIZE UIP_LINK_MTU |
| |
| #ifdef CONFIG_NETWORKING_WITH_TCP |
| #define UIP_CONF_TCP 1 |
| |
| #ifdef CONFIG_TCP_DISABLE_ACTIVE_OPEN |
| #define UIP_CONF_ACTIVE_OPEN 0 |
| #else /* CONFIG_TCP_DISABLE_ACTIVE_OPEN */ |
| #define UIP_CONF_ACTIVE_OPEN 1 |
| #endif /* CONFIG_TCP_DISABLE_ACTIVE_OPEN */ |
| |
| #if CONFIG_TCP_MSS > 0 |
| #define UIP_CONF_TCP_MSS CONFIG_TCP_MSS |
| #endif /* CONFIG_TCP_MSS */ |
| |
| #if CONFIG_TCP_RECEIVE_WINDOW > 0 |
| #define UIP_CONF_RECEIVE_WINDOW CONFIG_TCP_RECEIVE_WINDOW |
| #endif /* CONFIG_TCP_RECEIVE_WINDOW */ |
| |
| #else |
| #define UIP_CONF_TCP 0 |
| #endif |
| |
| /* We do not want to be a router */ |
| #define UIP_CONF_ROUTER 0 |
| |
| /* No Rime */ |
| #define NETSTACK_CONF_WITH_RIME 0 |
| |
| /* How many IPv6 addresses will be allocated for the user (default is 2). |
| * Increased this setting so that user can specify multicast addresses. |
| */ |
| #define UIP_CONF_DS6_ADDR_NBU 4 |
| |
| /* The queuebuf count defines how many fragments we are able to |
| * receive. Value 13 means that we can receive full IPv6 data |
| * (1280 bytes), we need also some extra buffers for temp use. |
| */ |
| #define QUEUEBUF_CONF_NUM (13 + 5) |
| |
| /* Do not just drop packets because of some other packet is sent. |
| * So queue the packet and send it later. |
| */ |
| #define UIP_CONF_IPV6_QUEUE_PKT 1 |
| |
| #ifdef SICSLOWPAN_CONF_ENABLE |
| /* Min and Max compressible UDP ports */ |
| #define SICSLOWPAN_UDP_PORT_MIN 0xF0B0 |
| #define SICSLOWPAN_UDP_PORT_MAX 0xF0BF /* F0B0 + 15 */ |
| #define NETSTACK_CONF_COMPRESS sicslowpan_compression |
| #ifdef CONFIG_NETWORKING_WITH_BT |
| #define NETSTACK_CONF_FRAGMENT null_fragmentation |
| #else |
| #define NETSTACK_CONF_FRAGMENT sicslowpan_fragmentation |
| #endif |
| #else |
| #define NETSTACK_CONF_COMPRESS null_compression |
| #define NETSTACK_CONF_FRAGMENT null_fragmentation |
| #endif /* SICSLOWPAN_CONF_ENABLE */ |
| |
| #ifdef CONFIG_NETWORKING_WITH_15_4 |
| #ifdef CONFIG_NETWORKING_WITH_15_4_PAN_ID |
| #define IEEE802154_CONF_PANID CONFIG_NETWORKING_WITH_15_4_PAN_ID |
| #endif /* CONFIG_NETWORKING_WITH_15_4_PAN_ID */ |
| #define NETSTACK_CONF_FRAMER framer_802154 |
| #ifdef CONFIG_NETWORKING_WITH_6LOWPAN |
| #if defined(CONFIG_NETWORKING_WITH_15_4_RDC_SICSLOWMAC) |
| #define NETSTACK_CONF_RDC sicslowmac_driver |
| #elif defined(CONFIG_NETWORKING_WITH_15_4_RDC_SIMPLE) |
| #define NETSTACK_CONF_RDC simplerdc_driver |
| |
| /* Simple RDC config*/ |
| #ifdef CONFIG_TI_CC2520_AUTO_ACK |
| #define SIMPLERDC_802154_AUTOACK 1 |
| #else |
| #define SIMPLERDC_802154_SEND_ACK 1 |
| #endif |
| |
| #ifdef CONFIG_NETWORKING_WITH_15_4_ALWAYS_ACK |
| #define SIMPLERDC_802154_ACK_REQ 1 |
| #endif |
| #define SIMPLERDC_MAX_RETRANSMISSIONS 3 |
| |
| #endif /* RDC driver */ |
| #endif /* CONFIG_NETWORKING_WITH_6LOWPAN */ |
| #ifdef CONFIG_NETWORKING_WITH_15_4_MAC_NULL |
| #define NETSTACK_CONF_MAC nullmac_driver |
| #endif |
| #ifdef CONFIG_NETWORKING_WITH_15_4_MAC_CSMA |
| #define NETSTACK_CONF_MAC csma_driver |
| #endif |
| #define LINKADDR_CONF_SIZE 8 |
| #define UIP_CONF_LL_802154 1 |
| #define SICSLOWPAN_CONF_MAX_ADDR_CONTEXTS 1 |
| #ifdef CONFIG_6LOWPAN_COMPRESSION_IPHC |
| #define SICSLOWPAN_CONF_COMPRESSION SICSLOWPAN_COMPRESSION_IPHC |
| #else /* 6lowpan compression method */ |
| #define SICSLOWPAN_CONF_COMPRESSION SICSLOWPAN_COMPRESSION_IPV6 |
| #endif /* 6lowpan compression method */ |
| #ifdef CONFIG_15_4_BEACON_SUPPORT |
| #define FRAMER_802154_HANDLER handler_802154_frame_received |
| #endif /* CONFIG_15_4_BEACON_SUPPORT */ |
| #ifdef CONFIG_15_4_BEACON_STATS |
| #define HANDLER_802154_CONF_STATS 1 |
| #endif /* CONFIG_15_4_BEACON_STATS */ |
| #else /* CONFIG_NETWORKING_WITH_15_4 */ |
| #define NETSTACK_CONF_FRAMER framer_nullmac |
| #define NETSTACK_CONF_RDC simplerdc_driver |
| #define NETSTACK_CONF_MAC nullmac_driver |
| #define LINKADDR_CONF_SIZE 6 |
| #ifdef CONFIG_NETWORKING_WITH_BT |
| #define SICSLOWPAN_CONF_COMPRESSION SICSLOWPAN_COMPRESSION_IPHC |
| #endif /* CONFIG_NETWORKING_WITH_BT */ |
| #endif /* CONFIG_NETWORKING_WITH_15_4 */ |
| |
| #define NETSTACK_CONF_LLSEC nullsec_driver |
| |
| #ifdef CONFIG_NETWORKING_WITH_15_4_TI_CC2520 |
| #define NETSTACK_CONF_RADIO cc2520_15_4_radio_driver |
| #endif |
| |
| #ifdef CONFIG_NETWORKING_WITH_RPL |
| #define UIP_MCAST6_CONF_ENGINE UIP_MCAST6_ENGINE_SMRF |
| #define UIP_CONF_IPV6_MULTICAST 1 |
| #ifdef CONFIG_RPL_WITH_MRHOF |
| #define RPL_CONF_OF rpl_mrhof |
| #else |
| #define RPL_CONF_OF rpl_of0 |
| #endif /* CONFIG_RPL_WITH_MRHOF */ |
| #ifdef CONFIG_RPL_PROBING |
| #define RPL_CONF_WITH_PROBING 1 |
| #else |
| #define RPL_CONF_WITH_PROBING 0 |
| #endif /* CONFIG_RPL_PROBING */ |
| #ifdef CONFIG_RPL_STATS |
| #define RPL_CONF_STATS 1 |
| #else |
| #define RPL_CONF_STATS 0 |
| #endif /* CONFIG_RPL_STATS */ |
| #else /* CONFIG_NETWORKING_WITH_RPL */ |
| #define RPL_CONF_STATS 0 |
| #endif |
| |
| #if defined(CONFIG_NETWORKING_STATISTICS) && defined(CONFIG_L2_BUFFERS) |
| #define NET_MAC_CONF_STATS 1 |
| #else |
| #define NET_MAC_CONF_STATS 0 |
| #endif |
| |
| #if defined(CONFIG_COAP_STATS) |
| #define NET_COAP_CONF_STATS 1 |
| #define NET_COAP_STAT(code) (net_coap_stats.code) |
| #else |
| #define NET_COAP_CONF_STATS 0 |
| #define NET_COAP_STAT(code) |
| #endif |
| |
| #ifdef CONFIG_NETWORKING_IPV6_NO_ND |
| /* Disabling ND will simplify the IPv6 address assignment. |
| * This should only be done in testing phase. |
| */ |
| #define UIP_CONF_ND6_SEND_NA 0 |
| #else |
| #define UIP_CONF_ND6_SEND_NA 1 |
| #endif |
| |
| #ifndef NETSTACK_CONF_RADIO |
| /* #error "No radio configured, cannot continue!" */ |
| #endif |
| |
| #ifdef CONFIG_ER_COAP |
| #ifndef REST |
| #define REST REGISTERED_ENGINE_ERBIUM |
| #endif |
| #endif |
| |
| #ifdef CONFIG_ER_COAP_WITH_DTLS |
| #define ER_COAP_WITH_DTLS 1 |
| #else |
| #define ER_COAP_WITH_DTLS 0 |
| #endif |
| |
| #ifdef CONFIG_ER_COAP_CLIENT |
| #define COAP_OBSERVE_CLIENT 1 |
| #else |
| #undef COAP_OBSERVE_CLIENT |
| #endif |
| |
| #ifdef CONFIG_NETWORKING_STATISTICS |
| #define UIP_CONF_STATISTICS 1 |
| #endif |
| |
| #ifdef CONFIG_ETHERNET |
| #define UIP_CONF_LLH_LEN 14 |
| #endif |
| |
| #if defined(CONFIG_UDP_MAX_CONNECTIONS) |
| #define UIP_CONF_UDP_CONNS CONFIG_UDP_MAX_CONNECTIONS |
| #endif |
| |
| #if defined(CONFIG_TCP_MAX_CONNECTIONS) |
| #define UIP_CONF_MAX_CONNECTIONS CONFIG_TCP_MAX_CONNECTIONS |
| #endif |
| |
| #if defined(CONFIG_NETWORKING_MAX_NEIGHBORS) |
| #define NBR_TABLE_CONF_MAX_NEIGHBORS CONFIG_NETWORKING_MAX_NEIGHBORS |
| #endif |
| |
| #endif /* __CONTIKI_CONF_H__ */ |