ifneq (,$(filter openwsn_openstack,$(USEMODULE))) USEMODULE += openwsn_iphc USEMODULE += openwsn_ipv6 USEMODULE += openwsn_mac_low USEMODULE += openwsn_mac_high USEMODULE += openwsn_crosslayers USEMODULE += openwsn_drivers USEMODULE += openwsn_sctimer USEMODULE += openwsn_radio USEMODULE += openwsn_openweb USEMODULE += openwsn_openapps USEMODULE += openwsn_scheduler DEFAULT_MODULE += auto_init_openwsn endif ifneq (,$(filter openwsn_scheduler,$(USEMODULE))) # allow to mock the scheduler as needed ifeq (,$(filter openwsn_scheduler_mock,$(USEMODULE))) USEMODULE += openwsn_riotos endif endif ifneq (,$(filter openwsn_riotos,$(USEMODULE))) USEMODULE += event USEMODULE += event_callback USEMODULE += memarray endif ifneq (,$(filter openwsn_ipv6,$(USEMODULE))) USEMODULE += ipv6 DEFAULT_MODULE += openwsn_icmpv6_echo endif ifneq (,$(filter openwsn_cjoin,$(USEMODULE))) USEMODULE += openwsn_coap USEMODULE += openwsn_crypto endif ifneq (,$(filter openwsn_coap,$(USEMODULE))) # The implementation of sock_udp used by openwsn_coap is asynchronous USEMODULE += openwsn_sock_async endif ifneq (,$(filter openwsn_crypto,$(USEMODULE))) USEMODULE += cipher_modes endif ifneq (,$(filter openwsn_radio,$(USEMODULE))) # enable default network devices on the platform USEMODULE += netdev_default USEMODULE += netdev USEMODULE += luid ifneq (,$(filter cc2538_rf nrf802154,$(USEMODULE))) USEMODULE += openwsn_radio_hal endif ifneq (,$(filter at86rf2xx,$(USEMODULE))) USEMODULE += openwsn_radio_netdev endif endif ifneq (,$(filter openwsn_radio_hal,$(USEMODULE))) # Used here only for dependency resolution DISABLE_MODULE += auto_init_gnrc_netif endif ifneq (,$(filter openwsn_sctimer,$(USEMODULE))) ifeq (,$(filter openwsn_sctimer_ztimer,$(USEMODULE))) USEMODULE += openwsn_sctimer_rtt endif endif ifneq (,$(filter openwsn_sctimer_ztimer,$(USEMODULE))) USEMODULE += ztimer_usec USEMODULE += ztimer_msec endif ifneq (,$(filter openwsn_sctimer_rtt,$(USEMODULE))) FEATURES_REQUIRED += periph_rtt endif ifneq (,$(filter openwsn_serial,$(USEMODULE))) USEMODULE += openwsn_drivers USEMODULE += ztimer_usec FEATURES_REQUIRED += periph_uart FEATURES_OPTIONAL += periph_uart_nonblocking endif ifneq (,$(filter openwsn_leds openwsn_debugpins,$(USEMODULE))) FEATURES_REQUIRED += periph_gpio endif ifneq (,$(filter openwsn_debugpins,$(USEMODULE))) FEATURES_REQUIRED += periph_gpio_irq endif ifneq (,$(filter sock_udp,$(USEMODULE))) USEMODULE += ipv6_addr USEMODULE += openwsn_udp USEMODULE += openwsn_sock_udp endif ifneq (,$(filter openwsn_sock%,$(USEMODULE))) USEMODULE += openwsn_sock USEMODULE += core_mbox USEMODULE += ztimer_usec endif ifneq (,$(filter openwsn_sock_async,$(USEMODULE))) USEMODULE += sock_async endif ifneq (,$(filter shell_commands,$(USEMODULE))) USEMODULE += l2util endif # This port currently requires setting ISR_STACKSIZE FEATURES_BLACKLIST += arch_esp32 arch_esp8266 arch_riscv arch_avr8