From fb189ccb70557e41722ddd5245c69b61ab35b44b Mon Sep 17 00:00:00 2001 From: Ed Nieuwenhuys Date: Thu, 30 May 2024 16:49:22 +0200 Subject: [PATCH] ready for ESP32 V3 &V2 Changed ESP32 board to 3.0.0 Changed in Arduino\libraries\ESPAsyncWebServer\src\WebAuthentic at line 75,76,77 //----------------- #ifdef ESP_ARDUINO_VERSION_MAJOR #if ESP_ARDUINO_VERSION >= ESP_ARDUINO_VERSION_VAL(3, 0, 0) // Code for version 3.x mbedtls_md5_init(&_ctx); mbedtls_md5_starts(&_ctx); mbedtls_md5_update(&_ctx, data, len); mbedtls_md5_finish(&_ctx, _buf); #else // Code for version 2.x #ifdef ESP32 mbedtls_md5_init(&_ctx); mbedtls_md5_starts_ret(&_ctx); mbedtls_md5_update_ret(&_ctx, data, len); mbedtls_md5_finish_ret(&_ctx, _buf); #else MD5Init(&_ctx); MD5Update(&_ctx, data, len); MD5Final(_buf, &_ctx); #endif #endif #endif //-------------------- in AsyncEventSource.cpp changed at line 189 ets_printf --> log_e for V3 in AsyncWebSocket.cpp changed at line 549 ets_printf --> log_e for V3 #ifdef ESP_ARDUINO_VERSION_MAJOR #if ESP_ARDUINO_VERSION >= ESP_ARDUINO_VERSION_VAL(3, 0, 0) // Code for version 3.x log_e("ERROR: Too many messages queued\n"); #else // Code for version 2.x ets_printf("ERROR: Too many messages queued\n"); #endif #endif --- src/AsyncEventSource.cpp | 10 +++++++++- src/AsyncWebSocket.cpp | 10 +++++++++- src/WebAuthentication.cpp | 32 ++++++++++++++++++++++---------- 3 files changed, 40 insertions(+), 12 deletions(-) diff --git a/src/AsyncEventSource.cpp b/src/AsyncEventSource.cpp index 80dac89ae..4cf1c7ce8 100644 --- a/src/AsyncEventSource.cpp +++ b/src/AsyncEventSource.cpp @@ -186,7 +186,15 @@ void AsyncEventSourceClient::_queueMessage(AsyncEventSourceMessage *dataMessage) return; } if(_messageQueue.length() >= SSE_MAX_QUEUED_MESSAGES){ - ets_printf("ERROR: Too many messages queued\n"); + #ifdef ESP_ARDUINO_VERSION_MAJOR + #if ESP_ARDUINO_VERSION >= ESP_ARDUINO_VERSION_VAL(3, 0, 0) + // Code for version 3.x + log_e("ERROR: Too many messages queued\n"); + #else + // Code for version 2.x + ets_printf("ERROR: Too many messages queued\n"); + #endif + #endif delete dataMessage; } else { _messageQueue.add(dataMessage); diff --git a/src/AsyncWebSocket.cpp b/src/AsyncWebSocket.cpp index 6e88da94f..afb1afa1e 100644 --- a/src/AsyncWebSocket.cpp +++ b/src/AsyncWebSocket.cpp @@ -546,7 +546,15 @@ void AsyncWebSocketClient::_queueMessage(AsyncWebSocketMessage *dataMessage){ return; } if(_messageQueue.length() >= WS_MAX_QUEUED_MESSAGES){ - ets_printf("ERROR: Too many messages queued\n"); + #ifdef ESP_ARDUINO_VERSION_MAJOR + #if ESP_ARDUINO_VERSION >= ESP_ARDUINO_VERSION_VAL(3, 0, 0) + // Code for version 3.x + log_e("ERROR: Too many messages queued\n"); + #else + // Code for version 2.x + ets_printf("ERROR: Too many messages queued\n"); + #endif + #endif delete dataMessage; } else { _messageQueue.add(dataMessage); diff --git a/src/WebAuthentication.cpp b/src/WebAuthentication.cpp index 45246a196..737d46f19 100644 --- a/src/WebAuthentication.cpp +++ b/src/WebAuthentication.cpp @@ -69,16 +69,28 @@ static bool getMD5(uint8_t * data, uint16_t len, char * output){//33 bytes or mo if(_buf == NULL) return false; memset(_buf, 0x00, 16); -#ifdef ESP32 - mbedtls_md5_init(&_ctx); - mbedtls_md5_starts_ret(&_ctx); - mbedtls_md5_update_ret(&_ctx, data, len); - mbedtls_md5_finish_ret(&_ctx, _buf); -#else - MD5Init(&_ctx); - MD5Update(&_ctx, data, len); - MD5Final(_buf, &_ctx); -#endif + #ifdef ESP_ARDUINO_VERSION_MAJOR + #if ESP_ARDUINO_VERSION >= ESP_ARDUINO_VERSION_VAL(3, 0, 0) + // Code for version 3.x + mbedtls_md5_init(&_ctx); + mbedtls_md5_starts(&_ctx); + mbedtls_md5_update(&_ctx, data, len); + mbedtls_md5_finish(&_ctx, _buf); + #else + // Code for version 2.x + #ifdef ESP32 + mbedtls_md5_init(&_ctx); + mbedtls_md5_starts_ret(&_ctx); + mbedtls_md5_update_ret(&_ctx, data, len); + mbedtls_md5_finish_ret(&_ctx, _buf); + #else + MD5Init(&_ctx); + MD5Update(&_ctx, data, len); + MD5Final(_buf, &_ctx); + #endif + #endif + #endif + for(i = 0; i < 16; i++) { sprintf(output + (i * 2), "%02x", _buf[i]); }