* Add `SYSTEM_EVENT_WIFI_READY` call back once wifi service is init. allows you to hook in, as the sdk does not generate this event for you.
As it stands the SDK does not appear to set `WIFI_MODE_NULL` correctly. if the wifi is initialised and set to `WIFI_MODE_NULL` it actually defaults to AP mode. This fix keeps `WIFI_MODE_NULL` within the ESP class if the wifi has not been init yet, and works in my testing. albeit a one sided conversation.
https://github.com/espressif/arduino-esp32/issues/1306
* make changes compatible with new _persistent behaviour.
wifi_err_reason_t doesn't have reason code 12. After reason code 11, we are getting wrong wifi disconnected reason message. Added "UNSPECIFIED" in place of reason code 12.
And above 201 reason code, it should be r-176 instead of r-177. Because messages are started from zeroth offset.
The wifi stack initialisation must be complete before calling `_udp_ota.parsePacket()` otherwise you just get a screen filled with
```
```
and due to the more async methods in ESP32 `handle()` may be called before this can occur.
If you develop on windows and need cr/lf files, see this:
https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#_formatting_and_whitespace
Git can handle this by auto-converting CRLF line endings into LF
when you add a file to the index, and vice versa when it checks out
code onto your filesystem. You can turn on this functionality with
the core.autocrlf setting. If you're on a Windows machine, set it
to true - this converts LF endings into CRLF when you check out code:
$ git config --global core.autocrlf true
* Update BLE lib
* Update IDF to f586f5e
* Restructure Bluetooth Serial includes
* Update esptool and gen_esp32part
* Add partition scheme selection for menuconfig
* Add partition scheme selection for Arduino IDE
* Fix BLE example
* Second attempt BLE fix
* Add exceptions to PIO
This code allows Wire.begin() to assign the default values of SDA, and SCL only if they have not been previously configured. Arduino libraries that use Wire() usually re-init the I2C interface in their initialization code with a call to Wire.begin(). If a user app sets custom pins assignment in setup(); These assignments will be overwritten with the default values whenever Wire.begin() is called.
* Add BluetoothSerial library
A simple UART to Classical Bluetooth bridge for ESP32
* Create README.md
* Fix typos
* Replace deprecated header and small fixes
* Add coexistence with BLE
* Add missing semicolon
The ESP8266 version of the mDNS library expected service name and protocol without leading '_' (underscore). The ESP32 version expected service name and protocol with leading '_' (underscore).
This small change makes the ESP32 version compatible with the ESP8266 version and keeps backward compatible with existing code by accepting service name and protocol either with or without leading '_' (underscore).
* enchanced EEPROMClass
* Added eeprom examles and modified partition
* added eeprom class and extra examples
* No changes
* No changes
* added eeprom class and examples
* fixed typo
* length() returns user-defined sector size
* updated and annotated example
* Retrieve some code from what has been done on the ESP8266. Clarify a bit the signification of several bytes in the response.
* Add the type and class as members of the DNS class for an eventual future use.
* Clarify the sense of a magic number present in DNS server.
* A bit of aesthetics for the DNS server.
* Add a structure for the DNS question, use it DNS server to store the question data and to create the DNS answer from scratch.
* Added a lastError method to WiFiClientSecure so that a connection error from mbedTLS can be retrieved if connection fails (and then presented to a user).
* Changed to dos CRLF
* Made buffer size a const\nMore cleanup to match source
* Small grammar fixes and clarifications
Just fixed some small grammar issues in the comments and clarified a few things that might seem confusing.
* More spelling fixes that I introduced...
* Update mDNS and LEDC
* update toolchain
* Update IDF to 1c3dd23
* Advertise the board variant for Arduino OTA
* Add generic variant definition for mDNS
* Allow configuration of Ethernet PHY clock source
Refer to https://github.com/espressif/esp-idf/pull/1127
The internal APLL can be used to generate the 50MHz clock for the internal EMAC and the external Ethernet PHY.
The clock can either be input on GPIO0 (as before) or output on GPIO0, GPIO16 or GPIO17 (only GPIO17 extensively tested).
New example available.
* Allow configuration of Ethernet PHY clock source
Refer to https://github.com/espressif/esp-idf/pull/1127
The internal APLL can be used to generate the 50MHz clock for the internal EMAC and the external Ethernet PHY.
The clock can either be input on GPIO0 (as before) or output on GPIO0, GPIO16 or GPIO17 (only GPIO17 extensively tested).
New example available.
When user selected HSPI with SPIClass name(HSPI) ESP was, by default,
still using VSPI ports (the ones defined in pins_arduino.h).
With this change when user selects HSPI then HSPI default ports will be
used.
If user won't specify HSPI then VSPI default ports will be used.
If user will specify SCLK, MOSI, MISO and SS with SPI.begin() then user
defined ports will be used no matter if VSPI or HSPI is selected.
With this change fe. SD library can use default HSPI ports. It was
possible to
pass HSPI SPI instance to SD lib, however even then it was using VSPI
ports which were (probably) GPIO matrixed to HSPI.
* ArduinoOTA would stop receiving any packets if the port received a zero-length UDP packet, commonly sent by network scanners like nmap. Fixed to flush() after every call to parsePacket(), even if read length is 0.
Additionally, added length checking to fix a potential buffer overflow in parseInt().
Finally, added an end() method that stops the OTA listener and releases resources.
* Only end MDNS in end() if mdns mode is enabled.
* Create ledcWrite_demo_ESP32_RGB.ino
adding the public domain example ledcWrite_demo_ESP32.ino to this repo. Added RGB to the name for people searching, added some comments, and renames things to make a bit more sense.
* Update ledcWrite_demo_ESP32_RGB.ino
renamed to ledcWrite_RGB.ino and added a couple more comments based on https://github.com/espressif/arduino-esp32/issues/689
* Rename libraries/ESP32/examples/AnalogOut/ledcWrite_demo_ESP32_RGB/ledcWrite_demo_ESP32_RGB.ino to libraries/ESP32/examples/AnalogOut/ledcWrite_RGB/ledcWrite_RGB.ino
Renamed.
* Addition of a i2cReset method and timeout handling for the case where the i2c hardware FSM (state machine) gets stuck in a busy state.
* Use newly added i2cReset function within the wire library.
* Add example to update ESP32 via SD card
* Delete update.bin from sd upon finishing update
* remove precompiled binary from example
* Check whether update.bin is a file
* Change disconnect function
Current implementation does not disconnect the WiFi. Use of `esp_wifi_disconnect()` does.
* Update WiFiSTA.cpp
put back the clear ssid + password
remove the duplicate `esp_wifi_set_config(WIFI_IF_STA, &conf);`
send() can return a value > 0 but less than size indicating it was able to accept some of the data in buffer. The caller must try again after updating the buffer pointer and size remaining.
* Add files via upload
Calls to writePattern() don't send the desired number of bytes when the pattern size doesn't divide evenly into the hardware FIFO size (e.g. sending 18-bit RGB data, 11 patterns take 63 bytes, so 1/64th of the data is never sent).
* Add files via upload
Remove white space changes.
* Edit comments for clarity
I was a little confused reading what this sketch did the first time so I attempted to edit these for clarity.
* code edits as well
Grammar fixes for some parts of the code as well