Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 2 additions & 99 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -232,93 +232,8 @@ if (NOT(ZENOH_LOG_PRINT STREQUAL ""))
endif()
add_compile_definitions("Z_BUILD_LOG=$<CONFIG:Debug>")

# Zenoh pico feature configuration options
set(FRAG_MAX_SIZE 4096 CACHE STRING "Use this to override the maximum size for fragmented messages")
set(BATCH_UNICAST_SIZE 2048 CACHE STRING "Use this to override the maximum unicast batch size")
set(BATCH_MULTICAST_SIZE 2048 CACHE STRING "Use this to override the maximum multicast batch size")
set(Z_CONFIG_SOCKET_TIMEOUT 100 CACHE STRING "Default socket timeout in milliseconds")
set(Z_TRANSPORT_LEASE 10000 CACHE STRING "Link lease duration in milliseconds to announce to other zenoh nodes")
set(Z_TRANSPORT_LEASE_EXPIRE_FACTOR 3 CACHE STRING "Default session lease expire factor.")
set(ZP_PERIODIC_SCHEDULER_MAX_TASKS 64 CACHE STRING "Maximum number of tasks in the periodic scheduler")

set(Z_FEATURE_UNSTABLE_API 0 CACHE STRING "Toggle unstable Zenoh-C API")
set(Z_FEATURE_PUBLICATION 1 CACHE STRING "Toggle publication feature")
set(Z_FEATURE_ADVANCED_PUBLICATION 0 CACHE STRING "Toggle advanced publication feature")
set(Z_FEATURE_SUBSCRIPTION 1 CACHE STRING "Toggle subscription feature")
set(Z_FEATURE_ADVANCED_SUBSCRIPTION 0 CACHE STRING "Toggle advanced subscription feature")
set(Z_FEATURE_QUERY 1 CACHE STRING "Toggle query feature")
set(Z_FEATURE_QUERYABLE 1 CACHE STRING "Toggle queryable feature")
set(Z_FEATURE_LIVELINESS 1 CACHE STRING "Toggle liveliness feature")
set(Z_FEATURE_INTEREST 1 CACHE STRING "Toggle interests")
set(Z_FEATURE_FRAGMENTATION 1 CACHE STRING "Toggle fragmentation")
set(Z_FEATURE_ENCODING_VALUES 1 CACHE STRING "Toggle encoding values")
set(Z_FEATURE_MULTI_THREAD 1 CACHE STRING "Toggle multithread")

set(Z_FEATURE_LINK_TCP 1 CACHE STRING "Toggle TCP links")
set(Z_FEATURE_LINK_BLUETOOTH 0 CACHE STRING "Toggle Bluetooth links")
set(Z_FEATURE_LINK_WS 0 CACHE STRING "Toggle WebSocket links")
set(Z_FEATURE_LINK_SERIAL 0 CACHE STRING "Toggle Serial links")
set(Z_FEATURE_LINK_SERIAL_USB 0 CACHE STRING "Toggle Serial USB links")
set(Z_FEATURE_LINK_TLS 0 CACHE STRING "Toggle TLS links")
set(Z_FEATURE_SCOUTING 1 CACHE STRING "Toggle UDP scouting")
set(Z_FEATURE_LINK_UDP_MULTICAST 1 CACHE STRING "Toggle UDP multicast links")
set(Z_FEATURE_LINK_UDP_UNICAST 1 CACHE STRING "Toggle UDP unicast links")
set(Z_FEATURE_MULTICAST_TRANSPORT 1 CACHE STRING "Toggle multicast transport")
set(Z_FEATURE_UNICAST_TRANSPORT 1 CACHE STRING "Toggle unicast transport")
set(Z_FEATURE_RAWETH_TRANSPORT 0 CACHE STRING "Toggle raw ethernet transport")
set(Z_FEATURE_TCP_NODELAY 1 CACHE STRING "Toggle TCP_NODELAY")
set(Z_FEATURE_LOCAL_SUBSCRIBER 0 CACHE STRING "Toggle local subscriptions")
set(Z_FEATURE_SESSION_CHECK 1 CACHE STRING "Toggle publisher/querier session check")
set(Z_FEATURE_BATCHING 1 CACHE STRING "Toggle batching")
set(Z_FEATURE_BATCH_TX_MUTEX 0 CACHE STRING "Toggle tx mutex lock at a batch level")
set(Z_FEATURE_BATCH_PEER_MUTEX 0 CACHE STRING "Toggle peer mutex lock at a batch level")
set(Z_FEATURE_MATCHING 1 CACHE STRING "Toggle matching feature")
set(Z_FEATURE_RX_CACHE 0 CACHE STRING "Toggle RX_CACHE")
set(Z_FEATURE_UNICAST_PEER 1 CACHE STRING "Toggle Unicast peer mode")
set(Z_FEATURE_AUTO_RECONNECT 1 CACHE STRING "Toggle automatic reconnection")
set(Z_FEATURE_MULTICAST_DECLARATIONS 0 CACHE STRING "Toggle multicast resource declarations")
set(Z_FEATURE_PERIODIC_TASKS 0 CACHE STRING "Toggle periodic task support")

