diff --git a/CMakeLists.txt b/CMakeLists.txt index 32979ad4acf..0025da0d6fe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,18 +38,12 @@ set(CORE_SRCS ) set(LIBRARY_SRCS - libraries/ArduinoOTA/src/ArduinoOTA.cpp libraries/AsyncUDP/src/AsyncUDP.cpp libraries/BluetoothSerial/src/BluetoothSerial.cpp - libraries/DNSServer/src/DNSServer.cpp libraries/EEPROM/src/EEPROM.cpp - libraries/ESPmDNS/src/ESPmDNS.cpp libraries/FFat/src/FFat.cpp libraries/FS/src/FS.cpp libraries/FS/src/vfs_api.cpp - libraries/HTTPClient/src/HTTPClient.cpp - libraries/HTTPUpdate/src/HTTPUpdate.cpp - libraries/NetBIOS/src/NetBIOS.cpp libraries/Preferences/src/Preferences.cpp libraries/SD_MMC/src/SD_MMC.cpp libraries/SD/src/SD.cpp @@ -60,22 +54,6 @@ set(LIBRARY_SRCS libraries/SPI/src/SPI.cpp libraries/Ticker/src/Ticker.cpp libraries/Update/src/Updater.cpp - libraries/WebServer/src/WebServer.cpp - libraries/WebServer/src/Parsing.cpp - libraries/WebServer/src/detail/mimetable.cpp - libraries/WiFiClientSecure/src/ssl_client.cpp - libraries/WiFiClientSecure/src/WiFiClientSecure.cpp - libraries/WiFi/src/ETH.cpp - libraries/WiFi/src/WiFiAP.cpp - libraries/WiFi/src/WiFiClient.cpp - libraries/WiFi/src/WiFi.cpp - libraries/WiFi/src/WiFiGeneric.cpp - libraries/WiFi/src/WiFiMulti.cpp - libraries/WiFi/src/WiFiScan.cpp - libraries/WiFi/src/WiFiServer.cpp - libraries/WiFi/src/WiFiSTA.cpp - libraries/WiFi/src/WiFiUdp.cpp - libraries/Wire/src/Wire.cpp ) set(AZURE_SRCS @@ -175,20 +153,14 @@ set(COMPONENT_SRCS ${CORE_SRCS} ${LIBRARY_SRCS} ${AZURE_SRCS} ${BLE_SRCS}) set(COMPONENT_ADD_INCLUDEDIRS variants/esp32/ cores/esp32/ - libraries/ArduinoOTA/src libraries/AsyncUDP/src libraries/AzureIoT/src libraries/BLE/src libraries/BluetoothSerial/src - libraries/DNSServer/src libraries/EEPROM/src libraries/ESP32/src - libraries/ESPmDNS/src libraries/FFat/src libraries/FS/src - libraries/HTTPClient/src - libraries/HTTPUpdate/src - libraries/NetBIOS/src libraries/Preferences/src libraries/SD_MMC/src libraries/SD/src @@ -197,15 +169,11 @@ set(COMPONENT_ADD_INCLUDEDIRS libraries/SPI/src libraries/Ticker/src libraries/Update/src - libraries/WebServer/src - libraries/WiFiClientSecure/src - libraries/WiFi/src - libraries/Wire/src ) set(COMPONENT_PRIV_INCLUDEDIRS cores/esp32/libb64) -set(COMPONENT_REQUIRES spi_flash mbedtls mdns ethernet) +set(COMPONENT_REQUIRES spi_flash mbedtls mdns fatfs) set(COMPONENT_PRIV_REQUIRES fatfs nvs_flash app_update spiffs bootloader_support openssl bt) register_component() diff --git a/cores/esp32/Arduino.h b/cores/esp32/Arduino.h index 645b407034f..3b29e43ce15 100644 --- a/cores/esp32/Arduino.h +++ b/cores/esp32/Arduino.h @@ -118,7 +118,7 @@ typedef unsigned int word; void setup(void); void loop(void); -long random(long, long); +// long random(long, long); void randomSeed(unsigned long); long map(long, long, long, long, long); diff --git a/cores/esp32/esp32-hal-spi.c b/cores/esp32/esp32-hal-spi.c index d28abf4a5ba..ace904ed6eb 100644 --- a/cores/esp32/esp32-hal-spi.c +++ b/cores/esp32/esp32-hal-spi.c @@ -421,14 +421,14 @@ spi_t * spiStartBus(uint8_t spi_num, uint32_t clockDiv, uint8_t dataMode, uint8_ #endif if(spi_num == HSPI) { - DPORT_SET_PERI_REG_MASK(DPORT_PERIP_CLK_EN_REG, DPORT_SPI_CLK_EN); - DPORT_CLEAR_PERI_REG_MASK(DPORT_PERIP_RST_EN_REG, DPORT_SPI_RST); + DPORT_SET_PERI_REG_MASK(DPORT_PERIP_CLK_EN_REG, DPORT_SPI2_CLK_EN); + DPORT_CLEAR_PERI_REG_MASK(DPORT_PERIP_RST_EN_REG, DPORT_SPI2_RST); } else if(spi_num == VSPI) { - DPORT_SET_PERI_REG_MASK(DPORT_PERIP_CLK_EN_REG, DPORT_SPI_CLK_EN_2); - DPORT_CLEAR_PERI_REG_MASK(DPORT_PERIP_RST_EN_REG, DPORT_SPI_RST_2); + DPORT_SET_PERI_REG_MASK(DPORT_PERIP_CLK_EN_REG, DPORT_SPI3_CLK_EN); + DPORT_CLEAR_PERI_REG_MASK(DPORT_PERIP_RST_EN_REG, DPORT_SPI3_RST); } else { - DPORT_SET_PERI_REG_MASK(DPORT_PERIP_CLK_EN_REG, DPORT_SPI_CLK_EN_1); - DPORT_CLEAR_PERI_REG_MASK(DPORT_PERIP_RST_EN_REG, DPORT_SPI_RST_1); + DPORT_SET_PERI_REG_MASK(DPORT_PERIP_CLK_EN_REG, DPORT_SPI01_CLK_EN); + DPORT_CLEAR_PERI_REG_MASK(DPORT_PERIP_RST_EN_REG, DPORT_SPI01_RST); } spiStopBus(spi); diff --git a/libraries/BLE/src/FreeRTOS.cpp b/libraries/BLE/src/FreeRTOS.cpp index 895ba267f81..d1f865b51ef 100644 --- a/libraries/BLE/src/FreeRTOS.cpp +++ b/libraries/BLE/src/FreeRTOS.cpp @@ -257,7 +257,7 @@ void FreeRTOS::Semaphore::setName(std::string name) { * @param [in] length The amount of storage to allocate for the ring buffer. * @param [in] type The type of buffer. One of RINGBUF_TYPE_NOSPLIT, RINGBUF_TYPE_ALLOWSPLIT, RINGBUF_TYPE_BYTEBUF. */ -Ringbuffer::Ringbuffer(size_t length, ringbuf_type_t type) { +Ringbuffer::Ringbuffer(size_t length, RingbufferType_t type) { m_handle = ::xRingbufferCreate(length, type); } // Ringbuffer diff --git a/libraries/BLE/src/FreeRTOS.h b/libraries/BLE/src/FreeRTOS.h index 4d089c81db6..3b824fcd0e6 100644 --- a/libraries/BLE/src/FreeRTOS.h +++ b/libraries/BLE/src/FreeRTOS.h @@ -60,7 +60,7 @@ class FreeRTOS { */ class Ringbuffer { public: - Ringbuffer(size_t length, ringbuf_type_t type = RINGBUF_TYPE_NOSPLIT); + Ringbuffer(size_t length, RingbufferType_t type = RINGBUF_TYPE_NOSPLIT); ~Ringbuffer(); void* receive(size_t* size, TickType_t wait = portMAX_DELAY); diff --git a/libraries/SD/src/sd_diskio.cpp b/libraries/SD/src/sd_diskio.cpp index 0a9c86cc5f0..2bd83eda3a9 100644 --- a/libraries/SD/src/sd_diskio.cpp +++ b/libraries/SD/src/sd_diskio.cpp @@ -13,10 +13,11 @@ // limitations under the License. #include "sd_diskio.h" extern "C" { + #include "ff.h" #include "diskio.h" #include "ffconf.h" - #include "ff.h" //#include "esp_vfs.h" + #include "diskio_impl.h" #include "esp_vfs_fat.h" char CRC7(const char* data, int length); unsigned short CRC16(const char* data, int length); diff --git a/libraries/WiFi/src/ETH.cpp b/libraries/WiFi/src/ETH.cpp index 2ffea758ded..3f44d32c5fe 100644 --- a/libraries/WiFi/src/ETH.cpp +++ b/libraries/WiFi/src/ETH.cpp @@ -19,9 +19,11 @@ */ #include "ETH.h" -#include "eth_phy/phy.h" -#include "eth_phy/phy_tlk110.h" -#include "eth_phy/phy_lan8720.h" +#include "esp_eth.h" +#include "esp_eth_mac.h" +#include "esp_eth_phy.h" +// #include "eth_phy/phy_tlk110.h" +// #include "eth_phy/phy_lan8720.h" #include "lwip/err.h" #include "lwip/dns.h" diff --git a/libraries/WiFi/src/ETH.h b/libraries/WiFi/src/ETH.h index f5441a9d0ed..b14800de22a 100644 --- a/libraries/WiFi/src/ETH.h +++ b/libraries/WiFi/src/ETH.h @@ -55,12 +55,12 @@ class ETHClass { bool initialized; bool started; bool staticIP; - eth_config_t eth_config; + esp_eth_config_t eth_config; public: ETHClass(); ~ETHClass(); - bool begin(uint8_t phy_addr=ETH_PHY_ADDR, int power=ETH_PHY_POWER, int mdc=ETH_PHY_MDC, int mdio=ETH_PHY_MDIO, eth_phy_type_t type=ETH_PHY_TYPE, eth_clock_mode_t clk_mode=ETH_CLK_MODE); + bool begin(uint8_t phy_addr=ETH_PHY_ADDR, int power=ETH_PHY_POWER, int mdc=ETH_PHY_MDC, int mdio=ETH_PHY_MDIO, eth_phy_type_t type=ETH_PHY_TYPE,esp_eth_clock_mode_t clk_mode=ETH_CLK_MODE); bool config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1 = (uint32_t)0x00000000, IPAddress dns2 = (uint32_t)0x00000000); diff --git a/libraries/WiFi/src/WiFiClient.cpp b/libraries/WiFi/src/WiFiClient.cpp index 616b5de90f2..e6caa57a652 100644 --- a/libraries/WiFi/src/WiFiClient.cpp +++ b/libraries/WiFi/src/WiFiClient.cpp @@ -46,7 +46,7 @@ class WiFiClientRxBuffer { return 0; } int count; - int res = lwip_ioctl_r(_fd, FIONREAD, &count); + int res = lwip_ioctl(_fd, FIONREAD, &count); if(res < 0) { _failed = true; return 0; @@ -227,7 +227,7 @@ int WiFiClient::connect(IPAddress ip, uint16_t port, int32_t timeout) tv.tv_sec = 0; tv.tv_usec = timeout * 1000; - int res = lwip_connect_r(sockfd, (struct sockaddr*)&serveraddr, sizeof(serveraddr)); + int res = lwip_connect(sockfd, (struct sockaddr*)&serveraddr, sizeof(serveraddr)); if (res < 0 && errno != EINPROGRESS) { log_e("connect on fd %d, errno: %d, \"%s\"", sockfd, errno, strerror(errno)); close(sockfd); diff --git a/libraries/WiFi/src/WiFiSTA.cpp b/libraries/WiFi/src/WiFiSTA.cpp index db5e019af31..1fe4a48a496 100644 --- a/libraries/WiFi/src/WiFiSTA.cpp +++ b/libraries/WiFi/src/WiFiSTA.cpp @@ -488,8 +488,8 @@ IPAddress WiFiSTAClass::dnsIP(uint8_t dns_no) if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){ return IPAddress(); } - ip_addr_t dns_ip = dns_getserver(dns_no); - return IPAddress(dns_ip.u_addr.ip4.addr); + const ip_addr_t* dns_ip = dns_getserver(dns_no); + return IPAddress(dns_ip->u_addr.ip4.addr); } /** @@ -687,7 +687,9 @@ bool WiFiSTAClass::beginSmartConfig() { esp_wifi_disconnect(); esp_err_t err; - err = esp_smartconfig_start(reinterpret_cast(&WiFiSTAClass::_smartConfigCallback), 1); + smartconfig_start_config_t config; + config.enable_log = false; + err = esp_smartconfig_start(&config); if (err == ESP_OK) { _smartConfigStarted = true; _smartConfigDone = false; @@ -734,27 +736,27 @@ const char * sc_type_strings[] = { #endif void WiFiSTAClass::_smartConfigCallback(uint32_t st, void* result) { - smartconfig_status_t status = (smartconfig_status_t) st; - log_d("Status: %s", sc_status_strings[st % 5]); - if (status == SC_STATUS_GETTING_SSID_PSWD) { -#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_DEBUG - smartconfig_type_t * type = (smartconfig_type_t *)result; - log_d("Type: %s", sc_type_strings[*type % 3]); -#endif - } else if (status == SC_STATUS_LINK) { - wifi_sta_config_t *sta_conf = reinterpret_cast(result); - log_d("SSID: %s", (char *)(sta_conf->ssid)); - sta_conf->bssid_set = 0; - esp_wifi_set_config(WIFI_IF_STA, (wifi_config_t *)sta_conf); - esp_wifi_connect(); - _smartConfigDone = true; - } else if (status == SC_STATUS_LINK_OVER) { - if(result){ -#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_DEBUG - ip4_addr_t * ip = (ip4_addr_t *)result; - log_d("Sender IP: " IPSTR, IP2STR(ip)); -#endif - } - WiFi.stopSmartConfig(); - } + // smartconfig_status_t status = (smartconfig_status_t) st; +// log_d("Status: %s", sc_status_strings[st % 5]); +// if (status == SC_STATUS_GETTING_SSID_PSWD) { +// #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_DEBUG +// smartconfig_type_t * type = (smartconfig_type_t *)result; +// log_d("Type: %s", sc_type_strings[*type % 3]); +// #endif +// } else if (status == SC_STATUS_LINK) { +// wifi_sta_config_t *sta_conf = reinterpret_cast(result); +// log_d("SSID: %s", (char *)(sta_conf->ssid)); +// sta_conf->bssid_set = 0; +// esp_wifi_set_config(WIFI_IF_STA, (wifi_config_t *)sta_conf); +// esp_wifi_connect(); +// _smartConfigDone = true; +// } else if (status == SC_STATUS_LINK_OVER) { +// if(result){ +// #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_DEBUG +// ip4_addr_t * ip = (ip4_addr_t *)result; +// log_d("Sender IP: " IPSTR, IP2STR(ip)); +// #endif +// } +// WiFi.stopSmartConfig(); + // } } diff --git a/libraries/WiFi/src/WiFiServer.cpp b/libraries/WiFi/src/WiFiServer.cpp index 75c2872bb78..8cddb34089c 100644 --- a/libraries/WiFi/src/WiFiServer.cpp +++ b/libraries/WiFi/src/WiFiServer.cpp @@ -49,7 +49,7 @@ WiFiClient WiFiServer::available(){ else { struct sockaddr_in _client; int cs = sizeof(struct sockaddr_in); - client_sock = lwip_accept_r(sockfd, (struct sockaddr *)&_client, (socklen_t*)&cs); + client_sock = lwip_accept(sockfd, (struct sockaddr *)&_client, (socklen_t*)&cs); } if(client_sock >= 0){ int val = 1; @@ -99,7 +99,7 @@ bool WiFiServer::hasClient() { } struct sockaddr_in _client; int cs = sizeof(struct sockaddr_in); - _accepted_sockfd = lwip_accept_r(sockfd, (struct sockaddr *)&_client, (socklen_t*)&cs); + _accepted_sockfd = lwip_accept(sockfd, (struct sockaddr *)&_client, (socklen_t*)&cs); if (_accepted_sockfd >= 0) { return true; } @@ -107,7 +107,7 @@ bool WiFiServer::hasClient() { } void WiFiServer::end(){ - lwip_close_r(sockfd); + lwip_close(sockfd); sockfd = -1; _listening = false; }