Summary
Only affects ETH (not WiFi)
This PR solves #5733 by allowing the DHCP IDF server to complete its tasks and only then it sets a static IP.
This also solves another related failure reported in this issue (#5733 (comment)).
fix#5733
Impact
Adds a delay in order to wait for DHCP to actually terminate before setting the static IP configuration in ETH.
Added an option for using precompiled libraries.
Empty if there is no precompilation.
```
compiler.libraries.ldflags=
```
Compiler Message when there is precompilation.
```
Compiling libraries...
Compiling library "aquestalk-esp32"
Library aquestalk-esp32 has been declared precompiled:
Using precompiled library in C:\Users\tanaka\Documents\Arduino\libraries\aquestalk-esp32\src\esp32
```
The precompiler cannot be used because it is not set up now.
* [FEATURE] ARDUINO_PARTITION_xxx build flag
Proposition: adding `-DARDUINO_PARTITION_{build.partitions}` flag to make the build partition information available at compile time.
Use cas example:
```C
#if defined ARDUINO_PARTITION_default
// prevent compilation
#error "This sketch needs 'Minimal SPIFFS' partition scheme to compile"
// or disable sketch features that need flash space
#define USE_HUGE_BITMAP_IMAGES false
#endif
```
* Adding -DARDUINO_PARTITION_{build.partitions} (see #5804)
When using the FTM examples I got an error in the FTM_Initiator.ino:
*"wifi:channel=0 is invalid"*
I solved it for myself by simply passing the channel argument to be 1 in *WiFi.initiateFTM*. However, a better fix would be to directly change the default channel here.
* examples: WiFi and Ethernet examples organization
* examples: Change on CI scripts to include new folder
* Library name reverted to WiFi
* examples: WiFi and Ethernet examples organization in a new folder
* examples: Eth files moved from WiFi to Ethernet lib and CMakeLists updated
* Added I2C driver docs
docs: Changes on the images and added more details about the I2C slave
* docs: Added slaveWrite description and added docs build folder to the gitignore file
The client always appends "Basic" to the authorization header, however there are other auth schemes that can be used: https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication
For example "Bearer" when using OAuth.
This PR adds a `setAuthorizationType` method to the HTTPClient which allows this scheme to be configured by the caller. Authorization type is set to "Basic" by default so this will have no impact on existing usecases.
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.