# Add a warning message if someone tries to enable Z_FEATURE_LINK_SERIAL_USB directly
if(Z_FEATURE_LINK_SERIAL_USB AND NOT Z_FEATURE_UNSTABLE_API)
message(WARNING "Z_FEATURE_LINK_SERIAL_USB can only be enabled when Z_FEATURE_UNSTABLE_API is also enabled. Disabling Z_FEATURE_LINK_SERIAL_USB.")
set(Z_FEATURE_LINK_SERIAL_USB 0 CACHE STRING "Toggle Serial USB links" FORCE)
endif()

if(Z_FEATURE_UNICAST_PEER AND NOT Z_FEATURE_MULTI_THREAD)
message(WARNING "Z_FEATURE_UNICAST_PEER can only be enabled when Z_FEATURE_MULTI_THREAD is also enabled. Disabling Z_FEATURE_UNICAST_PEER.")
set(Z_FEATURE_UNICAST_PEER 0 CACHE STRING "Toggle Unicast peer mode" FORCE)
endif()

if(Z_FEATURE_MATCHING AND NOT Z_FEATURE_INTEREST)
message(STATUS "Z_FEATURE_MATCHING can only be enabled when Z_FEATURE_INTEREST is also enabled. Disabling Z_FEATURE_MATCHING.")
set(Z_FEATURE_MATCHING 0 CACHE STRING "Toggle matching feature" FORCE)
endif()

if(Z_FEATURE_SCOUTING AND NOT Z_FEATURE_LINK_UDP_UNICAST)
message(STATUS "Z_FEATURE_SCOUTING disabled because Z_FEATURE_LINK_UDP_UNICAST disabled")
set(Z_FEATURE_SCOUTING 0 CACHE STRING "Toggle scouting feature" FORCE)
endif()

if(Z_FEATURE_ADVANCED_PUBLICATION AND (NOT Z_FEATURE_UNSTABLE_API OR NOT Z_FEATURE_PUBLICATION OR NOT Z_FEATURE_LIVELINESS))
message(WARNING "Z_FEATURE_ADVANCED_PUBLICATION can only be enabled when Z_FEATURE_UNSTABLE_API, Z_FEATURE_PUBLICATION and Z_FEATURE_LIVELINESS is also enabled. Disabling Z_FEATURE_ADVANCED_PUBLICATION.")
set(Z_FEATURE_ADVANCED_PUBLICATION 0 CACHE STRING "Toggle advanced publication feature" FORCE)
endif()

