diff --git a/Makefile.dep b/Makefile.dep index 601eea3eebde373a228f59bcb3bedc1450e010c1..89f4d4125f0dfe21f3f45965900ec35aff196861 100644 --- a/Makefile.dep +++ b/Makefile.dep @@ -357,6 +357,23 @@ ifneq (,$(filter posix_semaphore,$(USEMODULE))) USEMODULE += xtimer endif +ifneq (,$(filter emb6_%,$(USEMODULE))) + USEMODULE += emb6 +endif + +ifneq (,$(filter emb6,$(USEMODULE))) + USEPKG += emb6 + USEMODULE += emb6_bsp + USEMODULE += emb6_common + USEMODULE += emb6_ipv6 + USEMODULE += emb6_ipv6_multicast + USEMODULE += emb6_llsec + USEMODULE += emb6_mac + USEMODULE += emb6_rpl + USEMODULE += emb6_sicslowpan + USEMODULE += emb6_utils +endif + ifneq (,$(filter lwip_sixlowpan,$(USEMODULE))) USEMODULE += lwip_ipv6_autoconfig endif diff --git a/Makefile.pseudomodules b/Makefile.pseudomodules index 685d7767cf7dca08dc09f9a81869c5660b29b6ee..e2281166f3ec073f7d474039be49f8aecd6e1a82 100644 --- a/Makefile.pseudomodules +++ b/Makefile.pseudomodules @@ -3,6 +3,7 @@ PSEUDOMODULES += conn_ip PSEUDOMODULES += conn_tcp PSEUDOMODULES += conn_udp PSEUDOMODULES += core_thread_flags +PSEUDOMODULES += emb6_router PSEUDOMODULES += gnrc_netdev_default PSEUDOMODULES += gnrc_ipv6_default PSEUDOMODULES += gnrc_ipv6_router diff --git a/pkg/emb6/Makefile b/pkg/emb6/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..40d3bfaf07eb5957707c1ad51a82bcf68cbfd0fe --- /dev/null +++ b/pkg/emb6/Makefile @@ -0,0 +1,11 @@ +PKG_NAME=emb6 +PKG_URL=https://github.com/hso-esk/emb6.git +PKG_VERSION=14e4a3cfff01644e078870e14e16a1fe60dcc895 +PKG_BUILDDIR ?= $(BINDIRBASE)/pkg/$(BOARD)/$(PKG_NAME) + +.PHONY: all + +all: git-download + "$(MAKE)" -C $(PKG_BUILDDIR) + +include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/emb6/Makefile.include b/pkg/emb6/Makefile.include new file mode 100644 index 0000000000000000000000000000000000000000..505f6e26989b67371c85edce178e36ae05ff66dd --- /dev/null +++ b/pkg/emb6/Makefile.include @@ -0,0 +1,57 @@ +PKG_BUILDDIR ?= $(BINDIRBASE)/pkg/$(BOARD)/emb6 +EMB6_DIR := $(PKG_BUILDDIR) + +INCLUDES += -I$(EMB6_DIR)/target + +ifeq (,$(filter emb6_router,$(USEMODULE))) + CFLAGS += -DEMB6_CONF_ROUTER=FALSE +endif + +ifneq (,$(filter emb6_bsp,$(USEMODULE))) + DIRS += $(EMB6_DIR)/target/bsp +endif + +ifneq (,$(filter emb6_common,$(USEMODULE))) + DIRS += $(EMB6_DIR)/emb6 + INCLUDES += -I$(EMB6_DIR)/emb6 +endif + +ifneq (,$(filter emb6_ipv6,$(USEMODULE))) + DIRS += $(EMB6_DIR)/emb6/src/net/ipv6 + INCLUDES += -I$(EMB6_DIR)/emb6/inc/net/ipv6 +endif + +ifneq (,$(filter emb6_ipv6_multicast,$(USEMODULE))) + DIRS += $(EMB6_DIR)/emb6/src/net/ipv6/multicast + INCLUDES += -I$(EMB6_DIR)/emb6/inc/net/ipv6/multicast +endif + +ifneq (,$(filter emb6_llsec,$(USEMODULE))) + DIRS += $(EMB6_DIR)/emb6/src/mac/llsec + INCLUDES += -I$(EMB6_DIR)/emb6/inc/mac/llsec +endif + +ifneq (,$(filter emb6_mac,$(USEMODULE))) + DIRS += $(EMB6_DIR)/emb6/src/mac + INCLUDES += -I$(EMB6_DIR)/emb6/inc/mac +endif + +ifneq (,$(filter emb6_rpl,$(USEMODULE))) + DIRS += $(EMB6_DIR)/emb6/src/net/rpl + INCLUDES += -I$(EMB6_DIR)/emb6/inc/net/rpl +endif + +ifneq (,$(filter emb6_sicslowpan,$(USEMODULE))) + DIRS += $(EMB6_DIR)/emb6/src/net/sicslowpan + INCLUDES += -I$(EMB6_DIR)/emb6/inc/net/sicslowpan +endif + +ifneq (,$(filter emb6_sock,$(USEMODULE))) + DIRS += $(EMB6_DIR)/emb6/src/tport + INCLUDES += -I$(EMB6_DIR)/emb6/inc/tport +endif + +ifneq (,$(filter emb6_utils,$(USEMODULE))) + DIRS += $(EMB6_DIR)/utils/src + INCLUDES += -I$(EMB6_DIR)/utils/inc +endif diff --git a/pkg/emb6/doc.txt b/pkg/emb6/doc.txt new file mode 100644 index 0000000000000000000000000000000000000000..8afb9ee9db05debcf5081a1b51223710b5a300f7 --- /dev/null +++ b/pkg/emb6/doc.txt @@ -0,0 +1,9 @@ +/** + * @defgroup pkg_emb6 emb6 network stack + * @ingroup pkg + * @brief emb6 network stack + * @see https://github.com/hso-esk/emb6/raw/develop/doc/pdf/emb6.pdf + * + * emb6 is a fork of Contiki's uIP network stack without its usage of + * proto-threads. It uses periodic event polling instead. + */ diff --git a/pkg/emb6/patches/0001-Add-RIOT-Makefiles.patch b/pkg/emb6/patches/0001-Add-RIOT-Makefiles.patch new file mode 100644 index 0000000000000000000000000000000000000000..7f92930002684c0c5f05740b1d91469f09d9f540 Binary files /dev/null and b/pkg/emb6/patches/0001-Add-RIOT-Makefiles.patch differ diff --git a/pkg/emb6/patches/0002-Rename-colliding-files-and-functions.patch b/pkg/emb6/patches/0002-Rename-colliding-files-and-functions.patch new file mode 100644 index 0000000000000000000000000000000000000000..5dfcfd962655f49f0be870ff2dbce066f41ddb3a Binary files /dev/null and b/pkg/emb6/patches/0002-Rename-colliding-files-and-functions.patch differ diff --git a/pkg/emb6/patches/0003-Fix-warnings.patch b/pkg/emb6/patches/0003-Fix-warnings.patch new file mode 100644 index 0000000000000000000000000000000000000000..dfa59d43821b2bce8fb816fbc97422c39f9aeb0d Binary files /dev/null and b/pkg/emb6/patches/0003-Fix-warnings.patch differ diff --git a/pkg/emb6/patches/0004-Provide-event-type-for-RIOT-s-conn_.-_send.patch b/pkg/emb6/patches/0004-Provide-event-type-for-RIOT-s-conn_.-_send.patch new file mode 100644 index 0000000000000000000000000000000000000000..ba76384872852942319836a2fde16d572ccb1d9c Binary files /dev/null and b/pkg/emb6/patches/0004-Provide-event-type-for-RIOT-s-conn_.-_send.patch differ