diff --git a/src/ETHTransport.c b/src/ETHTransport.c index 7ac6828..2d86364 100644 --- a/src/ETHTransport.c +++ b/src/ETHTransport.c @@ -202,6 +202,7 @@ static void eth_init(void *pvParameter) esp_netif_config.if_desc = if_desc_str; esp_netif_config.route_prio = ETH_PRIO - i; eth_netif_spi[i] = esp_netif_new(&cfg_spi); + } // Init MAC and PHY configs to default @@ -325,10 +326,31 @@ static void eth_init(void *pvParameter) } // attach Ethernet driver to TCP/IP stack ESP_ERROR_CHECK(esp_netif_attach(eth_netif_spi[i], esp_eth_new_netif_glue(eth_handle_spi[i]))); - esp_netif_dns_info_t fldns; + + //esp_netif_dns_info_t fldns; //esp_netif_str_to_ip4(&GetAppConf()->ethSettings.DNSAddr3, (esp_ip4_addr_t*) (&fldns.ip)); - memcpy(&fldns.ip, &GetSysConf()->ethSettings.DNSAddr3, sizeof(esp_ip4_addr_t)); - esp_netif_set_dns_info(eth_netif_spi[i], ESP_NETIF_DNS_FALLBACK, &fldns); + //memcpy(&fldns.ip, &GetSysConf()->ethSettings.DNSAddr3, sizeof(esp_ip4_addr_t)); + //esp_netif_set_dns_info(eth_netif_spi[i], ESP_NETIF_DNS_FALLBACK, &fldns); + //DHCP & DNS + + esp_netif_ip_info_t ip_info; + memcpy(&ip_info.ip, &GetSysConf()->ethSettings.IPAddr, 4); + memcpy(&ip_info.gw, &GetSysConf()->ethSettings.Gateway, 4); + memcpy(&ip_info.netmask, &GetSysConf()->ethSettings.Mask, 4); + esp_netif_dns_info_t dns_info; + memcpy(&dns_info, &GetSysConf()->ethSettings.DNSAddr1, 4); + + esp_netif_dhcpc_stop(eth_netif_spi[i]); + esp_netif_set_ip_info(eth_netif_spi[i], &ip_info); + esp_netif_set_dns_info(eth_netif_spi[i], ESP_NETIF_DNS_MAIN, &dns_info); + + //esp_netif_str_to_ip4(&GetSysConf()->wifiSettings.DNSAddr3, (esp_ip4_addr_t*)(&dns_info.ip)); + memcpy(&dns_info.ip, &GetSysConf()->wifiSettings.DNSAddr3, sizeof(esp_ip4_addr_t)); + esp_netif_set_dns_info(eth_netif_spi[i], ESP_NETIF_DNS_FALLBACK, &dns_info); + + if (GetSysConf()->ethSettings.Flags1.bIsDHCPEnabled) + esp_netif_dhcpc_start(eth_netif_spi[i]); + } #endif // CONFIG_ETH_USE_SPI_ETHERNET diff --git a/src/HTTPPostSystem.c b/src/HTTPPostSystem.c index 8b14423..2969f93 100644 --- a/src/HTTPPostSystem.c +++ b/src/HTTPPostSystem.c @@ -52,7 +52,6 @@ void regAfterPostHandlerCustom(HTTP_IO_RESULT (*post_handler)(httpd_req_t *req, AfterPostHandlerCust = post_handler; } - HTTP_IO_RESULT HTTPPostApp(httpd_req_t *req, const char *filename, char *PostData) { const char *pt = filename + 1; @@ -99,7 +98,6 @@ static HTTP_IO_RESULT AfterPostHandler(httpd_req_t *req, const char *filename, c if (!memcmp(filename, url_reboot, sizeof(url_reboot))) return HTTPPostReboot(req, PostData); - // If not found target URL here, try to call custom code if (AfterPostHandlerCust != NULL) return AfterPostHandlerCust(req, filename, PostData); @@ -107,9 +105,6 @@ static HTTP_IO_RESULT AfterPostHandler(httpd_req_t *req, const char *filename, c return HTTP_IO_DONE; } - - - static HTTP_IO_RESULT HTTPPostAdaptersSettings(httpd_req_t *req, char *PostData) { char tmp[33]; @@ -120,26 +115,26 @@ static HTTP_IO_RESULT HTTPPostAdaptersSettings(httpd_req_t *req, char *PostData) if (httpd_query_key_value(PostData, "ethen", tmp, sizeof(tmp)) == ESP_OK) { if (!strcmp((const char*) tmp, (const char*) "1")) - TempIsETHEnabled = true; + TempIsETHEnabled = true; } if (httpd_query_key_value(PostData, "dhcp", tmp, sizeof(tmp)) == ESP_OK) { if (!strcmp((const char*) tmp, (const char*) "1")) - TempIsETHDHCPEnabled = true; + TempIsETHDHCPEnabled = true; } if (httpd_query_key_value(PostData, "ipa", tmp, 15) == ESP_OK) - esp_netif_str_to_ip4(tmp, (esp_ip4_addr_t*) &GetSysConf()->ethSettings.IPAddr); + esp_netif_str_to_ip4(tmp, (esp_ip4_addr_t*) &GetSysConf()->ethSettings.IPAddr); if (httpd_query_key_value(PostData, "mas", tmp, 15) == ESP_OK) - esp_netif_str_to_ip4(tmp, (esp_ip4_addr_t*) &GetSysConf()->ethSettings.Mask); + esp_netif_str_to_ip4(tmp, (esp_ip4_addr_t*) &GetSysConf()->ethSettings.Mask); if (httpd_query_key_value(PostData, "gte", tmp, 15) == ESP_OK) - esp_netif_str_to_ip4(tmp, (esp_ip4_addr_t*) &GetSysConf()->ethSettings.Gateway); + esp_netif_str_to_ip4(tmp, (esp_ip4_addr_t*) &GetSysConf()->ethSettings.Gateway); if (httpd_query_key_value(PostData, "dns1", tmp, 15) == ESP_OK) - esp_netif_str_to_ip4(tmp, (esp_ip4_addr_t*) &GetSysConf()->ethSettings.DNSAddr1); + esp_netif_str_to_ip4(tmp, (esp_ip4_addr_t*) &GetSysConf()->ethSettings.DNSAddr1); if (httpd_query_key_value(PostData, "dns2", tmp, 15) == ESP_OK) - esp_netif_str_to_ip4(tmp, (esp_ip4_addr_t*) &GetSysConf()->ethSettings.DNSAddr2); + esp_netif_str_to_ip4(tmp, (esp_ip4_addr_t*) &GetSysConf()->ethSettings.DNSAddr2); if (httpd_query_key_value(PostData, "dns3", tmp, 15) == ESP_OK) - esp_netif_str_to_ip4(tmp, (esp_ip4_addr_t*) &GetSysConf()->ethSettings.DNSAddr3); + esp_netif_str_to_ip4(tmp, (esp_ip4_addr_t*) &GetSysConf()->ethSettings.DNSAddr3); #endif @@ -193,7 +188,10 @@ static HTTP_IO_RESULT HTTPPostAdaptersSettings(httpd_req_t *req, char *PostData) TempIsWIFIDHCPEnabled = true; } if (httpd_query_key_value(PostData, "ipa", tmp, 15) == ESP_OK) - esp_netif_str_to_ip4(tmp, (esp_ip4_addr_t*) &GetSysConf()->wifiSettings.InfIPAddr); + { + esp_err_t err = esp_netif_str_to_ip4(tmp, (esp_ip4_addr_t*) &GetSysConf()->wifiSettings.InfIPAddr); + ESP_LOGI(TAG, "WRITE IP:%s", esp_err_to_name(err)); + } if (httpd_query_key_value(PostData, "mas", tmp, 15) == ESP_OK) esp_netif_str_to_ip4(tmp, (esp_ip4_addr_t*) &GetSysConf()->wifiSettings.InfMask); if (httpd_query_key_value(PostData, "gte", tmp, 15) == ESP_OK) @@ -287,7 +285,6 @@ static HTTP_IO_RESULT HTTPPostAdaptersSettings(httpd_req_t *req, char *PostData) } } - if (httpd_query_key_value(PostData, "wifisave", tmp, 4) == ESP_OK) { if (!strcmp(tmp, (const char*) "prs"))