if(Z_FEATURE_ADVANCED_SUBSCRIPTION AND (NOT Z_FEATURE_UNSTABLE_API OR NOT Z_FEATURE_SUBSCRIPTION OR NOT Z_FEATURE_LIVELINESS OR NOT Z_FEATURE_MULTI_THREAD))
message(WARNING "Z_FEATURE_ADVANCED_SUBSCRIPTION can only be enabled when Z_FEATURE_UNSTABLE_API, Z_FEATURE_SUBSCRIPTION, Z_FEATURE_LIVELINESS and Z_FEATURE_MULTI_THREAD is also enabled. Disabling Z_FEATURE_ADVANCED_SUBSCRIPTION.")
set(Z_FEATURE_ADVANCED_SUBSCRIPTION 0 CACHE STRING "Toggle advanced subscription feature" FORCE)
endif()

if(Z_FEATURE_PERIODIC_TASKS AND NOT Z_FEATURE_UNSTABLE_API)
message(WARNING "Z_FEATURE_PERIODIC_TASKS can only be enabled when Z_FEATURE_UNSTABLE_API is also enabled. Disabling Z_FEATURE_PERIODIC_TASKS.")
set(Z_FEATURE_PERIODIC_TASKS 0 CACHE STRING "Toggle periodic task support" FORCE)
endif()

if(Z_FEATURE_ADVANCED_PUBLICATION OR Z_FEATURE_ADVANCED_SUBSCRIPTION)
set(Z_FEATURE_PERIODIC_TASKS 1 CACHE STRING "Toggle periodic task support" FORCE)
endif()

set(ZENOH_PICO_INCLUDEDIR ${CMAKE_CURRENT_SOURCE_DIR}/include)
include(feature_config)

message(STATUS "Building with feature config:\n\
* UNSTABLE_API: ${Z_FEATURE_UNSTABLE_API}\n\
Expand All @@ -335,18 +250,6 @@ message(STATUS "Building with feature config:\n\
* MATCHING: ${Z_FEATURE_MATCHING}\n\
* RAWETH: ${Z_FEATURE_RAWETH_TRANSPORT}")

configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/include/zenoh-pico.h.in
${CMAKE_CURRENT_SOURCE_DIR}/include/zenoh-pico.h
@ONLY
)

configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/include/zenoh-pico/config.h.in
${CMAKE_CURRENT_SOURCE_DIR}/include/zenoh-pico/config.h
@ONLY
)

# Print summary of CMAKE configurations
message(STATUS "Building in ${CMAKE_BUILD_TYPE} mode")
message(STATUS "Build shared library: ${BUILD_SHARED_LIBS}")
Expand Down
98 changes: 98 additions & 0 deletions cmake/feature_config.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# Zenoh pico feature configuration options
set(FRAG_MAX_SIZE 4096 CACHE STRING "Use this to override the maximum size for fragmented messages")
set(BATCH_UNICAST_SIZE 2048 CACHE STRING "Use this to override the maximum unicast batch size")
set(BATCH_MULTICAST_SIZE 2048 CACHE STRING "Use this to override the maximum multicast batch size")
set(Z_CONFIG_SOCKET_TIMEOUT 100 CACHE STRING "Default socket timeout in milliseconds")
set(Z_TRANSPORT_LEASE 10000 CACHE STRING "Link lease duration in milliseconds to announce to other zenoh nodes")
set(Z_TRANSPORT_LEASE_EXPIRE_FACTOR 3 CACHE STRING "Default session lease expire factor.")
set(ZP_PERIODIC_SCHEDULER_MAX_TASKS 64 CACHE STRING "Maximum number of tasks in the periodic scheduler")

