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
* Create PULL_REQUEST_TEMPLATE.md
Adding first version of PULL_REQUEST_TEMPLATE.md.
The purpose of this template is to improve and simplify writing more accurate Release Notes.
* Update PULL_REQUEST_TEMPLATE.md
Fix typo.
* Update README.MD - "Type: For reference" labels link
Updating a link to issues labeled with "Type: For reference". The old one is not working due to the updates of labels in the past.
This pull request contains a few fixes and improvements to the HWCDC implementation.
- Rework `HWCDC::write()` to accept unlimited data
- Add Semaphore to guard the TX Ring Buffer
- Add events support
- Remove unnecessary 1200bps touch for flashing over HWCDC
- Fix `HardwareSerial::setDebugOutput()` not resetting `putc` if the port is already selected, causing debug output to also show on HWCDC even when not selected.
Depending on `tud_cdc_tx_complete_cb` can cause in some cases the last packet to not be transmitted until more data is written and flushed. It's a rare case, but if the other end is expecting those last bytes, transmission will hang.
This PR also fixes debug output on CDC