mirror of
https://github.com/esphome/esphome.git
synced 2024-11-25 00:18:11 +01:00
Enable IPv6 support for BK72xx (#7398)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
This commit is contained in:
parent
7b90bfaec6
commit
39ad358b51
3 changed files with 24 additions and 2 deletions
|
@ -17,6 +17,7 @@ CONFIG_SCHEMA = cv.Schema(
|
||||||
esp8266=False,
|
esp8266=False,
|
||||||
esp32=False,
|
esp32=False,
|
||||||
rp2040=False,
|
rp2040=False,
|
||||||
|
bk72xx=False,
|
||||||
): cv.All(
|
): cv.All(
|
||||||
cv.boolean,
|
cv.boolean,
|
||||||
cv.Any(
|
cv.Any(
|
||||||
|
@ -25,6 +26,7 @@ CONFIG_SCHEMA = cv.Schema(
|
||||||
esp32_arduino=cv.Version(0, 0, 0),
|
esp32_arduino=cv.Version(0, 0, 0),
|
||||||
esp8266_arduino=cv.Version(0, 0, 0),
|
esp8266_arduino=cv.Version(0, 0, 0),
|
||||||
rp2040_arduino=cv.Version(0, 0, 0),
|
rp2040_arduino=cv.Version(0, 0, 0),
|
||||||
|
bk72xx_libretiny=cv.Version(1, 7, 0),
|
||||||
),
|
),
|
||||||
cv.boolean_false,
|
cv.boolean_false,
|
||||||
),
|
),
|
||||||
|
@ -52,3 +54,5 @@ async def to_code(config):
|
||||||
cg.add_build_flag("-DPIO_FRAMEWORK_ARDUINO_ENABLE_IPV6")
|
cg.add_build_flag("-DPIO_FRAMEWORK_ARDUINO_ENABLE_IPV6")
|
||||||
if CORE.is_esp8266:
|
if CORE.is_esp8266:
|
||||||
cg.add_build_flag("-DPIO_FRAMEWORK_ARDUINO_LWIP2_IPV6_LOW_MEMORY")
|
cg.add_build_flag("-DPIO_FRAMEWORK_ARDUINO_LWIP2_IPV6_LOW_MEMORY")
|
||||||
|
if CORE.is_bk72xx:
|
||||||
|
cg.add_build_flag("-DCONFIG_IPV6")
|
||||||
|
|
|
@ -85,7 +85,16 @@ bool WiFiComponent::wifi_sta_ip_config_(optional<ManualIP> manual_ip) {
|
||||||
network::IPAddresses WiFiComponent::wifi_sta_ip_addresses() {
|
network::IPAddresses WiFiComponent::wifi_sta_ip_addresses() {
|
||||||
if (!this->has_sta())
|
if (!this->has_sta())
|
||||||
return {};
|
return {};
|
||||||
return {WiFi.localIP()};
|
network::IPAddresses addresses;
|
||||||
|
addresses[0] = WiFi.localIP();
|
||||||
|
#if USE_NETWORK_IPV6
|
||||||
|
int i = 1;
|
||||||
|
auto v6_addresses = WiFi.allLocalIPv6();
|
||||||
|
for (auto address : v6_addresses) {
|
||||||
|
addresses[i++] = network::IPAddress(address.toString().c_str());
|
||||||
|
}
|
||||||
|
#endif /* USE_NETWORK_IPV6 */
|
||||||
|
return addresses;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool WiFiComponent::wifi_apply_hostname_() {
|
bool WiFiComponent::wifi_apply_hostname_() {
|
||||||
|
@ -321,6 +330,11 @@ void WiFiComponent::wifi_event_callback_(esphome_wifi_event_id_t event, esphome_
|
||||||
s_sta_connecting = false;
|
s_sta_connecting = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case ESPHOME_EVENT_ID_WIFI_STA_GOT_IP6: {
|
||||||
|
// auto it = info.got_ip.ip_info;
|
||||||
|
ESP_LOGV(TAG, "Event: Got IPv6");
|
||||||
|
break;
|
||||||
|
}
|
||||||
case ESPHOME_EVENT_ID_WIFI_STA_LOST_IP: {
|
case ESPHOME_EVENT_ID_WIFI_STA_LOST_IP: {
|
||||||
ESP_LOGV(TAG, "Event: Lost IP");
|
ESP_LOGV(TAG, "Event: Lost IP");
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
substitutions:
|
substitutions:
|
||||||
network_enable_ipv6: "false"
|
network_enable_ipv6: "true"
|
||||||
|
|
||||||
|
bk72xx:
|
||||||
|
framework:
|
||||||
|
version: 1.7.0
|
||||||
|
|
||||||
<<: !include common.yaml
|
<<: !include common.yaml
|
||||||
|
|
Loading…
Reference in a new issue