diff --git a/esp32_toolchain.cmake.in b/esp32_toolchain.cmake.in index 5bc33a7c..24680b85 100644 --- a/esp32_toolchain.cmake.in +++ b/esp32_toolchain.cmake.in @@ -15,6 +15,11 @@ else() set(FLAGS "-mlongcalls -ffunction-sections -fdata-sections" CACHE STRING "" FORCE) endif() +include("@BUILD_CONFIG_DIR@/sdkconfig.cmake" OPTIONAL) +if(CONFIG_LIBC_PICOLIBC) + set(FLAGS "${FLAGS} --specs=picolibc.specs" CACHE STRING "" FORCE) +endif() + set(CMAKE_CROSSCOMPILING 1) set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) set(PLATFORM_NAME "LwIP") @@ -26,10 +31,11 @@ set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_C_COMPILER @CMAKE_C_COMPILER@) set(CMAKE_CXX_COMPILER @CMAKE_CXX_COMPILER@) -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLAGS} ${IDF_INCLUDES}") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-rtti ${FLAGS} ${IDF_INCLUDES}") +set(CMAKE_C_FLAGS "${FLAGS} ${IDF_INCLUDES}" CACHE STRING "" FORCE) +set(CMAKE_CXX_FLAGS "-fno-exceptions -fno-rtti ${FLAGS} ${IDF_INCLUDES}" CACHE STRING "" FORCE) -add_compile_definitions(ESP_PLATFORM LWIP_IPV4 LWIP_IPV6 PLATFORM_NAME_FREERTOS) +# Workaround for https://github.com/ros2/rcutils/issues/552 +add_compile_definitions(ESP_PLATFORM LWIP_IPV4 LWIP_IPV6 PLATFORM_NAME_FREERTOS __STDC_WANT_LIB_EXT1__=1) include_directories( "@BUILD_CONFIG_DIR@" diff --git a/network_interfaces/uros_wlan_netif.c b/network_interfaces/uros_wlan_netif.c index b2a8460a..f2f5a35d 100644 --- a/network_interfaces/uros_wlan_netif.c +++ b/network_interfaces/uros_wlan_netif.c @@ -85,7 +85,11 @@ static void wifi_init_sta(void) }, }; ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA) ); +#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(6, 0, 0) + ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config) ); +#else ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config) ); +#endif ESP_ERROR_CHECK(esp_wifi_start() ); ESP_LOGI(TAG, "wifi_init_sta finished.");