1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-23 21:43:51 +01:00

net/unicoap: driver modules for CoAP transports

This commit is contained in:
Carl Seifert 2025-07-07 16:49:26 +02:00
parent 6b9e5433e6
commit 501822f560
7 changed files with 76 additions and 0 deletions

View File

@ -511,6 +511,13 @@ PSEUDOMODULES += suit_storage_%
PSEUDOMODULES += sys_bus_%
PSEUDOMODULES += tiny_strerror_as_strerror
PSEUDOMODULES += tiny_strerror_minimal
# An umbrella module for the unicoap_driver_rfc7252_common_pdu
# and unicoap_driver_rfc7252_common_messaging modules
PSEUDOMODULES += unicoap_driver_rfc7252_common
# Alias for unicoap_driver_rfc7252_common_pdu, and is hence a pseudomodule
PSEUDOMODULES += unicoap_driver_rfc7252_pdu
PSEUDOMODULES += usbus_urb
PSEUDOMODULES += vdd_lc_filter_%
## @defgroup pseudomodule_vfs_auto_format vfs_auto_format

View File

@ -1 +1,16 @@
ifneq (,$(filter unicoap_driver_rfc7252_common_pdu,$(USEMODULE)))
DIRS += drivers/rfc7252/common/pdu
endif
ifneq (,$(filter unicoap_driver_rfc7252_common_messaging,$(USEMODULE)))
DIRS += drivers/rfc7252/common/messaging
endif
ifneq (,$(filter unicoap_driver_udp,$(USEMODULE)))
DIRS += drivers/rfc7252/udp
endif
ifneq (,$(filter unicoap_driver_dtls,$(USEMODULE)))
DIRS += drivers/rfc7252/dtls
endif
# MARK: unicoap_driver_extension_point
include $(RIOTBASE)/Makefile.base

View File

@ -2,3 +2,45 @@ ifneq (,$(filter unicoap,$(USEMODULE)))
# Vectored data support
USEMODULE += iolist
endif
# This variable ensures the "No drivers" warning gets printed only once
_UNICOAP_MISSING_DRIVER ?= 0
ifeq (,$(filter %_udp %_dtls %_tcp %_tls %_websocket %_websocket_tls %_rfc7252_common_pdu %_rfc7252_pdu,$(filter unicoap_driver_%,$(USEMODULE))))
ifeq (0, $(_UNICOAP_MISSING_DRIVER))
$(warning No drivers imported, did you forget to import a driver?)
$(info +++ FIXIT: Makefile: USEMODULE += unicoap_driver_dtls for CoAP over DTLS driver)
$(info +++ FIXIT: Makefile: USEMODULE += unicoap_driver_udp for CoAP over UDP driver)
$(info +++ FIXIT: Makefile: USEMODULE += unicoap_driver_rfc7252_pdu for CoAP over UDP/DTLS PDU parser only)
# MARK: unicoap_driver_extension_point
endif
_UNICOAP_MISSING_DRIVER = 1
endif
# Alias for unicoap_driver_rfc7252_common_pdu
ifneq (,$(filter unicoap_driver_rfc7252_pdu,$(USEMODULE)))
USEMODULE += unicoap_driver_rfc7252_common_pdu
endif
# Umbrella pseudomodule enclosing support for PDU/framing and messaging
ifneq (,$(filter unicoap_driver_rfc7252_common,$(USEMODULE)))
# RFC 7252 messaging layer and RFC 7252 PDU parser
USEMODULE += unicoap_driver_rfc7252_common_pdu
USEMODULE += unicoap_driver_rfc7252_common_messaging
endif
ifneq (,$(filter unicoap_driver_udp,$(USEMODULE)))
# CoAP over UDP uses RFC 7252 messaging layer
USEMODULE += unicoap_driver_rfc7252_common
# FIXME: upcoming PR: CoAP over UDP driver implementation
endif
ifneq (,$(filter unicoap_driver_dtls,$(USEMODULE)))
# CoAP over DTLS uses RFC 7252 messaging layer
USEMODULE += unicoap_driver_rfc7252_common
# FIXME: upcoming PR: CoAP over DTLS driver implementation
endif
# MARK: unicoap_driver_extension_point

View File

@ -0,0 +1,3 @@
MODULE = unicoap_driver_rfc7252_common_messaging
include $(RIOTBASE)/Makefile.base

View File

@ -0,0 +1,3 @@
MODULE = unicoap_driver_rfc7252_common_pdu
include $(RIOTBASE)/Makefile.base

View File

@ -0,0 +1,3 @@
MODULE = unicoap_driver_udp
include $(RIOTBASE)/Makefile.base

View File

@ -0,0 +1,3 @@
MODULE = unicoap_driver_udp
include $(RIOTBASE)/Makefile.base