set(Z_FEATURE_UNSTABLE_API 0 CACHE STRING "Toggle unstable Zenoh-C API")
set(Z_FEATURE_PUBLICATION 1 CACHE STRING "Toggle publication feature")
set(Z_FEATURE_ADVANCED_PUBLICATION 0 CACHE STRING "Toggle advanced publication feature")
set(Z_FEATURE_SUBSCRIPTION 1 CACHE STRING "Toggle subscription feature")
set(Z_FEATURE_ADVANCED_SUBSCRIPTION 0 CACHE STRING "Toggle advanced subscription feature")
set(Z_FEATURE_QUERY 1 CACHE STRING "Toggle query feature")
set(Z_FEATURE_QUERYABLE 1 CACHE STRING "Toggle queryable feature")
set(Z_FEATURE_LIVELINESS 1 CACHE STRING "Toggle liveliness feature")
set(Z_FEATURE_INTEREST 1 CACHE STRING "Toggle interests")
set(Z_FEATURE_FRAGMENTATION 1 CACHE STRING "Toggle fragmentation")
set(Z_FEATURE_ENCODING_VALUES 1 CACHE STRING "Toggle encoding values")
set(Z_FEATURE_MULTI_THREAD 1 CACHE STRING "Toggle multithread")

set(Z_FEATURE_LINK_TCP 1 CACHE STRING "Toggle TCP links")
set(Z_FEATURE_LINK_BLUETOOTH 0 CACHE STRING "Toggle Bluetooth links")
set(Z_FEATURE_LINK_WS 0 CACHE STRING "Toggle WebSocket links")
set(Z_FEATURE_LINK_SERIAL 0 CACHE STRING "Toggle Serial links")
set(Z_FEATURE_LINK_SERIAL_USB 0 CACHE STRING "Toggle Serial USB links")
set(Z_FEATURE_LINK_TLS 0 CACHE STRING "Toggle TLS links")
set(Z_FEATURE_SCOUTING 1 CACHE STRING "Toggle UDP scouting")
set(Z_FEATURE_LINK_UDP_MULTICAST 1 CACHE STRING "Toggle UDP multicast links")
set(Z_FEATURE_LINK_UDP_UNICAST 1 CACHE STRING "Toggle UDP unicast links")
set(Z_FEATURE_MULTICAST_TRANSPORT 1 CACHE STRING "Toggle multicast transport")
set(Z_FEATURE_UNICAST_TRANSPORT 1 CACHE STRING "Toggle unicast transport")
set(Z_FEATURE_RAWETH_TRANSPORT 0 CACHE STRING "Toggle raw ethernet transport")
set(Z_FEATURE_TCP_NODELAY 1 CACHE STRING "Toggle TCP_NODELAY")
set(Z_FEATURE_LOCAL_SUBSCRIBER 0 CACHE STRING "Toggle local subscriptions")
set(Z_FEATURE_SESSION_CHECK 1 CACHE STRING "Toggle publisher/querier session check")
set(Z_FEATURE_BATCHING 1 CACHE STRING "Toggle batching")
set(Z_FEATURE_BATCH_TX_MUTEX 0 CACHE STRING "Toggle tx mutex lock at a batch level")
set(Z_FEATURE_BATCH_PEER_MUTEX 0 CACHE STRING "Toggle peer mutex lock at a batch level")
set(Z_FEATURE_MATCHING 1 CACHE STRING "Toggle matching feature")
set(Z_FEATURE_RX_CACHE 0 CACHE STRING "Toggle RX_CACHE")
set(Z_FEATURE_UNICAST_PEER 1 CACHE STRING "Toggle Unicast peer mode")
set(Z_FEATURE_AUTO_RECONNECT 1 CACHE STRING "Toggle automatic reconnection")
set(Z_FEATURE_MULTICAST_DECLARATIONS 0 CACHE STRING "Toggle multicast resource declarations")
set(Z_FEATURE_PERIODIC_TASKS 0 CACHE STRING "Toggle periodic task support")

# Add a warning message if someone tries to enable Z_FEATURE_LINK_SERIAL_USB directly
if(Z_FEATURE_LINK_SERIAL_USB AND NOT Z_FEATURE_UNSTABLE_API)
message(WARNING "Z_FEATURE_LINK_SERIAL_USB can only be enabled when Z_FEATURE_UNSTABLE_API is also enabled. Disabling Z_FEATURE_LINK_SERIAL_USB.")
set(Z_FEATURE_LINK_SERIAL_USB 0 CACHE STRING "Toggle Serial USB links" FORCE)
endif()

