From 3421590c29b87f22a7c480ae6d5757a782277cc4 Mon Sep 17 00:00:00 2001 From: Luc Date: Tue, 27 Nov 2018 15:15:04 +0100 Subject: [PATCH 1/6] Clean warnings when all warning enabled Not used variables / functions due to debug log Dual define with different values : cores\esp32/binary.h #define B110 6 #define B1000000 64 tools/sdk/include/newlib/sys/termios.h #define B110 3 #define B1000000 23 Local variable returned in WiFiclient Secure --- cores/esp32/esp32-hal-i2c.c | 22 ++++++++++++------- libraries/WiFi/src/WiFiClient.cpp | 3 +++ libraries/WiFi/src/WiFiMulti.cpp | 10 +++++---- libraries/WiFi/src/WiFiSTA.cpp | 4 ++++ .../WiFiClientSecure/src/WiFiClientSecure.cpp | 11 +++++----- tools/sdk/include/vfs/esp_vfs.h | 2 +- 6 files changed, 33 insertions(+), 19 deletions(-) diff --git a/cores/esp32/esp32-hal-i2c.c b/cores/esp32/esp32-hal-i2c.c index 1ddc638d255..3493a56b4e8 100644 --- a/cores/esp32/esp32-hal-i2c.c +++ b/cores/esp32/esp32-hal-i2c.c @@ -248,9 +248,10 @@ static void IRAM_ATTR i2cDumpCmdQueue(i2c_t *i2c) /* Stickbreaker ISR mode debug support */ + #if (ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO) static void i2cDumpDqData(i2c_t * i2c) { -#if (ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO)&&(defined ENABLE_I2C_DEBUG_BUFFER) +#if defined (ENABLE_I2C_DEBUG_BUFFER) uint16_t a=0; char buff[140]; I2C_DATA_QUEUE_t *tdq; @@ -306,9 +307,12 @@ static void i2cDumpDqData(i2c_t * i2c) } a++; } +#else + log_i("Debug Buffer not Enabled"); #endif } - +#endif +#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO static void i2cDumpI2c(i2c_t * i2c) { log_e("i2c=%p",i2c); @@ -332,11 +336,12 @@ static void i2cDumpI2c(i2c_t * i2c) i2cDumpDqData(i2c); } } +#endif +#if (ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO) static void i2cDumpInts(uint8_t num) { -#if (ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO) && (defined ENABLE_I2C_DEBUG_BUFFER) - +#if defined (ENABLE_I2C_DEBUG_BUFFER) uint32_t b; log_i("%u row\tcount\tINTR\tTX\tRX\tTick ",num); for(uint32_t a=1; a<=INTBUFFMAX; a++) { @@ -349,9 +354,10 @@ static void i2cDumpInts(uint8_t num) log_i("Debug Buffer not Enabled"); #endif } +#endif -static void IRAM_ATTR i2cDumpStatus(i2c_t * i2c){ #if (ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO)&&(defined ENABLE_I2C_DEBUG_BUFFER) +static void IRAM_ATTR i2cDumpStatus(i2c_t * i2c){ typedef union { struct { uint32_t ack_rec: 1; /*This register stores the value of ACK bit.*/ @@ -377,11 +383,11 @@ static void IRAM_ATTR i2cDumpStatus(i2c_t * i2c){ sr.val= i2c->dev->status_reg.val; log_i("ack(%d) sl_rw(%d) to(%d) arb(%d) busy(%d) sl(%d) trans(%d) rx(%d) tx(%d) sclMain(%d) scl(%d)",sr.ack_rec,sr.slave_rw,sr.time_out,sr.arb_lost,sr.bus_busy,sr.slave_addressed,sr.byte_trans, sr.rx_fifo_cnt, sr.tx_fifo_cnt,sr.scl_main_state_last, sr.scl_state_last); -#endif } +#endif -static void i2cDumpFifo(i2c_t * i2c){ #if (ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO)&&(defined ENABLE_I2C_DEBUG_BUFFER) +static void i2cDumpFifo(i2c_t * i2c){ char buf[64]; uint16_t k = 0; uint16_t i = fifoPos+1; @@ -422,8 +428,8 @@ if(i != fifoPos){// actual data } }while( i!= fifoPos); } -#endif } +#endif static void IRAM_ATTR i2cTriggerDumps(i2c_t * i2c, uint8_t trigger, const char locus[]){ #if (ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO)&&(defined ENABLE_I2C_DEBUG_BUFFER) diff --git a/libraries/WiFi/src/WiFiClient.cpp b/libraries/WiFi/src/WiFiClient.cpp index 246bfc0e99f..cf16ffc8828 100644 --- a/libraries/WiFi/src/WiFiClient.cpp +++ b/libraries/WiFi/src/WiFiClient.cpp @@ -439,6 +439,9 @@ uint8_t WiFiClient::connected() if (_connected) { uint8_t dummy; int res = recv(fd(), &dummy, 0, MSG_DONTWAIT); + if(res < 0) { + log_e("%d", errno); + } switch (errno) { case EWOULDBLOCK: case ENOENT: //caused by vfs diff --git a/libraries/WiFi/src/WiFiMulti.cpp b/libraries/WiFi/src/WiFiMulti.cpp index 300daee4280..b41ca37bc7f 100644 --- a/libraries/WiFi/src/WiFiMulti.cpp +++ b/libraries/WiFi/src/WiFiMulti.cpp @@ -118,17 +118,19 @@ uint8_t WiFiMulti::run(uint32_t connectTimeout) status = WiFi.status(); } - IPAddress ip; - uint8_t * mac; switch(status) { case 3: - ip = WiFi.localIP(); - mac = WiFi.BSSID(); + { +#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_DEBUG + IPAddress ip = WiFi.localIP(); + uint8_t * mac = WiFi.BSSID(); +#endif log_i("[WIFI] Connecting done."); log_d("[WIFI] SSID: %s", WiFi.SSID().c_str()); log_d("[WIFI] IP: %d.%d.%d.%d", ip[0], ip[1], ip[2], ip[3]); log_d("[WIFI] MAC: %02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); log_d("[WIFI] Channel: %d", WiFi.channel()); + } break; case 1: log_e("[WIFI] Connecting Failed AP not found."); diff --git a/libraries/WiFi/src/WiFiSTA.cpp b/libraries/WiFi/src/WiFiSTA.cpp index f1ffa1f1f4f..b673db67bf5 100644 --- a/libraries/WiFi/src/WiFiSTA.cpp +++ b/libraries/WiFi/src/WiFiSTA.cpp @@ -683,7 +683,9 @@ 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; +#endif log_d("Type: %s", sc_type_strings[*type % 3]); } else if (status == SC_STATUS_LINK) { wifi_sta_config_t *sta_conf = reinterpret_cast(result); @@ -694,7 +696,9 @@ void WiFiSTAClass::_smartConfigCallback(uint32_t st, void* result) { _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; +#endif log_d("Sender IP: " IPSTR, IP2STR(ip)); } WiFi.stopSmartConfig(); diff --git a/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp b/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp index 1a8574757b2..9f541247e43 100644 --- a/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp +++ b/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp @@ -232,7 +232,9 @@ bool WiFiClientSecure::verify(const char* fp, const char* domain_name) } char *WiFiClientSecure::_streamLoad(Stream& stream, size_t size) { - char *dest = (char*)malloc(size); + static char *dest = nullptr; + if(dest)free(dest); + dest = (char*)malloc(size); if (!dest) { return nullptr; } @@ -240,10 +242,7 @@ char *WiFiClientSecure::_streamLoad(Stream& stream, size_t size) { free(dest); return nullptr; } - char ret[size+1]; - snprintf(ret, size, "%s", dest); - free(dest); - return ret; + return dest; } bool WiFiClientSecure::loadCACert(Stream& stream, size_t size) { @@ -290,4 +289,4 @@ int WiFiClientSecure::lastError(char *buf, const size_t size) void WiFiClientSecure::setHandshakeTimeout(unsigned long handshake_timeout) { sslclient->handshake_timeout = handshake_timeout * 1000; -} \ No newline at end of file +} diff --git a/tools/sdk/include/vfs/esp_vfs.h b/tools/sdk/include/vfs/esp_vfs.h index e54a3e9835c..76a4eee5584 100644 --- a/tools/sdk/include/vfs/esp_vfs.h +++ b/tools/sdk/include/vfs/esp_vfs.h @@ -27,7 +27,7 @@ #include #include #include -#include +//#include #include #include #include "sdkconfig.h" From 10486fe1ef9ec97e3e5ba9a3b236c88da55eb480 Mon Sep 17 00:00:00 2001 From: Luc Date: Tue, 27 Nov 2018 15:38:14 +0100 Subject: [PATCH 2/6] change due to deprecated function --- cores/esp32/Esp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cores/esp32/Esp.cpp b/cores/esp32/Esp.cpp index 713ba7ab66c..7f57973ea66 100644 --- a/cores/esp32/Esp.cpp +++ b/cores/esp32/Esp.cpp @@ -156,7 +156,7 @@ static uint32_t sketchSize(sketchSize_t response) { .size = running->size, }; data.start_addr = running_pos.offset; - esp_image_load(ESP_IMAGE_VERIFY, &running_pos, &data); + esp_image_verify(ESP_IMAGE_VERIFY, &running_pos, &data); if (response) { return running_pos.size - data.image_len; } else { From 65ee625c515ea06eadafaa4ce06a9708dafe0b5f Mon Sep 17 00:00:00 2001 From: Luc Date: Tue, 27 Nov 2018 18:06:48 +0100 Subject: [PATCH 3/6] Update with proper variable and label --- libraries/WiFi/src/WiFiClient.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/WiFi/src/WiFiClient.cpp b/libraries/WiFi/src/WiFiClient.cpp index cf16ffc8828..14a4d4f4d98 100644 --- a/libraries/WiFi/src/WiFiClient.cpp +++ b/libraries/WiFi/src/WiFiClient.cpp @@ -440,7 +440,7 @@ uint8_t WiFiClient::connected() uint8_t dummy; int res = recv(fd(), &dummy, 0, MSG_DONTWAIT); if(res < 0) { - log_e("%d", errno); + log_e("RES: %d", res); } switch (errno) { case EWOULDBLOCK: From d5ad89a83db162d8594b84236f95b9a5a724360b Mon Sep 17 00:00:00 2001 From: Luc Date: Tue, 27 Nov 2018 20:53:50 +0100 Subject: [PATCH 4/6] Update esp32-hal-i2c.c --- cores/esp32/esp32-hal-i2c.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cores/esp32/esp32-hal-i2c.c b/cores/esp32/esp32-hal-i2c.c index 3493a56b4e8..bba0b6a38cb 100644 --- a/cores/esp32/esp32-hal-i2c.c +++ b/cores/esp32/esp32-hal-i2c.c @@ -248,7 +248,7 @@ static void IRAM_ATTR i2cDumpCmdQueue(i2c_t *i2c) /* Stickbreaker ISR mode debug support */ - #if (ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO) +#if (ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO) static void i2cDumpDqData(i2c_t * i2c) { #if defined (ENABLE_I2C_DEBUG_BUFFER) From 684e7bacdef80f71b0413caf81f56ab61775d0fe Mon Sep 17 00:00:00 2001 From: Luc Date: Wed, 28 Nov 2018 10:33:37 +0100 Subject: [PATCH 5/6] Apply changes requested --- libraries/WiFi/src/WiFiMulti.cpp | 10 ++-------- libraries/WiFi/src/WiFiSTA.cpp | 4 ++-- libraries/WiFiClientSecure/src/WiFiClientSecure.cpp | 6 ++++-- tools/sdk/include/vfs/esp_vfs.h | 2 +- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/libraries/WiFi/src/WiFiMulti.cpp b/libraries/WiFi/src/WiFiMulti.cpp index b41ca37bc7f..c5b8ed61526 100644 --- a/libraries/WiFi/src/WiFiMulti.cpp +++ b/libraries/WiFi/src/WiFiMulti.cpp @@ -120,17 +120,11 @@ uint8_t WiFiMulti::run(uint32_t connectTimeout) switch(status) { case 3: - { -#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_DEBUG - IPAddress ip = WiFi.localIP(); - uint8_t * mac = WiFi.BSSID(); -#endif log_i("[WIFI] Connecting done."); log_d("[WIFI] SSID: %s", WiFi.SSID().c_str()); - log_d("[WIFI] IP: %d.%d.%d.%d", ip[0], ip[1], ip[2], ip[3]); - log_d("[WIFI] MAC: %02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); + log_d("[WIFI] IP: %s", WiFi.localIP().toString().c_str()); + log_d("[WIFI] MAC: %s", WiFi.BSSID().toString().c_str()); log_d("[WIFI] Channel: %d", WiFi.channel()); - } break; case 1: log_e("[WIFI] Connecting Failed AP not found."); diff --git a/libraries/WiFi/src/WiFiSTA.cpp b/libraries/WiFi/src/WiFiSTA.cpp index b673db67bf5..b76dea05913 100644 --- a/libraries/WiFi/src/WiFiSTA.cpp +++ b/libraries/WiFi/src/WiFiSTA.cpp @@ -685,8 +685,8 @@ void WiFiSTAClass::_smartConfigCallback(uint32_t st, void* result) { if (status == SC_STATUS_GETTING_SSID_PSWD) { #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_DEBUG smartconfig_type_t * type = (smartconfig_type_t *)result; -#endif 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)); @@ -698,8 +698,8 @@ void WiFiSTAClass::_smartConfigCallback(uint32_t st, void* result) { if(result){ #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_DEBUG ip4_addr_t * ip = (ip4_addr_t *)result; -#endif log_d("Sender IP: " IPSTR, IP2STR(ip)); +#endif } WiFi.stopSmartConfig(); } diff --git a/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp b/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp index 9f541247e43..5d6986b565d 100644 --- a/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp +++ b/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp @@ -233,14 +233,16 @@ bool WiFiClientSecure::verify(const char* fp, const char* domain_name) char *WiFiClientSecure::_streamLoad(Stream& stream, size_t size) { static char *dest = nullptr; - if(dest)free(dest); + if(dest) { + free(dest); + } dest = (char*)malloc(size); if (!dest) { return nullptr; } if (size != stream.readBytes(dest, size)) { free(dest); - return nullptr; + dest = nullptr; } return dest; } diff --git a/tools/sdk/include/vfs/esp_vfs.h b/tools/sdk/include/vfs/esp_vfs.h index 76a4eee5584..e54a3e9835c 100644 --- a/tools/sdk/include/vfs/esp_vfs.h +++ b/tools/sdk/include/vfs/esp_vfs.h @@ -27,7 +27,7 @@ #include #include #include -//#include +#include #include #include #include "sdkconfig.h" From 6a180ee88d90e5be1eeaa1b8c4b8b6d12dab7a79 Mon Sep 17 00:00:00 2001 From: Luc Date: Thu, 29 Nov 2018 10:21:05 +0100 Subject: [PATCH 6/6] Fix warnings due to #define conflict thanks @atanisoft --- libraries/SD/src/sd_diskio.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/SD/src/sd_diskio.cpp b/libraries/SD/src/sd_diskio.cpp index 3dfbc040c73..ca0f0d6b05e 100644 --- a/libraries/SD/src/sd_diskio.cpp +++ b/libraries/SD/src/sd_diskio.cpp @@ -16,7 +16,7 @@ extern "C" { #include "diskio.h" #include "ffconf.h" #include "ff.h" - #include "esp_vfs.h" + //#include "esp_vfs.h" #include "esp_vfs_fat.h" char CRC7(const char* data, int length); unsigned short CRC16(const char* data, int length);