From c40d909f150781833e55df7a53f3fc1f8fe12b14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20H=C3=B6pfinger?= Date: Sun, 28 Jun 2026 18:04:47 +0200 Subject: [PATCH] Updated submodule components/open62541/repo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit feat: port to ESP-IDF 6.0 and open62541 v1.5.4 - Update open62541 build to freertos-lwip architecture (renamed from freertosLWIP), providing FreeRTOS stub and no_install.cmake to satisfy CMake configure without a host FreeRTOS source tree - Fix UA_NS0_BLACKLIST option name (was UA_FILE_NS0_BLACKLIST) - Enable UA_ENABLE_TYPEDESCRIPTION (required by JSON encoding + Events) - Switch BUILD_COMMAND to open62541-amalgamation target - Add patch_config.cmake to disable UA_HAS_GETIFADDR in generated config.h (not available on FreeRTOS/ESP32) - Add compat_includes/ wrappers for FreeRTOS.h and task.h (IDF 5+ requires freertos/ prefix) - Suppress all warnings on generated open62541.c (third-party file) - Add gethostname() shim to custom_getaddrinfo.c - Fix nodes_blacklist.txt: remove ~900 nodes that are transitively referenced by active nodes (DataType, HasTypeDefinition, reference type lookups) - Migrate main.c APIs for IDF 5+/6: - UA_String_deleteMembers/UA_LocalizedText_deleteMembers → _clear - tcpip_adapter → esp_netif - spi_flash_init/get_chip_size → esp_flash_get_size - sntp_* → esp_sntp_* - esp_task_wdt_init → esp_task_wdt_config_t struct - UA_ServerConfig.customHostname → serverUrls - UA_ARCHITECTURE_FREERTOSLWIP guard moved after open62541.h include - Add CONFIG_ETHERNET_HELPER_CUSTOM_HOSTNAME to sdkconfig.defaults - Extend factory partition to 3 MB (binary grew with v1.5.4 full NS0) - Add spi_flash to main component REQUIRES Co-Authored-By: Claude Sonnet 4.6 --- .gitignore | 7 +- CMakeLists.txt | 2 +- components/ethernet_helper/CMakeLists.txt | 2 +- components/ethernet_helper/connect.c | 2 +- components/open62541/CMakeLists.txt | 31 +- .../open62541/compat_includes/FreeRTOS.h | 1 + components/open62541/compat_includes/task.h | 1 + components/open62541/custom_getaddrinfo.c | 12 + .../open62541/freertos_stub/CMakeLists.txt | 4 + components/open62541/no_install.cmake | 6 + components/open62541/patch_config.cmake | 7 + components/open62541/repo | 2 +- main/CMakeLists.txt | 5 +- main/idf_component.yml | 4 + main/main.c | 70 +- nodes_blacklist.txt | 1081 ----------------- partitions_example.csv | 4 +- sdkconfig.defaults | 2 + 18 files changed, 108 insertions(+), 1135 deletions(-) create mode 100644 components/open62541/compat_includes/FreeRTOS.h create mode 100644 components/open62541/compat_includes/task.h create mode 100644 components/open62541/freertos_stub/CMakeLists.txt create mode 100644 components/open62541/no_install.cmake create mode 100644 components/open62541/patch_config.cmake create mode 100644 main/idf_component.yml diff --git a/.gitignore b/.gitignore index b1c2198..9d33cd2 100644 --- a/.gitignore +++ b/.gitignore @@ -72,4 +72,9 @@ fabric.properties .idea/httpRequests # Android studio 3.1+ serialized cache file -.idea/caches/build_file_checksums.ser \ No newline at end of file +.idea/caches/build_file_checksums.ser +managed_components/ + +*.lock + +.cache/ diff --git a/CMakeLists.txt b/CMakeLists.txt index fa30c0b..3d088dc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ # The following lines of boilerplate have to be in your project's # CMakeLists in this exact order for cmake to work correctly -cmake_minimum_required(VERSION 3.2) +cmake_minimum_required(VERSION 3.22) set(SUPPORTED_TARGETS esp32) diff --git a/components/ethernet_helper/CMakeLists.txt b/components/ethernet_helper/CMakeLists.txt index bdc699c..deecdcc 100644 --- a/components/ethernet_helper/CMakeLists.txt +++ b/components/ethernet_helper/CMakeLists.txt @@ -1,4 +1,4 @@ idf_component_register(SRCS "connect.c" INCLUDE_DIRS "include" - REQUIRES lwip mdns + REQUIRES lwip mdns esp_wifi esp_eth ) diff --git a/components/ethernet_helper/connect.c b/components/ethernet_helper/connect.c index 50fd230..e7c4fdb 100644 --- a/components/ethernet_helper/connect.c +++ b/components/ethernet_helper/connect.c @@ -203,7 +203,7 @@ static void start(void) }; ESP_LOGI(TAG, "Connecting to %s...", wifi_config.sta.ssid); ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA)); - ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config)); + ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config)); ESP_ERROR_CHECK(esp_wifi_start()); #ifdef CONFIG_ETHERNET_HELPER_CUSTOM_HOSTNAME diff --git a/components/open62541/CMakeLists.txt b/components/open62541/CMakeLists.txt index 7e733cb..327bbfb 100644 --- a/components/open62541/CMakeLists.txt +++ b/components/open62541/CMakeLists.txt @@ -9,26 +9,33 @@ endif() idf_component_register( SRCS custom_getaddrinfo.c REQUIRES lwip vfs freertos ${ADDITIONAL_REQUIRES} - PRIV_INCLUDE_DIRS ${IDF_PATH}/components/freertos/include/freertos ) set_property(SOURCE ${CMAKE_BINARY_DIR}/open62541/open62541.c PROPERTY GENERATED 1) +set_source_files_properties(${CMAKE_BINARY_DIR}/open62541/open62541.c + PROPERTIES COMPILE_FLAGS "-w") target_sources(${COMPONENT_LIB} PRIVATE ${CMAKE_BINARY_DIR}/open62541/open62541.c) -target_include_directories(${COMPONENT_LIB} PUBLIC ${CMAKE_BINARY_DIR}/open62541) +target_include_directories(${COMPONENT_LIB} BEFORE PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR}/compat_includes + ${CMAKE_BINARY_DIR}/open62541) set(open62541_OPTIONS - "-DUA_ARCHITECTURE=freertosLWIP" + "-DUA_ARCHITECTURE=freertos-lwip" + "-DFREERTOS_KERNEL_PATH=${CMAKE_CURRENT_SOURCE_DIR}/freertos_stub" + "-DFREERTOS_PORT_PATH=${CMAKE_CURRENT_SOURCE_DIR}/freertos_stub" "-DUA_ENABLE_AMALGAMATION=ON" "-DUA_NAMESPACE_ZERO=FULL" "-DUA_ENABLE_SUBSCRIPTIONS_EVENTS=ON" "-DUA_ENABLE_DISCOVERY=ON" "-DUA_ENABLE_DISCOVERY_MULTICAST=ON" - "-DUA_ENABLE_TYPEDESCRIPTION=OFF" + "-DUA_ENABLE_TYPEDESCRIPTION=ON" "-DUA_ENABLE_STATUSCODE_DESCRIPTIONS=ON" "-DUA_LOGLEVEL=300" "-DUA_ENABLE_NODESET_COMPILER_DESCRIPTIONS=OFF" - "-DUA_FILE_NS0_BLACKLIST=${CMAKE_CURRENT_SOURCE_DIR}/../../nodes_blacklist.txt" + "-DUA_NS0_BLACKLIST=${CMAKE_CURRENT_SOURCE_DIR}/../../nodes_blacklist.txt" "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}" + "-DLWIP_LIBRARIES=${CMAKE_BINARY_DIR}/esp-idf/lwip/liblwip.a" + "-DCMAKE_PROJECT_INCLUDE_BEFORE=${CMAKE_CURRENT_SOURCE_DIR}/no_install.cmake" ) @@ -36,16 +43,26 @@ if (USE_ENCRYPTION) set(open62541_OPTIONS ${open62541_OPTIONS} "-DUA_ENABLE_ENCRYPTION=ON") endif() +set(open62541_CONFIG_H "${CMAKE_BINARY_DIR}/open62541/src_generated/open62541/config.h") + externalproject_add(open62541_build SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/repo #GIT_REPOSITORY https://github.com/open62541/open62541.git # Latest tested commit on master branch. Newer may work. You can also use 'master' directly as GIT_TAG value #GIT_TAG 76a6cab604fb5309c91a8849183417da1383d3d9 BINARY_DIR "${CMAKE_BINARY_DIR}/open62541" + LIST_SEPARATOR "|" CMAKE_ARGS ${open62541_OPTIONS} - BUILD_COMMAND cmake --build . --target open62541-code-generation + "-DLWIP_INCLUDE_DIRS=${IDF_PATH}/components/lwip/lwip/src/include|${IDF_PATH}/components/lwip/port/include|${IDF_PATH}/components/lwip/include" + PATCH_COMMAND ${CMAKE_COMMAND} -E echo "Patching config.h for ESP32 target" + BUILD_COMMAND + ${CMAKE_COMMAND} -DCONFIG_H=${open62541_CONFIG_H} -P + ${CMAKE_CURRENT_SOURCE_DIR}/patch_config.cmake + && cmake --build . --target open62541-amalgamation INSTALL_COMMAND "" ) add_dependencies(${COMPONENT_TARGET} open62541_build) -target_compile_options(${COMPONENT_LIB} PUBLIC -DUA_getaddrinfo=custom_getaddrinfo -DUA_ENABLE_AMALGAMATION -DUA_ARCHITECTURE_FREERTOSLWIP -DUA_ARCHITECTURE_FREERTOSLWIP_POSIX_CLOCK) \ No newline at end of file +# Note: UA_getaddrinfo is internally mapped to lwip_getaddrinfo in open62541 v1.5.4. +# The custom_getaddrinfo workaround for ESP32 hostname resolution would need +# a linker-level override (--wrap=lwip_getaddrinfo) if still required. \ No newline at end of file diff --git a/components/open62541/compat_includes/FreeRTOS.h b/components/open62541/compat_includes/FreeRTOS.h new file mode 100644 index 0000000..235f85e --- /dev/null +++ b/components/open62541/compat_includes/FreeRTOS.h @@ -0,0 +1 @@ +#include diff --git a/components/open62541/compat_includes/task.h b/components/open62541/compat_includes/task.h new file mode 100644 index 0000000..2ccfade --- /dev/null +++ b/components/open62541/compat_includes/task.h @@ -0,0 +1 @@ +#include diff --git a/components/open62541/custom_getaddrinfo.c b/components/open62541/custom_getaddrinfo.c index 83b6bf2..47b6f70 100644 --- a/components/open62541/custom_getaddrinfo.c +++ b/components/open62541/custom_getaddrinfo.c @@ -2,6 +2,18 @@ #include #include +#include +#include "sdkconfig.h" + +int gethostname(char *name, size_t len) { +#ifdef CONFIG_ETHERNET_HELPER_CUSTOM_HOSTNAME + strncpy(name, CONFIG_ETHERNET_HELPER_CUSTOM_HOSTNAME_STR, len - 1); +#else + strncpy(name, CONFIG_LWIP_LOCAL_HOSTNAME, len - 1); +#endif + name[len - 1] = '\0'; + return 0; +} int custom_getaddrinfo(const char *nodename, const char *servname, diff --git a/components/open62541/freertos_stub/CMakeLists.txt b/components/open62541/freertos_stub/CMakeLists.txt new file mode 100644 index 0000000..b29489d --- /dev/null +++ b/components/open62541/freertos_stub/CMakeLists.txt @@ -0,0 +1,4 @@ +# Stub for FreeRTOS kernel used during open62541 amalgamation generation. +# The real FreeRTOS is provided by ESP-IDF when cross-compiling for ESP32. +cmake_minimum_required(VERSION 3.16) +add_library(freertos_kernel INTERFACE) diff --git a/components/open62541/no_install.cmake b/components/open62541/no_install.cmake new file mode 100644 index 0000000..8ce51e9 --- /dev/null +++ b/components/open62541/no_install.cmake @@ -0,0 +1,6 @@ +# Override install() and export() for the open62541 ExternalProject build. +# We only need the amalgamation, not a proper CMake install. +macro(install) +endmacro() +macro(export) +endmacro() diff --git a/components/open62541/patch_config.cmake b/components/open62541/patch_config.cmake new file mode 100644 index 0000000..5b4477d --- /dev/null +++ b/components/open62541/patch_config.cmake @@ -0,0 +1,7 @@ +# Patch open62541 config.h to remove host-detected defines not available on ESP32/FreeRTOS +if(EXISTS "${CONFIG_H}") + file(READ "${CONFIG_H}" config_content) + string(REPLACE "#define UA_HAS_GETIFADDR 1" "/* #undef UA_HAS_GETIFADDR (not available on FreeRTOS/ESP32) */" config_content "${config_content}") + file(WRITE "${CONFIG_H}" "${config_content}") + message(STATUS "Patched ${CONFIG_H}: disabled UA_HAS_GETIFADDR") +endif() diff --git a/components/open62541/repo b/components/open62541/repo index 5478e56..dfd44a2 160000 --- a/components/open62541/repo +++ b/components/open62541/repo @@ -1 +1 @@ -Subproject commit 5478e563159ecc3269ccce3d3088135776ca933a +Subproject commit dfd44a234645ed29cc6d190048bc8ae80c5454cd diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index 64403fd..85fe5f9 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -1,15 +1,12 @@ idf_component_register(SRCS "main.c" - PRIV_INCLUDE_DIRS ${IDF_PATH}/components/freertos/include/freertos - REQUIRES open62541 ethernet_helper nvs_flash esp_adc_cal) + REQUIRES open62541 ethernet_helper nvs_flash esp_adc spi_flash) # Build static library, do not build test executables option(BUILD_SHARED_LIBS OFF) option(BUILD_TESTING OFF) # ESP32 is little endian -#add_definitions(-DUA_ENABLE_AMALGAMATION -DUA_ARCHITECTURE_FREERTOSLWIP -DUA_ARCHITECTURE_FREERTOSLWIP_POSIX_CLOCK) -#add_definitions(-Wno-ignored-qualifiers) # Unfortunately the library performs install and export. Would # have been nice if devs made that an option like BUILD_SHARED_LIBS diff --git a/main/idf_component.yml b/main/idf_component.yml new file mode 100644 index 0000000..c084576 --- /dev/null +++ b/main/idf_component.yml @@ -0,0 +1,4 @@ +dependencies: + espressif/mdns: + version: ^1.0.0 + idf: '>=5.0' diff --git a/main/main.c b/main/main.c index 11d0884..160b6af 100644 --- a/main/main.c +++ b/main/main.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -19,7 +20,11 @@ #include "freertos/task.h" #include "esp_netif.h" +#include "esp_chip_info.h" #include "ethernet_helper.h" +#ifdef CONFIG_ETHERNET_HELPER_WIFI +#include "esp_wifi.h" +#endif #ifdef CONFIG_IDF_TARGET_ESP32 #define CHIP_NAME "ESP32" @@ -29,12 +34,12 @@ #define CHIP_NAME "ESP32-S2 Beta" #endif -#ifndef UA_ARCHITECTURE_FREERTOSLWIP -#error UA_ARCHITECTURE_FREERTOSLWIP needs to be defined -#endif - #include +#if !defined(UA_ARCHITECTURE_LWIP) || !defined(UA_ARCHITECTURE_FREERTOS) +#error UA_ARCHITECTURE_LWIP and UA_ARCHITECTURE_FREERTOS need to be defined +#endif + #include #include @@ -54,16 +59,16 @@ RTC_DATA_ATTR static int boot_count = 0; static UA_StatusCode UA_ServerConfig_setUriName(UA_ServerConfig *uaServerConfig, const char *uri, const char *name) { // delete pre-initialized values - UA_String_deleteMembers(&uaServerConfig->applicationDescription.applicationUri); - UA_LocalizedText_deleteMembers(&uaServerConfig->applicationDescription.applicationName); + UA_String_clear(&uaServerConfig->applicationDescription.applicationUri); + UA_LocalizedText_clear(&uaServerConfig->applicationDescription.applicationName); uaServerConfig->applicationDescription.applicationUri = UA_String_fromChars(uri); uaServerConfig->applicationDescription.applicationName.locale = UA_STRING_NULL; uaServerConfig->applicationDescription.applicationName.text = UA_String_fromChars(name); for (size_t i = 0; i < uaServerConfig->endpointsSize; i++) { - UA_String_deleteMembers(&uaServerConfig->endpoints[i].server.applicationUri); - UA_LocalizedText_deleteMembers( + UA_String_clear(&uaServerConfig->endpoints[i].server.applicationUri); + UA_LocalizedText_clear( &uaServerConfig->endpoints[i].server.applicationName); UA_String_copy(&uaServerConfig->applicationDescription.applicationUri, @@ -103,30 +108,21 @@ static void opcua_task(void *arg) { caps[1] = UA_String_fromChars("NA"); config->mdnsConfig.serverCapabilities = caps; - // We need to set the default IP address for mDNS since internally it's not able to detect it. - tcpip_adapter_ip_info_t default_ip; - esp_err_t ret = tcpip_adapter_get_ip_info(TCPIP_ADAPTER_IF_STA, &default_ip); - if ((ESP_OK == ret) && (default_ip.ip.addr != INADDR_ANY)) { - config->mdnsIpAddressListSize = 1; - config->mdnsIpAddressList = (uint32_t *)UA_malloc(sizeof(uint32_t)*config->mdnsIpAddressListSize); - memcpy(config->mdnsIpAddressList, &default_ip.ip.addr, sizeof(uint32_t)); - } else { - ESP_LOGI(TAG_OPC, "Could not get default IP Address!"); - } #endif UA_ServerConfig_setUriName(config, appUri, "open62541 ESP32 Demo"); #ifndef CONFIG_ETHERNET_HELPER_CUSTOM_HOSTNAME - #ifndef ETHERNET_HELPER_STATIC_IP4 + #ifndef CONFIG_ETHERNET_HELPER_STATIC_IP4 #error You need to set a static IP or a custom hostname with menuconfig #else - UA_String str = UA_STRING(CONFIG_ETHERNET_HELPER_STATIC_IP4_ADDRESS); + #define UA_SERVER_HOSTNAME CONFIG_ETHERNET_HELPER_STATIC_IP4_ADDRESS #endif #else - UA_String str = UA_STRING(CONFIG_ETHERNET_HELPER_CUSTOM_HOSTNAME_STR); + #define UA_SERVER_HOSTNAME CONFIG_ETHERNET_HELPER_CUSTOM_HOSTNAME_STR #endif - UA_String_clear(&config->customHostname); - UA_String_copy(&str, &config->customHostname); + config->serverUrls = (UA_String *)UA_Array_new(1, &UA_TYPES[UA_TYPES_STRING]); + config->serverUrlsSize = 1; + config->serverUrls[0] = UA_STRING_ALLOC("opc.tcp://" UA_SERVER_HOSTNAME ":4840"); printf("xPortGetFreeHeapSize before create = %d bytes\n", xPortGetFreeHeapSize()); @@ -168,10 +164,10 @@ void time_sync_notification_cb(struct timeval *tv) static void initialize_sntp(void) { ESP_LOGI(TAG, "Initializing SNTP"); - sntp_setoperatingmode(SNTP_OPMODE_POLL); - sntp_setservername(0, "pool.ntp.org"); - sntp_set_time_sync_notification_cb(time_sync_notification_cb); - sntp_init(); + esp_sntp_setoperatingmode(SNTP_OPMODE_POLL); + esp_sntp_setservername(0, "pool.ntp.org"); + esp_sntp_set_time_sync_notification_cb(time_sync_notification_cb); + esp_sntp_init(); } static bool obtain_time(void) @@ -185,7 +181,7 @@ static bool obtain_time(void) memset(&timeinfo, 0, sizeof(struct tm)); int retry = 0; const int retry_count = 10; - while (sntp_get_sync_status() == SNTP_SYNC_STATUS_RESET && ++retry <= retry_count) { + while (esp_sntp_get_sync_status() == SNTP_SYNC_STATUS_RESET && ++retry <= retry_count) { ESP_LOGI(TAG, "Waiting for system time to be set... (%d/%d)", retry, retry_count); vTaskDelay(2000 / portTICK_PERIOD_MS); ESP_ERROR_CHECK(esp_task_wdt_reset()); @@ -239,11 +235,11 @@ void app_main(void) (chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "", (chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : ""); - spi_flash_init(); - printf("silicon revision %d, ", chip_info.revision); - printf("%dMB %s flash\n", spi_flash_get_chip_size() / (1024 * 1024), + uint32_t flash_size = 0; + esp_flash_get_size(NULL, &flash_size); + printf("%dMB %s flash\n", (int)(flash_size / (1024 * 1024)), (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external"); printf("Heap Info:\n"); @@ -259,10 +255,12 @@ void app_main(void) esp_netif_init(); ESP_ERROR_CHECK(esp_event_loop_create_default()); - ESP_ERROR_CHECK(esp_task_wdt_init(10, true)); - // Remove idle tasks from watchdog - ESP_ERROR_CHECK(esp_task_wdt_delete(xTaskGetIdleTaskHandleForCPU(0))); - ESP_ERROR_CHECK(esp_task_wdt_delete(xTaskGetIdleTaskHandleForCPU(1))); + const esp_task_wdt_config_t wdt_config = { + .timeout_ms = 10000, + .idle_core_mask = 0, + .trigger_panic = true, + }; + ESP_ERROR_CHECK(esp_task_wdt_init(&wdt_config)); /* Register event handlers to stop the server when Wi-Fi or Ethernet is disconnected, * and re-start it upon connection. @@ -280,4 +278,4 @@ void app_main(void) ESP_ERROR_CHECK(ethernet_helper_connect()); -} \ No newline at end of file +} diff --git a/nodes_blacklist.txt b/nodes_blacklist.txt index 3285716..eb11d71 100644 --- a/nodes_blacklist.txt +++ b/nodes_blacklist.txt @@ -1,5 +1,4 @@ i=79 -i=83 i=94 #i=95 #i=96 @@ -9,10 +8,6 @@ i=99 i=100 i=101 i=102 -i=104 -i=105 -i=106 -i=107 i=111 i=112 i=113 @@ -43,24 +38,16 @@ i=293 #i=296 i=297 i=298 -i=299 i=300 i=301 -i=302 i=303 -i=304 i=305 i=306 -i=307 -i=308 i=309 i=310 i=311 -i=312 i=313 i=314 -i=315 -i=316 i=317 i=318 i=319 @@ -78,21 +65,16 @@ i=333 #i=338 i=339 i=340 -i=344 i=345 i=346 i=347 i=348 -i=376 i=377 i=378 -i=379 i=380 i=381 -i=382 i=383 i=384 -i=385 i=386 i=387 i=388 @@ -110,7 +92,6 @@ i=576 i=583 i=584 i=585 -i=586 i=587 i=588 i=589 @@ -125,7 +106,6 @@ i=597 i=598 i=599 i=600 -i=601 i=602 i=603 i=659 @@ -134,15 +114,12 @@ i=661 i=719 i=720 i=721 -i=725 i=726 i=727 #i=851 #i=852 -i=853 i=854 i=855 -i=856 i=857 i=858 #i=859 @@ -151,38 +128,28 @@ i=861 #i=862 i=863 i=864 -i=865 i=866 i=867 -i=868 i=869 i=870 -i=871 i=872 i=873 -i=874 i=875 i=876 -i=877 i=878 i=879 #i=884 i=885 i=886 -i=887 i=888 i=889 -i=890 -i=891 i=892 i=893 i=894 i=895 i=896 -i=897 i=898 i=899 -i=920 i=921 i=922 i=938 @@ -199,28 +166,8 @@ i=2003 #i=2005 #i=2006 #i=2007 -i=2008 -i=2009 -i=2010 -i=2011 -i=2012 #i=2013 -i=2014 -i=2016 -i=2017 -i=2019 #i=2020 -i=2021 -i=2022 -i=2023 -i=2025 -i=2026 -i=2027 -i=2028 -i=2029 -i=2030 -i=2031 -i=2032 #i=2033 #i=2034 #i=2035 @@ -294,101 +241,12 @@ i=2129 i=2130 i=2131 i=2132 -i=2133 -i=2134 -i=2137 #i=2138 #i=2139 #i=2140 #i=2141 #i=2142 #i=2150 -i=2151 -i=2152 -i=2153 -i=2154 -i=2155 -i=2156 -i=2157 -i=2159 -i=2160 -i=2161 -i=2162 -i=2163 -i=2164 -i=2165 -i=2166 -i=2171 -i=2172 -i=2173 -i=2174 -i=2175 -i=2176 -i=2177 -i=2179 -i=2180 -i=2181 -i=2182 -i=2183 -i=2184 -i=2185 -i=2186 -i=2187 -i=2188 -i=2189 -i=2190 -i=2191 -i=2193 -i=2196 -i=2197 -i=2198 -i=2199 -i=2200 -i=2201 -i=2202 -i=2203 -i=2204 -i=2205 -i=2206 -i=2207 -i=2208 -i=2209 -i=2217 -i=2218 -i=2219 -i=2220 -i=2221 -i=2222 -i=2223 -i=2224 -i=2225 -i=2226 -i=2227 -i=2228 -i=2229 -i=2230 -i=2231 -i=2232 -i=2233 -i=2234 -i=2235 -i=2236 -i=2237 -i=2238 -i=2239 -i=2240 -i=2241 -i=2242 -i=2243 -i=2244 -i=2245 -i=2246 -i=2247 -i=2248 -i=2249 -i=2250 -i=2251 -i=2252 #i=2253 #i=2254 #i=2255 @@ -410,37 +268,15 @@ i=2252 #i=2272 #i=2274 #i=2275 -i=2276 -i=2277 -i=2278 -i=2279 -i=2281 -i=2282 -i=2284 -i=2285 -i=2286 -i=2287 -i=2288 -i=2289 -i=2290 #i=2294 #i=2295 #i=2296 #i=2299 #i=2307 -i=2308 i=2309 #i=2310 #i=2311 -i=2312 i=2315 -i=2318 -i=2323 -i=2324 -i=2325 -i=2326 -i=2327 -i=2328 i=2330 i=2331 i=2332 @@ -471,8 +307,6 @@ i=2362 i=2363 i=2364 #i=2365 -i=2366 -i=2367 #i=2368 #i=2369 i=2372 @@ -502,7 +336,6 @@ i=2390 #i=2396 #i=2397 #i=2398 -i=2399 #i=2400 #i=2401 #i=2402 @@ -534,18 +367,11 @@ i=2399 #i=2428 #i=2429 #i=2430 -i=2730 -i=2731 -i=2732 -i=2733 -i=2734 #i=2735 #i=2736 #i=2737 i=2738 i=2739 -i=2742 -i=2744 i=2745 i=2746 i=2747 @@ -553,9 +379,6 @@ i=2748 i=2749 i=2750 i=2751 -i=2752 -i=2753 -i=2754 #i=2755 #i=2756 #i=2757 @@ -585,33 +408,13 @@ i=2787 i=2788 i=2789 i=2790 -i=2803 -i=2829 i=2830 i=2831 i=2881 -i=2915 -i=2929 -i=2930 -i=2932 -i=2933 -i=2935 -i=2936 -i=2940 -i=2942 -i=2943 -i=2945 -i=2947 -i=2948 -i=2949 i=2955 -i=2991 #i=2992 #i=2993 #i=2994 -i=2996 -i=2997 -i=2998 i=2999 i=3003 i=3006 @@ -638,8 +441,6 @@ i=3033 i=3034 #i=3035 i=3048 -i=3049 -i=3050 #i=3051 #i=3052 #i=3053 @@ -647,11 +448,8 @@ i=3050 #i=3055 #i=3056 #i=3057 -i=3058 -i=3059 i=3062 i=3063 -i=3065 i=3067 i=3068 i=3069 @@ -669,112 +467,7 @@ i=3073 #i=3081 #i=3082 #i=3083 -i=3084 -i=3085 -i=3086 -i=3087 -i=3088 -i=3089 -i=3090 -i=3091 -i=3092 -i=3093 -i=3094 -i=3095 -i=3096 -i=3097 -i=3098 -i=3099 -i=3100 -i=3101 -i=3102 -i=3104 -i=3105 -i=3106 -i=3107 -i=3108 -i=3110 -i=3111 -i=3112 -i=3113 -i=3114 -i=3115 -i=3116 -i=3117 -i=3118 -i=3119 -i=3120 -i=3121 -i=3122 -i=3124 -i=3125 -i=3126 -i=3127 -i=3128 -i=3129 -i=3130 -i=3131 -i=3132 -i=3133 -i=3134 -i=3135 -i=3136 -i=3137 -i=3138 -i=3139 -i=3140 -i=3141 -i=3142 -i=3143 -i=3151 -i=3152 -i=3153 -i=3154 -i=3155 -i=3156 -i=3157 -i=3158 -i=3159 -i=3160 -i=3161 -i=3162 -i=3163 -i=3164 -i=3165 -i=3166 -i=3167 -i=3168 -i=3169 -i=3170 -i=3171 -i=3172 -i=3173 -i=3174 -i=3175 -i=3176 -i=3177 -i=3178 -i=3179 -i=3180 -i=3181 -i=3182 -i=3183 -i=3184 -i=3185 -i=3186 -i=3187 #i=3190 -i=3698 -i=3699 -i=3700 -i=3701 -i=3702 -i=3703 -i=3704 -i=3705 -i=3706 -i=3707 -i=3708 #i=3709 #i=3720 #i=3724 @@ -787,39 +480,13 @@ i=3806 i=3825 i=3826 #i=3830 -i=3831 -i=3833 #i=3835 -i=3836 -i=3838 -i=3839 -i=3840 -i=3841 -i=3842 -i=3843 -i=3844 -i=3845 -i=3846 -i=3847 -i=3848 -i=3849 #i=3850 i=3874 i=3875 i=3876 -i=6098 -i=6100 -i=6101 -i=7591 -i=7594 -i=7595 i=7596 -i=7597 -i=7598 i=7605 -i=7611 -i=7612 -i=7614 i=7616 i=7617 i=7619 @@ -916,36 +583,13 @@ i=8873 i=8876 i=8879 i=8882 -i=8888 -i=8889 -i=8890 -i=8891 -i=8892 -i=8893 -i=8894 -i=8895 -i=8896 -i=8897 -i=8898 -i=8900 -i=8902 #i=8912 i=8913 i=8914 i=8917 i=8918 -i=8927 -i=8944 i=8961 -i=8995 -i=8996 -i=9000 -i=9001 -i=9002 -i=9003 -i=9004 i=9005 -i=9006 i=9009 i=9010 i=9011 @@ -996,34 +640,6 @@ i=9111 i=9112 i=9113 i=9114 -i=9115 -i=9118 -i=9119 -i=9160 -i=9161 -i=9164 -i=9165 -i=9166 -i=9167 -i=9168 -i=9169 -i=9170 -i=9174 -i=9176 -i=9177 -i=9178 -i=9179 -i=9180 -i=9184 -i=9185 -i=9188 -i=9189 -i=9211 -i=9212 -i=9213 -i=9214 -i=9215 -i=9216 i=9318 i=9329 i=9330 @@ -1080,12 +696,8 @@ i=10522 i=10523 i=10637 i=10751 -i=11093 -i=11110 -i=11111 i=11112 i=11113 -i=11120 i=11124 i=11125 i=11126 @@ -1095,16 +707,7 @@ i=11163 i=11164 i=11165 i=11166 -i=11168 -i=11169 -i=11170 -i=11171 i=11172 -i=11187 -i=11188 -i=11189 -i=11190 -i=11191 i=11192 i=11193 i=11196 @@ -1143,21 +746,13 @@ i=11286 i=11287 i=11288 i=11292 -i=11293 i=11304 i=11305 i=11306 i=11307 i=11308 i=11312 -i=11313 i=11314 -i=11322 -i=11323 -i=11324 -i=11325 -i=11326 -i=11327 i=11340 i=11341 i=11342 @@ -1170,45 +765,23 @@ i=11432 i=11433 i=11436 i=11446 -i=11456 i=11461 i=11485 i=11487 i=11488 -i=11489 -i=11490 -i=11491 #i=11492 -i=11493 -i=11494 i=11498 -i=11499 -i=11500 i=11501 i=11502 i=11505 i=11506 i=11507 -i=11508 i=11509 -i=11510 i=11511 i=11512 i=11513 -i=11527 -i=11549 -i=11550 #i=11551 -i=11562 #i=11564 -i=11565 -i=11567 -i=11569 -i=11570 -i=11571 -i=11572 -i=11573 -i=11574 i=11575 i=11576 i=11579 @@ -1227,50 +800,10 @@ i=11591 i=11592 i=11593 i=11594 -i=11595 -i=11615 #i=11616 -i=11617 -i=11618 -i=11619 -i=11620 -i=11621 -i=11622 -i=11623 -i=11624 -i=11625 -i=11628 -i=11629 -i=11630 -i=11631 -i=11632 -i=11633 -i=11634 -i=11635 -i=11636 -i=11637 -i=11638 -i=11639 -i=11640 -i=11641 -i=11642 -i=11643 #i=11645 -i=11646 -i=11647 -i=11648 -i=11649 -i=11650 -i=11651 -i=11652 -i=11653 i=11696 -i=11697 -i=11698 -i=11699 i=11701 -i=11702 -i=11703 #i=11704 #i=11705 #i=11707 @@ -1283,24 +816,13 @@ i=11703 #i=11715 i=11737 i=11753 -i=11851 -i=11852 -i=11853 i=11854 -i=11855 -i=11856 -i=11875 -i=11876 i=11878 i=11881 i=11884 -i=11885 -i=11891 -i=11892 i=11939 i=11940 i=11943 -i=11944 i=11945 i=11948 i=11949 @@ -1330,9 +852,6 @@ i=12066 i=12067 i=12068 i=12076 -i=12077 -i=12078 -i=12079 i=12080 i=12081 i=12082 @@ -1342,70 +861,6 @@ i=12089 i=12090 i=12091 i=12094 -i=12097 -i=12098 -i=12099 -i=12100 -i=12101 -i=12102 -i=12103 -i=12104 -i=12105 -i=12106 -i=12107 -i=12108 -i=12109 -i=12110 -i=12111 -i=12112 -i=12113 -i=12114 -i=12115 -i=12116 -i=12117 -i=12118 -i=12119 -i=12120 -i=12121 -i=12122 -i=12123 -i=12124 -i=12125 -i=12126 -i=12127 -i=12128 -i=12129 -i=12130 -i=12131 -i=12132 -i=12133 -i=12134 -i=12135 -i=12136 -i=12137 -i=12138 -i=12139 -i=12140 -i=12141 -i=12142 -i=12143 -i=12144 -i=12145 -i=12146 -i=12147 -i=12148 -i=12149 -i=12150 -i=12151 -i=12152 -i=12161 -i=12162 -i=12163 -i=12164 -i=12165 -i=12166 -i=12167 -i=12168 i=12169 i=12170 i=12171 @@ -1425,21 +880,9 @@ i=12207 i=12213 i=12502 i=12503 -i=12522 -i=12542 -i=12543 -i=12544 -i=12545 -i=12546 -i=12547 -i=12548 -i=12549 -i=12550 -i=12551 i=12552 i=12553 i=12554 -i=12555 i=12556 i=12557 i=12558 @@ -1492,9 +935,6 @@ i=12680 i=12681 i=12686 i=12687 -i=12690 -i=12691 -i=12705 i=12708 i=12710 i=12712 @@ -1510,12 +950,6 @@ i=12738 i=12739 i=12740 i=12745 -i=12746 -i=12747 -i=12748 -i=12749 -i=12750 -i=12751 i=12755 i=12756 i=12757 @@ -1530,112 +964,11 @@ i=12775 i=12776 i=12777 i=12778 -i=12779 -i=12780 -i=12781 -i=12782 -i=12783 -i=12784 -i=12785 -i=12786 -i=12787 -i=12788 -i=12789 -i=12790 -i=12791 -i=12792 -i=12793 -i=12794 -i=12795 -i=12796 -i=12797 -i=12798 -i=12799 -i=12800 -i=12801 -i=12802 -i=12803 -i=12804 -i=12805 -i=12806 -i=12807 -i=12808 -i=12809 -i=12810 -i=12811 -i=12812 -i=12813 -i=12814 -i=12815 -i=12816 -i=12817 -i=12818 -i=12819 -i=12820 -i=12821 -i=12822 -i=12823 -i=12824 -i=12825 -i=12826 -i=12827 -i=12828 -i=12829 -i=12830 -i=12831 -i=12832 -i=12833 -i=12834 -i=12835 -i=12836 -i=12837 -i=12838 -i=12839 -i=12840 -i=12841 -i=12842 -i=12843 -i=12844 -i=12845 -i=12846 -i=12847 -i=12848 -i=12849 -i=12850 -i=12851 -i=12852 -i=12853 -i=12854 -i=12855 -i=12856 -i=12857 -i=12858 -i=12859 -i=12860 -i=12861 -i=12862 -i=12863 -i=12864 -i=12865 -i=12866 -i=12867 -i=12868 -i=12869 -i=12871 -i=12872 -i=12873 -i=12874 i=12877 i=12878 i=12879 i=12880 i=12881 -i=12882 -i=12883 -i=12884 -i=12885 -i=12886 -i=12887 i=12890 i=12891 i=12892 @@ -1647,14 +980,8 @@ i=12901 i=12902 i=12905 i=12908 -i=12910 -i=12911 i=12912 i=12913 -i=13225 -i=13325 -i=13326 -i=13327 i=13341 i=13353 i=13354 @@ -1698,141 +1025,11 @@ i=13394 i=13395 i=13396 i=13397 -i=13599 -i=13600 -i=13601 -i=13602 -i=13603 -i=13605 -i=13606 -i=13607 -i=13608 -i=13609 -i=13610 -i=13611 -i=13612 -i=13613 -i=13614 -i=13615 -i=13616 -i=13617 -i=13618 -i=13619 -i=13620 -i=13621 -i=13622 -i=13623 -i=13631 i=13735 i=13736 i=13737 i=13738 i=13739 -i=13813 -i=13814 -i=13815 -i=13816 -i=13817 -i=13818 -i=13819 -i=13821 -i=13822 -i=13823 -i=13824 -i=13825 -i=13826 -i=13827 -i=13828 -i=13829 -i=13830 -i=13831 -i=13832 -i=13833 -i=13834 -i=13835 -i=13836 -i=13837 -i=13838 -i=13839 -i=13847 -i=13848 -i=13849 -i=13850 -i=13851 -i=13852 -i=13853 -i=13855 -i=13856 -i=13857 -i=13858 -i=13859 -i=13860 -i=13861 -i=13862 -i=13863 -i=13864 -i=13865 -i=13866 -i=13867 -i=13868 -i=13869 -i=13870 -i=13871 -i=13872 -i=13873 -i=13881 -i=13882 -i=13883 -i=13884 -i=13885 -i=13886 -i=13887 -i=13889 -i=13890 -i=13891 -i=13892 -i=13893 -i=13894 -i=13895 -i=13896 -i=13897 -i=13898 -i=13899 -i=13900 -i=13901 -i=13902 -i=13903 -i=13904 -i=13905 -i=13906 -i=13907 -i=13915 -i=13916 -i=13917 -i=13918 -i=13919 -i=13920 -i=13921 -i=13923 -i=13924 -i=13925 -i=13926 -i=13927 -i=13928 -i=13929 -i=13930 -i=13931 -i=13932 -i=13933 -i=13934 -i=13935 -i=13936 -i=13937 -i=13938 -i=13939 -i=13940 -i=13941 -i=13949 i=13950 i=13951 i=13952 @@ -1937,7 +1134,6 @@ i=14221 i=14225 i=14226 i=14232 -i=14273 i=14319 i=14320 i=14323 @@ -1976,11 +1172,9 @@ i=14499 i=14500 i=14509 i=14519 -i=14523 i=14524 i=14525 i=14528 -i=14533 i=14534 i=14548 i=14555 @@ -1993,7 +1187,6 @@ i=14572 i=14586 i=14587 i=14588 -i=14593 i=14595 i=14600 i=14601 @@ -2001,9 +1194,6 @@ i=14643 i=14644 i=14645 i=14646 -i=14647 -i=14648 -i=14744 i=14794 i=14795 i=14796 @@ -2034,44 +1224,31 @@ i=14855 i=14870 i=14873 i=14876 -i=14900 i=14936 -i=15001 i=15002 -i=15003 i=15005 i=15006 i=15007 -i=15008 -i=15009 i=15010 i=15011 i=15012 -i=15013 i=15030 i=15031 i=15032 i=15033 i=15034 -i=15035 i=15036 i=15037 -i=15038 i=15039 -i=15040 i=15041 i=15042 i=15043 i=15044 -i=15046 -i=15047 -i=15048 i=15049 i=15050 i=15051 i=15052 i=15053 -i=15056 i=15057 i=15058 i=15059 @@ -2097,7 +1274,6 @@ i=15099 i=15102 i=15105 i=15106 -i=15108 i=15109 i=15111 i=15112 @@ -2196,19 +1372,6 @@ i=15379 i=15380 i=15381 i=15382 -i=15383 -i=15384 -i=15385 -i=15386 -i=15387 -i=15388 -i=15389 -i=15390 -i=15391 -i=15392 -i=15393 -i=15394 -i=15395 i=15396 i=15397 i=15398 @@ -2217,8 +1380,6 @@ i=15402 i=15405 i=15406 i=15407 -i=15410 -i=15411 i=15412 i=15413 i=15414 @@ -2261,8 +1422,6 @@ i=15462 i=15463 i=15464 i=15465 -i=15471 -i=15472 i=15479 i=15480 i=15481 @@ -2288,7 +1447,6 @@ i=15520 i=15521 i=15524 i=15527 -i=15528 i=15529 i=15530 i=15531 @@ -2310,8 +1468,6 @@ i=15579 i=15580 i=15581 i=15582 -i=15583 -i=15584 i=15585 i=15588 i=15589 @@ -2323,50 +1479,32 @@ i=15598 i=15599 i=15602 i=15605 -i=15606 -i=15607 -i=15608 i=15609 i=15611 i=15616 i=15617 i=15618 -i=15620 i=15621 i=15622 i=15623 -i=15624 -i=15625 -i=15626 -i=15627 i=15628 i=15629 i=15630 i=15631 i=15632 i=15633 -i=15634 i=15635 i=15640 -i=15641 -i=15642 -i=15643 i=15644 i=15645 -i=15646 -i=15647 i=15648 i=15649 i=15650 i=15651 i=15652 i=15653 -i=15654 -i=15655 i=15656 i=15657 -i=15658 -i=15659 i=15660 i=15661 i=15662 @@ -2562,11 +1700,6 @@ i=15992 i=15993 i=15995 i=15996 -i=15997 -i=15998 -i=15999 -i=16000 -i=16001 i=16007 i=16008 i=16009 @@ -2622,9 +1755,6 @@ i=16131 i=16134 i=16135 i=16136 -i=16137 -i=16138 -i=16139 i=16144 i=16147 i=16150 @@ -2638,18 +1768,6 @@ i=16157 i=16158 i=16159 i=16161 -i=16162 -i=16173 -i=16174 -i=16175 -i=16176 -i=16177 -i=16178 -i=16179 -i=16180 -i=16181 -i=16182 -i=16183 i=16192 i=16193 i=16194 @@ -2746,24 +1864,9 @@ i=16285 i=16286 i=16287 i=16288 -i=16295 -i=16296 -i=16297 -i=16298 -i=16299 -i=16300 -i=16301 -i=16302 -i=16303 -i=16304 -i=16305 -i=16306 -i=16307 i=16308 -i=16309 i=16310 i=16311 -i=16312 i=16314 i=16323 i=16348 @@ -2778,72 +1881,13 @@ i=16356 i=16357 i=16358 i=16359 -i=16361 -i=16362 i=16363 i=16364 -i=16371 -i=16372 -i=16376 -i=16378 -i=16379 -i=16380 -i=16381 -i=16385 -i=16387 -i=16388 -i=16389 -i=16390 i=16391 i=16392 i=16393 i=16394 -i=16395 -i=16396 -i=16397 -i=16398 -i=16399 -i=16400 -i=16401 -i=16402 -i=16403 i=16404 -i=16405 -i=16406 -i=16407 -i=16408 -i=16409 -i=16410 -i=16411 -i=16412 -i=16414 -i=16415 -i=16416 -i=16417 -i=16420 -i=16421 -i=16422 -i=16423 -i=16424 -i=16432 -i=16433 -i=16434 -i=16435 -i=16436 -i=16437 -i=16438 -i=16439 -i=16440 -i=16441 -i=16442 -i=16443 -i=16444 -i=16461 -i=16462 -i=16465 -i=16466 -i=16474 -i=16519 i=16524 i=16525 i=16526 @@ -2895,12 +1939,7 @@ i=17218 i=17219 i=17220 i=17221 -i=17222 -i=17223 i=17224 -i=17225 -i=17242 -i=17259 i=17276 i=17277 i=17278 @@ -3015,35 +2054,19 @@ i=17490 i=17492 i=17493 i=17494 -i=17496 -i=17497 -i=17502 i=17503 i=17507 i=17508 -i=17511 -i=17512 -i=17513 -i=17522 -i=17523 -i=17524 -i=17534 -i=17535 -i=17536 i=17558 i=17559 i=17560 i=17562 i=17563 i=17564 -i=17567 -i=17568 -i=17569 i=17570 i=17575 i=17576 i=17579 -i=17582 i=17588 i=17589 i=17590 @@ -3058,11 +2081,7 @@ i=17600 #i=17603 i=17604 i=17605 -i=17612 i=17615 -i=17632 -i=17633 -i=17634 #i=17635 #i=17636 i=17641 @@ -3126,18 +2145,13 @@ i=17847 i=17848 i=17849 i=17850 -i=17852 i=17853 i=17854 i=17855 i=17856 i=17858 i=17859 -i=17860 i=17864 -i=17868 -i=17869 -i=17870 i=17871 i=17872 i=17874 @@ -3157,30 +2171,17 @@ i=17976 i=17983 i=17984 i=17985 -i=17986 i=17987 -i=17988 -i=17989 -i=17990 i=17991 i=17992 i=17993 i=17997 i=17998 i=17999 -i=18001 -i=18004 -i=18005 -i=18006 -i=18007 -i=18008 i=18011 i=18028 i=18029 i=18047 -i=18069 -i=18072 -i=18073 i=18076 i=18077 i=18078 @@ -3191,7 +2192,6 @@ i=18082 i=18088 i=18089 i=18155 -i=18165 i=18166 i=18169 i=18172 @@ -3200,12 +2200,6 @@ i=18178 i=18181 i=18184 i=18187 -i=18190 -i=18191 -i=18195 -i=18197 -i=18198 -i=18199 i=18347 i=18496 i=18665 @@ -3286,10 +2280,6 @@ i=18801 i=18806 i=18807 i=18808 -i=18809 -i=18810 -i=18811 -i=18812 i=18813 i=18814 i=18815 @@ -3389,33 +2379,6 @@ i=19288 i=19293 i=19294 i=19295 -i=19297 -i=19450 -i=19451 -i=19452 -i=19453 -i=19454 -i=19455 -i=19456 -i=19458 -i=19459 -i=19460 -i=19461 -i=19464 -i=19465 -i=19466 -i=19467 -i=19476 -i=19478 -i=19480 -i=19482 -i=19483 -i=19484 -i=19485 -i=19487 -i=19505 -i=19509 -i=19518 i=19550 i=19551 i=19552 @@ -3538,15 +2501,11 @@ i=19718 i=19719 i=19720 i=19722 -i=19723 -i=19724 i=19725 i=19726 i=19727 i=19728 i=19729 -i=19730 -i=19731 i=19732 i=19777 i=19778 @@ -3641,44 +2600,6 @@ i=20091 i=20092 i=20093 i=20094 -i=20101 -i=20138 -i=20139 -i=20141 -i=20142 -i=20143 -i=20144 -i=20145 -i=20146 -i=20147 -i=20148 -i=20149 -i=20151 -i=20152 -i=20153 -i=20154 -i=20157 -i=20158 -i=20159 -i=20160 -i=20169 -i=20171 -i=20173 -i=20175 -i=20176 -i=20177 -i=20178 -i=20180 -i=20198 -i=20202 -i=20211 -i=20249 -i=20286 -i=20287 -i=20288 -i=20289 -i=20408 -i=20998 i=21002 i=21006 i=21015 @@ -3788,8 +2709,6 @@ i=21141 i=21142 i=21143 i=21144 -i=21145 -i=21146 i=21147 i=21149 i=21150 diff --git a/partitions_example.csv b/partitions_example.csv index a132385..c205b4b 100644 --- a/partitions_example.csv +++ b/partitions_example.csv @@ -2,5 +2,5 @@ # Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap nvs, data, nvs, 0xa000, 0x5000, phy_init, data, phy, 0xf000, 0x1000, -factory, app, factory, 0x10000, 2M, -storage, data, fat, , 528K, \ No newline at end of file +factory, app, factory, 0x10000, 3M, +storage, data, fat, , 960K, \ No newline at end of file diff --git a/sdkconfig.defaults b/sdkconfig.defaults index 34fe26a..151bcd5 100644 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -1,3 +1,5 @@ +CONFIG_ETHERNET_HELPER_CUSTOM_HOSTNAME=y +CONFIG_ETHERNET_HELPER_CUSTOM_HOSTNAME_STR="esp32-opcua" CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_example.csv" CONFIG_PARTITION_TABLE_FILENAME="partitions_example.csv"