if(Z_FEATURE_UNICAST_PEER AND NOT Z_FEATURE_MULTI_THREAD)
message(WARNING "Z_FEATURE_UNICAST_PEER can only be enabled when Z_FEATURE_MULTI_THREAD is also enabled. Disabling Z_FEATURE_UNICAST_PEER.")
set(Z_FEATURE_UNICAST_PEER 0 CACHE STRING "Toggle Unicast peer mode" FORCE)
endif()

if(Z_FEATURE_MATCHING AND NOT Z_FEATURE_INTEREST)
message(STATUS "Z_FEATURE_MATCHING can only be enabled when Z_FEATURE_INTEREST is also enabled. Disabling Z_FEATURE_MATCHING.")
set(Z_FEATURE_MATCHING 0 CACHE STRING "Toggle matching feature" FORCE)
endif()

if(Z_FEATURE_SCOUTING AND NOT Z_FEATURE_LINK_UDP_UNICAST)
message(STATUS "Z_FEATURE_SCOUTING disabled because Z_FEATURE_LINK_UDP_UNICAST disabled")
set(Z_FEATURE_SCOUTING 0 CACHE STRING "Toggle scouting feature" FORCE)
endif()

if(Z_FEATURE_ADVANCED_PUBLICATION AND (NOT Z_FEATURE_UNSTABLE_API OR NOT Z_FEATURE_PUBLICATION OR NOT Z_FEATURE_LIVELINESS))
message(WARNING "Z_FEATURE_ADVANCED_PUBLICATION can only be enabled when Z_FEATURE_UNSTABLE_API, Z_FEATURE_PUBLICATION and Z_FEATURE_LIVELINESS is also enabled. Disabling Z_FEATURE_ADVANCED_PUBLICATION.")
set(Z_FEATURE_ADVANCED_PUBLICATION 0 CACHE STRING "Toggle advanced publication feature" FORCE)
endif()

if(Z_FEATURE_ADVANCED_SUBSCRIPTION AND (NOT Z_FEATURE_UNSTABLE_API OR NOT Z_FEATURE_SUBSCRIPTION OR NOT Z_FEATURE_LIVELINESS OR NOT Z_FEATURE_MULTI_THREAD))
message(WARNING "Z_FEATURE_ADVANCED_SUBSCRIPTION can only be enabled when Z_FEATURE_UNSTABLE_API, Z_FEATURE_SUBSCRIPTION, Z_FEATURE_LIVELINESS and Z_FEATURE_MULTI_THREAD is also enabled. Disabling Z_FEATURE_ADVANCED_SUBSCRIPTION.")
set(Z_FEATURE_ADVANCED_SUBSCRIPTION 0 CACHE STRING "Toggle advanced subscription feature" FORCE)
endif()

if(Z_FEATURE_PERIODIC_TASKS AND NOT Z_FEATURE_UNSTABLE_API)
message(WARNING "Z_FEATURE_PERIODIC_TASKS can only be enabled when Z_FEATURE_UNSTABLE_API is also enabled. Disabling Z_FEATURE_PERIODIC_TASKS.")
set(Z_FEATURE_PERIODIC_TASKS 0 CACHE STRING "Toggle periodic task support" FORCE)
endif()

if(Z_FEATURE_ADVANCED_PUBLICATION OR Z_FEATURE_ADVANCED_SUBSCRIPTION)
set(Z_FEATURE_PERIODIC_TASKS 1 CACHE STRING "Toggle periodic task support" FORCE)
endif()

configure_file(
${ZENOH_PICO_INCLUDEDIR}/zenoh-pico.h.in
${ZENOH_PICO_INCLUDEDIR}/zenoh-pico.h
@ONLY
)

