Skip to content

Commit 5df0b1d

Browse files
committed
Merge branch 'bugfix/fix_example_tcp_client' into 'master'
Fix TCP client example IPv6 support See merge request sdk/ESP8266_RTOS_SDK!706
2 parents 5620e2d + a62e902 commit 5df0b1d

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

examples/protocols/sockets/tcp_client/main/tcp_client.c

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,9 @@
4343
static EventGroupHandle_t wifi_event_group;
4444

4545
const int IPV4_GOTIP_BIT = BIT0;
46+
#ifdef CONFIG_EXAMPLE_IPV6
4647
const int IPV6_GOTIP_BIT = BIT1;
48+
#endif
4749

4850
static const char *TAG = "example";
4951
static const char *payload = "Message from ESP32 ";
@@ -56,8 +58,10 @@ static esp_err_t event_handler(void *ctx, system_event_t *event)
5658
ESP_LOGI(TAG, "SYSTEM_EVENT_STA_START");
5759
break;
5860
case SYSTEM_EVENT_STA_CONNECTED:
61+
#ifdef CONFIG_EXAMPLE_IPV6
5962
/* enable ipv6 */
6063
tcpip_adapter_create_ip6_linklocal(TCPIP_ADAPTER_IF_STA);
64+
#endif
6165
break;
6266
case SYSTEM_EVENT_STA_GOT_IP:
6367
xEventGroupSetBits(wifi_event_group, IPV4_GOTIP_BIT);
@@ -67,14 +71,18 @@ static esp_err_t event_handler(void *ctx, system_event_t *event)
6771
/* This is a workaround as ESP32 WiFi libs don't currently auto-reassociate. */
6872
esp_wifi_connect();
6973
xEventGroupClearBits(wifi_event_group, IPV4_GOTIP_BIT);
74+
#ifdef CONFIG_EXAMPLE_IPV6
7075
xEventGroupClearBits(wifi_event_group, IPV6_GOTIP_BIT);
76+
#endif
7177
break;
7278
case SYSTEM_EVENT_AP_STA_GOT_IP6:
79+
#ifdef CONFIG_EXAMPLE_IPV6
7380
xEventGroupSetBits(wifi_event_group, IPV6_GOTIP_BIT);
7481
ESP_LOGI(TAG, "SYSTEM_EVENT_STA_GOT_IP6");
7582

7683
char *ip6 = ip6addr_ntoa(&event->event_info.got_ip6.ip6_info.ip);
7784
ESP_LOGI(TAG, "IPv6: %s", ip6);
85+
#endif
7886
default:
7987
break;
8088
}
@@ -103,7 +111,11 @@ static void initialise_wifi(void)
103111

104112
static void wait_for_ip()
105113
{
106-
uint32_t bits = IPV4_GOTIP_BIT | IPV6_GOTIP_BIT ;
114+
#ifdef CONFIG_EXAMPLE_IPV6
115+
uint32_t bits = IPV4_GOTIP_BIT | IPV6_GOTIP_BIT;
116+
#else
117+
uint32_t bits = IPV4_GOTIP_BIT;
118+
#endif
107119

108120
ESP_LOGI(TAG, "Waiting for AP connection...");
109121
xEventGroupWaitBits(wifi_event_group, bits, false, true, portMAX_DELAY);

0 commit comments

Comments
 (0)