diff --git a/lib/lib_ssl/bearssl-esp8266/src/pgmspace_bearssl.h b/lib/lib_ssl/bearssl-esp8266/src/pgmspace_bearssl.h index 4bfbccc8c..30ed2a40f 100644 --- a/lib/lib_ssl/bearssl-esp8266/src/pgmspace_bearssl.h +++ b/lib/lib_ssl/bearssl-esp8266/src/pgmspace_bearssl.h @@ -44,6 +44,7 @@ extern "C" { #define PSTR(s) (__extension__({static const char __c[] __attribute__((__aligned__(4))) PROGMEM = (s); &__c[0];})) #endif +#ifdef ESP8266 // Flash memory must be read using 32 bit aligned addresses else a processor // exception will be triggered. // The order within the 32 bit values are: @@ -87,6 +88,26 @@ static inline uint16_t pgm_read_word_inlined(const void* addr) { #define pgm_read_ptr(addr) (*(const void* const*)(addr)) #endif +#else // ESP8266 + + +#ifdef __cplusplus + #define pgm_read_byte(addr) (*reinterpret_cast(addr)) + #define pgm_read_word(addr) (*reinterpret_cast(addr)) + #define pgm_read_dword(addr) (*reinterpret_cast(addr)) + #define pgm_read_float(addr) (*reinterpret_cast(addr)) + #define pgm_read_ptr(addr) (*reinterpret_cast(addr)) +#else + #define pgm_read_byte(addr) (*(const uint8_t*)(addr)) + #define pgm_read_word(addr) (*(const uint16_t*)(addr)) + #define pgm_read_dword(addr) (*(const uint32_t*)(addr)) + #define pgm_read_float(addr) (*(const float)(addr)) + #define pgm_read_ptr(addr) (*(const void* const *)(addr)) +#endif + + +#endif // ESP8266 + #define pgm_read_byte_near(addr) pgm_read_byte(addr) #define pgm_read_word_near(addr) pgm_read_word(addr) #define pgm_read_dword_near(addr) pgm_read_dword(addr) diff --git a/tasmota/WiFiClientSecureLightBearSSL.cpp b/tasmota/WiFiClientSecureLightBearSSL.cpp index 60534c369..7da95c7e9 100755 --- a/tasmota/WiFiClientSecureLightBearSSL.cpp +++ b/tasmota/WiFiClientSecureLightBearSSL.cpp @@ -33,11 +33,6 @@ #include #include -extern "C" { -#include "osapi.h" -#include "ets_sys.h" -} -#include "debug.h" #include "WiFiClientSecureLightBearSSL.h" // needs to be before "ESP8266WiFi.h" to avoid conflict with Arduino headers #include "ESP8266WiFi.h" #include "WiFiClient.h" diff --git a/tasmota/xdrv_52_9_berry.ino b/tasmota/xdrv_52_9_berry.ino index de0681cf9..50fd22b97 100644 --- a/tasmota/xdrv_52_9_berry.ino +++ b/tasmota/xdrv_52_9_berry.ino @@ -196,8 +196,8 @@ int32_t callBerryEventDispatcher(const char *type, const char *cmd, int32_t idx, /*********************************************************************************************\ * VM Observability \*********************************************************************************************/ -void BerryObservability(bvm *vm, int32_t event...); -void BerryObservability(bvm *vm, int32_t event...) { +void BerryObservability(bvm *vm, int event...); +void BerryObservability(bvm *vm, int event...) { va_list param; va_start(param, event); static int32_t vm_usage = 0;