configure_file(
${ZENOH_PICO_INCLUDEDIR}/zenoh-pico/config.h.in
${ZENOH_PICO_INCLUDEDIR}/zenoh-pico/config.h
@ONLY
)
2 changes: 2 additions & 0 deletions src/transport/unicast/read.c
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,7 @@ z_result_t _zp_unicast_read(_z_transport_unicast_t *ztu, bool single_read) {

#if Z_FEATURE_MULTI_THREAD == 1 && Z_FEATURE_UNICAST_TRANSPORT == 1

#if Z_FEATURE_UNICAST_PEER == 1
static z_result_t _z_unicast_handle_remaining_data(_z_transport_unicast_t *ztu, _z_transport_peer_unicast_t *peer,
size_t extra_size, size_t *to_read, bool *message_to_process) {
*message_to_process = false;
Expand Down Expand Up @@ -323,6 +324,7 @@ static z_result_t _zp_unicast_process_peer_event(_z_transport_unicast_t *ztu) {
_z_transport_peer_mutex_unlock(&ztu->_common);
return _Z_RES_OK;
}
#endif

void *_zp_unicast_read_task(void *ztu_arg) {
_z_transport_unicast_t *ztu = (_z_transport_unicast_t *)ztu_arg;
Expand Down
72 changes: 49 additions & 23 deletions zephyr/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,32 +1,59 @@
if(CONFIG_ZENOH_PICO)
if(NOT CONFIG_ZENOH_PICO)
return()
endif()

zephyr_compile_definitions(ZENOH_ZEPHYR)
zephyr_include_directories(../include)
zephyr_library()

function(configure_zenoh_feature config)
string(REPLACE CONFIG_ZENOH_PICO Z_FEATURE feature ${config})
if(${config})
zephyr_compile_definitions(${feature}=1)
else()
zephyr_compile_definitions(${feature}=0)
endif()
endfunction()
zephyr_compile_definitions(ZENOH_ZEPHYR)

# Read version file and split it on '.' (dot) to extract components
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/../version.txt version)
string(STRIP "${version}" version)
string(REPLACE "." ";" version_list "${version}")

# Populate the zenoh-pico version variables
set(ZENOH_PICO ${version})
list(POP_FRONT version_list ZENOH_PICO_MAJOR ZENOH_PICO_MINOR ZENOH_PICO_PATCH ZENOH_PICO_TWEAK)

configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/../include/zenoh-pico.h.in
${CMAKE_CURRENT_SOURCE_DIR}/../include/zenoh-pico.h
@ONLY
)

configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/../library.json.in
${CMAKE_CURRENT_SOURCE_DIR}/../library.json
@ONLY
)

configure_zenoh_feature(CONFIG_ZENOH_PICO_LINK_SERIAL)
configure_zenoh_feature(CONFIG_ZENOH_PICO_MULTI_THREAD)
configure_zenoh_feature(CONFIG_ZENOH_PICO_PUBLICATION)
configure_zenoh_feature(CONFIG_ZENOH_PICO_SUBSCRIPTION)
configure_zenoh_feature(CONFIG_ZENOH_PICO_QUERY)
configure_zenoh_feature(CONFIG_ZENOH_PICO_QUERYABLE)
configure_zenoh_feature(CONFIG_ZENOH_PICO_RAWETH_TRANSPORT)
configure_zenoh_feature(CONFIG_ZENOH_PICO_LINK_TCP)
configure_zenoh_feature(CONFIG_ZENOH_PICO_LINK_UDP_UNICAST)
configure_zenoh_feature(CONFIG_ZENOH_PICO_LINK_UDP_MULTICAST)
configure_zenoh_feature(CONFIG_ZENOH_PICO_SCOUTING)
configure_zenoh_feature(CONFIG_ZENOH_PICO_LINK_WS)
function(assign_kconfig feature text)
string(REPLACE Z_FEATURE CONFIG_ZENOH_PICO kconfig ${feature})
set(${feature} ${kconfig} CACHE STRING ${text})
endfunction()

