arduino-esp32/libraries
safocl 7966f4ae79
Fix ambiguous for TwoWire::requestFrom() methods and align API with Arduino.cc (#8817)
* Fix ambiguous for TwoWire::requestFrom() methods.

* Remove TwoWire::begin(int) overload
Inside the function, this overload truncated the data type to a shorter one. This could break some users' hopes.

* Rewrite TwoWire with using HardwareI2C
- implement proposal https://github.com/espressif/arduino-esp32/pull/8818#issuecomment-1792191815
  to bring the HARDWARE interface into compliance

* Fix TwoWire::end() return type.

* Fix TwoWire::setClock() return type.

* Fix no return statement in the TwoWire::requestFrom.

* fix(libraries/Wire): fix bad return-statement

Remove non-void values of the return-statements in function returning 'void'.

* style(libraries/Wire): replace tabs with spaces

* refactor(libraries/Wire): use slave without support
TwoWire::begin(uint8_t address) should be available without slave
support by SoC?

* refactor(libraries/Wire): remove unused variables
Compiler reports "Wire.cpp:393:15: error: variable 'err' set but not used [-Werror=unused-but-set-variable]".

* refactor(libraries/Wire): remove unused variables
Compiler reports "Wire.cpp:337:15: error: variable 'err' set but not used [-Werror=unused-but-set-variable]".

* fix(libraries/Wire): hide slave support elements
TwoWire::user_onRequest is used only in conjunction with slave support?

* refactor(libraries/Wire): remove temporary comment

* fix(libraries/Wire): restore an accidentally deleted implementation
TwoWire::endTransmission() was accidentally deleted from a cpp file.

* refactor(libraries/Wire): return return types
In TwoWire class return return types.

* fix(libraries/Wire): fix return type

* refactor(libraries/Wire): add return statement if slave isn't supported

Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>

* refactor(libraries/Wire): fix indentation

Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>

* refactor(libraries/Wire): fix indentation

Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>

* refactor(libraries/Wire): fix indentation

Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>

* refactor(libraries/Wire): remove unnecessary empty lines

---------

Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
2024-01-31 12:50:35 +02:00
..
ArduinoOTA Update/upgrade OTAWebUpdater.ino example (#8839) 2023-11-10 01:27:38 +02:00
AsyncUDP This is a continuation on the topic of adding IPv6 Support to ESP32 Arduino (#9016) 2024-01-15 15:24:34 +02:00
BLE Replace new with malloc for non-class calls (#7868) 2023-12-13 10:22:54 +02:00
BluetoothSerial Bluetooth-classic: release BLE memory when BT classic only is requested (#8051) 2023-11-29 12:44:23 +02:00
DNSServer DNSServer refactoring, switch to AsyncUDP (#7482) 2023-12-18 14:47:04 +02:00
EEPROM ESP-IDF v5.1 (#7733) 2023-10-05 14:54:25 +03:00
ESP32 Web server simplifications and handers (#7429) 2024-01-16 15:49:46 +02:00
ESP_I2S Add I2S examples and documentation (#9030) 2024-01-19 17:25:07 +02:00
ESP_SR [I2S][SR] Add new I2S library and Sound Recognition support (#8714) 2023-10-18 12:05:26 +03:00
ESPmDNS This is a continuation on the topic of adding IPv6 Support to ESP32 Arduino (#9016) 2024-01-15 15:24:34 +02:00
Ethernet This is a continuation on the topic of adding IPv6 Support to ESP32 Arduino (#9016) 2024-01-15 15:24:34 +02:00
FFat ESP-IDF v5.1 (#7733) 2023-10-05 14:54:25 +03:00
FS Fix linker failure when using SPIFFS or LittleFS with Arduino as component. (#8768) 2023-10-17 13:22:42 +03:00
HTTPClient ESPLwIPClient::setTimeout conflict fix with Stream::setTimeout (#6676) 2023-12-13 16:02:54 +02:00
HTTPUpdate ESPLwIPClient::setTimeout conflict fix with Stream::setTimeout (#6676) 2023-12-13 16:02:54 +02:00
HTTPUpdateServer ESP-IDF v5.1 (#7733) 2023-10-05 14:54:25 +03:00
Insights ESP-IDF v5.1 (#7733) 2023-10-05 14:54:25 +03:00
LittleFS Update LittleFS Platformio example (#9151) 2024-01-23 12:52:10 +02:00
NetBIOS ESP-IDF v5.1 (#7733) 2023-10-05 14:54:25 +03:00
Preferences Include nvs_commit() on three methods (#5309) 2021-08-23 21:23:42 +03:00
RainMaker Add documentation on threading issues with WiFi.onEvent() to examples (#8081) 2023-12-05 13:50:26 +02:00
SD sd_diskio.cpp: return 0 instead of false when return type != bool (#9075) 2024-01-08 14:01:59 +02:00
SD_MMC Add support for the Arduino Nano ESP32 on 3.x branch (#8909) 2023-11-29 12:43:59 +02:00
SimpleBLE Bump library versions to 2.0.0 (#5182) 2021-05-18 14:00:49 +03:00
SPI SPI - Allow detaching of some SPI pins without stopping SPI (#9117) 2024-01-19 17:21:19 +02:00
SPIFFS ESP-IDF v5.1 (#7733) 2023-10-05 14:54:25 +03:00
TFLiteMicro Add TFLite Micro examples (#8717) 2023-10-06 13:50:53 +03:00
Ticker Ticker fix solving #6155 (#7664) 2023-02-06 17:25:58 +02:00
Update UpdateClass::setMD5 store expected md5 in lowercase (#8959) 2023-12-05 13:30:26 +02:00
USB Add USB MIDI support to libraries/USB (#8166) 2023-12-05 10:42:53 +02:00
WebServer Web server simplifications and handers (#7429) 2024-01-16 15:49:46 +02:00
WiFi Improves WiFiMulti (#9139) 2024-01-23 16:28:30 +02:00
WiFiClientSecure fix: Remove setTimeout (#8998) 2023-12-14 14:06:31 +02:00
WiFiProv Add documentation on threading issues with WiFi.onEvent() to examples (#8081) 2023-12-05 13:50:26 +02:00
Wire Fix ambiguous for TwoWire::requestFrom() methods and align API with Arduino.cc (#8817) 2024-01-31 12:50:35 +02:00
README.md Added example 'get mac address' (#8618) 2023-11-29 12:11:46 +02:00

ESP32 Libraries

arduino-esp32 includes libraries for Arduino compatibility along with some object wrappers around hardware specific devices. Examples are included in the examples folder under each library folder. The ESP32 includes additional examples which need no special drivers.

ArduinoOTA

Over The Air firmware update daemon. Use espota.py to upload to the device.

AsyncUDP

Asynchronous task driven UDP datagram client/server

BLE

Bluetooth Low Energy v4.2 client/server framework

BluetoothSerial

Serial to Bluetooth redirection server
Note: This library depends on Bluetooth Classic which is only available for ESP32
(Bluetoothserial is not available for ESP32-S2, ESP32-C3, ESP32-S3).

DNSServer

A basic UDP DNS daemon (includes captive portal demo)

EEPROM

Arduino compatibility for EEPROM (using flash)

ESP32

Additional examples

  • AnalogOut
  • Camera
  • ChipID
  • DeepSleep
  • ESPNow
  • FreeRTOS
  • GPIO
  • HallSensor
  • I2S
  • MacAddress
  • ResetReason
  • RMT
  • Time
  • Timer
  • Touch

ESPmDNS

mDNS service advertising

Ethernet

Ethernet networking

FFat

FAT indexed filesystem on SPI flash

FS

Filesystem virtualization framework

HTTPClient

A simple HTTP client, compatible with WiFiClientSecure

HTTPUpdate

Download a firmware update from HTTPd and apply it using Update

HTTPUpdateServer

Upload a firmware for the update from HTTPd

LittleFS

LittleFS (File System)

NetBIOS

NetBIOS name advertiser

Preferences

Flash keystore using ESP32 NVS

ESP RainMaker

End-to-end platform by Espressif that enables Makers to realize their IoT ideas faster

SD

Secure Digital card filesystem using SPI access

SD_MMC

Secure Digital card filesystem using 4-lane access

SimpleBLE

Minimal BLE advertiser

SPI

Arduino compatible Serial Peripheral Interface driver (master only)

SPIFFS

SPI Flash Filesystem (see spiffs-plugin to upload to device)

Ticker

A timer to call functions on an interval

Update

Sketch Update using ESP32 OTA functionality

USB

Universal Serial Bus driver (device only)

WebServer

A simple HTTP daemon

WiFi

Arduino compatible WiFi driver (includes Ethernet driver)

WiFiClientSecure

Arduino compatible WiFi client object using embedded encryption

Wire

Arduino compatible I2C driver