This adds a function to WiFiClientSecure to set the ALPN protocol.
This is required for an MQTT client to connect to AWS IoT when using an AWS Custom Authorizer, as described here.
Example code snippet:
...
WiFiClientSecure wiFiClient;
// ALPN protocol, needed with AWS custom authorizer
const char *aws_protos[] = {"mqtt", NULL};
void setup() {
wiFiClient.setCACert(AWSCAPEM);
wiFiClient.setAlpnProtocols(aws_protos);
}
...
Summary
Related to the issue #5773 and #2280.
_user_defined_size is removed from EEPROMClass because it is redundant in the current code
EEPROMClass::length() returns _size that is the true available size of EEPROM
Impact
_user_defined_size is removed from EEPROMClass
EEPROMClass::length() returns _size that is the true available size of EEPROM
Function analogReadResolution set how many bits will analogRead return.
Find out that this functionality was added back 2017 by @me-no-dev in #161.
Related issues:
#5163
Summary
Modifies WiFi lib to allow dynamic buffer allocation along with SPIRAM MALLOC enabled
This gives more heap space to the users
Related PR in Arduino Lib Builder: espressif/esp32-arduino-lib-builder#47
Impact
WiFi will work the same as it was in version 1.0.6, restoring free heap.
close#5630close#5474close#5699close#5697
* SPI.h add new call to return a SS pin number used.
As code example states, the SS pin needs to be explicitly set for output for SPI to work, but the pin number have to be coded in addition to the SPI logic in the library, which means this duplicates code. It is much better to just be able to get the pin number from library itself.
* Update SPI_Multiple_Buses.ino to use new pinSS method
Simplify the example case, to show usage of pinSS method. This also simplifies the example, removing duplicated code.
Summary
New feature: Add the ability to get the peer certificate of an SSL connectio. This is useful for IoT when the root/cert trust chain has a shorter lifecylce than the device itself. Includes example code.
It adds two methods to the WiFiClientSecure client:
bool getFingerprintSHA256( uint8_t fingerprint_remote_sha256[32]) -- return true and the fingerprint (i.e. the SHA256 of the raw x509 as a DER - identical to what you see in for example your webbrowser). Or false on error.
const mbedtls_x509_crt* getPeerCertificate(); -- return the actual X509 struct or NULL on error.
Impact
No impact; backwards compatible (only adds to the API)
When compiling with verbose logging, the build would error with a message saying `len` is not defined in `tud_vendor_rx_cb()`. This change fixes the error.
* SD.open() new feature for creating all folders in path
This PR adds to the SD.open() function option to create all folders to the file.
SD.open(const char* path, const char* mode, const bool create)
Default value of create is false.
When true folders are created.
From issue #5019
* Update vfs_api.cpp
memccpy -> memcpy
* SD_MMC deinit fix
Wrong deinit function was called.
* Fix build compilation due to changes in the HW_TIMER's structs
* Fix compilation warnings and errors with USB
* Update USBCDC.cpp
* Update CMakeLists.txt
* Update HWCDC.cpp
* Implement Thread-Safe I2C based on ESP-IDF API
* Update esp32-hal.h
* use proper types for size and timeout
* Allow disabling of the HAL locks
* Limit frequency settings to prevent Interrupt WDT
* SD.open() new feature for creating all folders in path
This PR adds to the SD.open() function option to create all folders to the file.
SD.open(const char* path, const char* mode, const bool create)
Default value of create is false.
When true folders are created.
From issue #5019
* Update vfs_api.cpp
memccpy -> memcpy
* File f = open() edit
added false for create
* SDMMC frequency selection based on board type
On Olimex ESP32 EVB I/O operations with SD card can cause error when LAN is used in same time.
Problem is disappearing if SD MMC frequency lower down from SDMMC_FREQ_HIGHSPEED to SDMMC_FREQ_DEFAULT.
No problem if WiFi used instead LAN.
* Code rewritten according to https://github.com/espressif/arduino-esp32/pull/5688#pullrequestreview-759359645
esp_eth_phy_new_ksz8081 was added in IDF after version 4.3 and generates a compilation error with IDF-4.3. This change will only use esp_eth_phy_new_ksz8081 for IDF versions after 4.3