# Zenoh pico feature configuration options
assign_kconfig(Z_FEATURE_LINK_SERIAL "Toggle Serial links")
assign_kconfig(Z_FEATURE_MULTI_THREAD "Toggle multithread")
assign_kconfig(Z_FEATURE_PUBLICATION "Toggle publication feature")
assign_kconfig(Z_FEATURE_SUBSCRIPTION "Toggle subscription feature")
assign_kconfig(Z_FEATURE_QUERY "Toggle query feature")
assign_kconfig(Z_FEATURE_QUERYABLE "Toggle queryable feature")
assign_kconfig(Z_FEATURE_RAWETH_TRANSPORT C"Toggle raw ethernet transport")
assign_kconfig(Z_FEATURE_LINK_TCP "Toggle TCP links")
assign_kconfig(Z_FEATURE_LINK_UDP_UNICAST "Toggle UDP unicast links")
assign_kconfig(Z_FEATURE_LINK_UDP_MULTICAST "Toggle UDP multicast links")
assign_kconfig(Z_FEATURE_SCOUTING "Toggle UDP scouting")
assign_kconfig(Z_FEATURE_LINK_WS "Toggle WebSocket links")
assign_kconfig(Z_FEATURE_MULTICAST_TRANSPORT "Toggle multicast transport")
assign_kconfig(Z_FEATURE_UNICAST_TRANSPORT "Toggle unicast transport")
assign_kconfig(Z_FEATURE_UNICAST_PEER "Toggle Unicast peer mode")
assign_kconfig(Z_FEATURE_AUTO_RECONNECT "Toggle automatic reconnection")
assign_kconfig(Z_FEATURE_INTEREST "Toggle interests protocol")

set(ZENOH_PICO_INCLUDEDIR ${CMAKE_CURRENT_SOURCE_DIR}/../include)
include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/feature_config.cmake)

file(GLOB_RECURSE Sources
"../src/api/*.c"
Expand All @@ -43,4 +70,3 @@ file(GLOB_RECURSE Sources
file (GLOB Sources_Zephyr "../src/system/zephyr/*.c")
list(APPEND Sources ${Sources_Zephyr})
zephyr_library_sources(${Sources})
endif()
34 changes: 33 additions & 1 deletion zephyr/Kconfig.zenoh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ config ZENOH_PICO

if ZENOH_PICO

config ZENOH_PICO_INTEREST
bool "Zenoh interest protocol support"
help
The zenoh interest protocol facilitates features such as
writer side filtering by allowing peers to show interest
in topics and thereby allowing selective publishing logic
based off the presence of interest within the network.

config ZENOH_PICO_LINK_SERIAL
bool "Serial Link"
help
Expand Down Expand Up @@ -40,6 +48,16 @@ config ZENOH_PICO_RAWETH_TRANSPORT
help
Raw Ethernet Support

config ZENOH_PICO_MULTICAST_TRANSPORT
bool "Multicast Transort Support"
help
Multicast Transport Support

config ZENOH_PICO_UNICAST_TRANSPORT
bool "Unicast Transport Support"
help
Unicast Transport Support

config ZENOH_PICO_LINK_TCP
bool "TCP Link"
help
Expand All @@ -55,6 +73,11 @@ config ZENOH_PICO_LINK_UDP_MULTICAST
help
UDP Multicast

config ZENOH_PICO_LINK_SERIAL
bool "Serial Link"
help
Serial Link

config ZENOH_PICO_SCOUTING
bool "Scouting UDP"
help
Expand All @@ -65,5 +88,14 @@ config ZENOH_PICO_LINK_WS
help
WS Link

endif
config ZENOH_PICO_UNICAST_PEER_MODE
bool "Unicast Peer Mode"
help
Unicast Peer Mode

config ZENOH_PICO_AUTO_RECONNECT
bool "Autoreconnect"
help
Autoreconnect

endif
Loading