Commit graph

2275 commits

Author SHA1 Message Date
Marcel Toele
1a7a893497
Add USB MIDI support to libraries/USB (#8166)
* Added USBMIDI support to libraries/USB

* Added MIDI examples to libraries/USB

* Added missing newline at end of file to MidiController.ino

* Added USBMIDI.cpp to CMake file

* Fix narrowing conversion warning in USBMIDI.cpp

* Fix incomplete initializers warning in USBMIDI.cpp

* Apply suggestions from code review

Co-authored-by: Lucas Saavedra Vaz <lucassvaz@yahoo.com.br>

* add skip files for C6+H2

* remove already patched workaroud for bug

* move #define to top of file

---------

Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
Co-authored-by: Lucas Saavedra Vaz <lucas.vaz@espressif.com>
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
Co-authored-by: Lucas Saavedra Vaz <lucassvaz@yahoo.com.br>
2023-12-05 10:42:53 +02:00
Jan Procházka
374280ccc8
[CI] Add to Boards Test check if build.board is uppercase (#8950)
* Add check if build.board is uppercase

* echo matrix.fqbn
2023-12-05 10:37:32 +02:00
Vojtěch Bartoška
b811ea4087
PR_template_update (#8948) 2023-12-01 16:07:11 +01:00
RefactorFactory
9a9ec09f63
Make USBHIDKeyboard work at boot (#6964)
1. Like a real keyboard, the USB interface descriptor will have an interface
   subclass of boot and an interface protocol of keyboard. This will cause
   some PC BIOS to send a SET PROTOCOL BOOT request to the device.

2. When the device sends reports to the host, if the host requested boot
   protocol, don't send a report ID because boot protocol does not use report
   IDs.

3. To work with some simple PC BIOS:
   a. Use endpoint address of 1 for input and output.
   b. Use separate reports for the shift key. These extra reports can be
      disabled by calling USBHIDKeyboard::setShiftKeyReports(false).

Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
2023-11-30 20:53:25 +02:00
Matthias Hertel
89fd90d669
Supporting ETag http headers on static files (#7687)
* Supporting ETag http headers on static files

* Supporting ETag http headers on static files

* WebServer Example and Doku

* new template for readme added.

* example updated, som more TRACE output.

* better TRACE formatting.

* upload and trace enhancements

* Create .skip.esp32h2

* Update libraries/WebServer/examples/WebServer/data/index.htm

Co-authored-by: Lucas Saavedra Vaz <lucassvaz@yahoo.com.br>

* files.htm trailing newLine

---------

Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
Co-authored-by: Lucas Saavedra Vaz <lucassvaz@yahoo.com.br>
2023-11-30 20:52:49 +02:00
Chester
5fcdb8412d
Kernel panic when delete BLEClient object with descriptor characteristic (#8010)
* Update BLERemoteCharacteristic.cpp

Fix kernel panic issue when trying to release BLEClient when the target device have a ble descriptor.

* Update BLERemoteCharacteristic.cpp

Co-authored-by: Lucas Saavedra Vaz <lucassvaz@yahoo.com.br>

---------

Co-authored-by: Lucas Saavedra Vaz <lucas.vaz@espressif.com>
Co-authored-by: Lucas Saavedra Vaz <lucassvaz@yahoo.com.br>
2023-11-30 14:26:23 +02:00
Me No Dev
8985a77e3e
IDF release/v5.1 3662303f31 (#8943) 2023-11-30 10:24:23 +02:00
Luca Burelli
e97a519032
fix: pin_remap: make periman APIs private and non-remapped (#8940)
Turns out that disabling the periman APIs from remap has a negligible
effect on the source: the core is already excluded from remapping, as
are most of the libraries. It's also expected to be a private API not
exposed by default.
This patch removes it from both esp32-hal.h and io_pin_remap.h,
adjusting the relevant libraries.
2023-11-29 16:46:03 +02:00
Vlastimil Hajek
8c150e2184
feat: adding possibility to manually set MD5 checksum for HTTP update (#7629) 2023-11-29 15:53:07 +02:00
Me No Dev
789ae4c9fe
Support relative paths in UNIX search PATH (#8938)
Copy of https://github.com/espressif/arduino-esp32/pull/8622 for v3.0.0
2023-11-29 15:50:00 +02:00
Me No Dev
e4b701b516
Set M5Stack Core2 Flash Mode to QIO (#8937) 2023-11-29 15:49:27 +02:00
Me No Dev
5ca45bebdf
Add support for I2S Slot Mask (#8936)
Needed for some setups, where only the right channel is being used.
2023-11-29 15:48:34 +02:00
dpnebert
c1417e9b7d
Added methods to remove service UUID from BLEAdvertising (#8747)
* Modified 'BLEAdvertising.h' & 'BLEAdvertising.cpp'

Added three methods for removing service UUID from BLEAdvertised

* Update BLEAdvertising.cpp

Changed 'i' to 'index'

---------

Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
2023-11-29 14:26:48 +02:00
tobozo
bd39fcfac6
Absolute mouse support (was #6331) (#8831)
* Added absolute mouse support

* make click() virtual

---------

Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
2023-11-29 14:25:26 +02:00
Christian Ferbar
dbf0b18d49
Bluetooth-classic: release BLE memory when BT classic only is requested (#8051)
* esp32-hal-bt.c free Bluetooth LE memory if CONFIG_BTDM_CONTROLLER_MODE_BR_EDR_ONLY is set

BLE memory can be released if bluetooth-classic - only is requested

* tStart( add error output

* ble mem_release only for esp32

* disable BLE with BT_MODE define

* BluetoothSerial add begin()+disableBLE; add memrelease

* btStart with BT_MODE parameter

* beautification

* Update BluetoothSerial.cpp fix wrong merges

---------

Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
2023-11-29 12:44:23 +02:00
Luca Burelli
7d26b070d7
Add support for the Arduino Nano ESP32 on 3.x branch (#8909)
* [pin_remap 1/3] platform: define ARDUINO_CORE_BUILD when building core files

* [pin_remap 2/3] core,libs: add pin remap hooks

* platform: remove previous build options if file is missing

"touch" would create the file if not present, but not delete its
contents if a previous run left the file in the build dir.

* platform: make debug_custom.json file customizable by board

* platform: fix default debug prefix

"debug.toolchain.prefix" must end with a dash, since only the tool name is
appended to this string.

The reason this is not a major issue is that the "debug_custom.json" file
(copied in the sketch directory when debugging is enabled) forces its own
prefix. And to make things more interesting, the "toolchainPrefix" entry
in that file should _not_ end with a dash.

* [pin_remap 3/3]: add Arduino Nano ESP32 board

* fix: periman: include it by default, add include guard

* fix: io_pin_remap: adjust for new perimap APIs

* fix: libraries: manually handled pin remapping files

Previously all libraries invoked either high-level APIs (transparently
remapped, like the user sketch) or low-level ESP-IDF calls (where the
remap to GPIO numbers had to be added manually).

Since 3.x, some of these are mixed (for example, periman* APIs are
remapped, while soc* are not). This must be handled by disabling the
automatic API remapping and making sure all calls use GPIO numbers.

* feat: show remapped pins in chip debug reports

---------

Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
2023-11-29 12:43:59 +02:00
dpnebert
595dc01830
Added example 'get mac address' (#8618)
* Example sketch prints MAC for different interfaces

Interfaces described in documenation: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/misc_system_api.html#mac-address

* Update README.md to include 'MacAddress'

* Add files via upload

* Delete libraries/ESP32/examples/MacAddress/GetMacAddress.ino

* Delete libraries/ESP32/examples/MacAddress/GetMacAddress/GetMacAddress.ino

* Delete libraries/ESP32/examples/MacAddress/GetMacAddress/MacAddress directory

* Add files via upload

* Add files via upload

* Adds necessary MAC header file

* Reverting - moving to the sketch

* Adds include with esp_mac_type_t values

---------

Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
2023-11-29 12:11:46 +02:00
Jan Procházka
00a9579982
Add Arduino as Component examples (#8878)
* Example for IDF component registry

* Added readme

* updated readme

* remove idf dependency

* add empty lines on file end

* idf_component.yml version change

* Updated readme for local development

---------

Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
2023-11-29 12:09:43 +02:00
diplfranzhoepfinger
b303cb4571
Update RMT initialization code (#8927)
* Update RMT initialization code

- Commented out setting interrupt priority for both TX and RX configurations in the RMT initialization code.

* checks IDF version within RMT interrupt priority

---------

Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
2023-11-29 12:06:20 +02:00
Jan Procházka
b01775ed17
Fix ADC detach bus calibration handle error when not existing. (#8932)
* Add check if adc calibration habdle exists before deleting

* check also on adc continous detach
2023-11-29 12:05:30 +02:00
Clemens Kirchgatterer
57e8e50e1a
Fix compilation when NO_GLOBAL_SERIAL is defined. (#8933) 2023-11-29 12:04:49 +02:00
Mirco Pizzichini
db7b3495d5
Add lock to protect concurrent i2c transactions performed by different tasks (#8127)
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
2023-11-29 11:42:56 +02:00
rtpmsys
e99437c850
Add missing function getSocketOption (#7807)
* Update WiFiClient.h

Added missing getSocketOption() with full access to level and option

* Update WiFiClient.h

* Handle timeout settings below 1 second

Fix error with connect timeout settings below 1000ms.
Add getsocketoptions function.

* Add cast for setsockopt length

---------

Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
2023-11-29 10:04:34 +02:00
Gonzalo Brusco
ac1c00121b
Added WiFi Bandwidth Setting Methods for AP and STA modes. (#7619)
* Added Bandwith setting method

* Separted AP and STA on it's own class each

* Missing WiFi

* Rename for consistency

---------

Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
2023-11-29 10:03:48 +02:00
Juraj Andrássy
990e3d5b43
WiFiServer - deprecate available(), use accept() everywhere (#8860)
esp8266 and esp32 server.available() is not implemented as documented
it is implemented like server.accept() is documented by Arduino

Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
2023-11-27 14:51:59 +02:00
lbernstone
1e980bd738
Added KEY_SPACE to USBHIDKeyboard.h (#8920) 2023-11-27 11:16:44 +02:00
Jan Procházka
0d0d27fba8
Extend bus types and structure for Peripheral Manager (#8888)
* Extended bus types for peripheral manager

* add extra_type to peripheral manager

* Fix function call

* Fix check for no extra_type

* Add extra_type for SD and ETH CS pin

* added bus_num and bus_channel to pin structure

* update printPerimanInfo with new fields

* replaced setting bus to INIT with DetachPin call

* add defines for extra attributes

* use new required parameters in perimanSetPinBus

* function rename

* removed duplicate define

* Update print format

---------

Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
2023-11-25 21:26:03 +02:00
Pedro Minatel
600f35916b
Added the Google Analytics ID on the configuration file (#8915) 2023-11-24 11:39:55 +02:00
Mario Pesch
bb72b02e78
Add senseBox MCU-S2 with ESP32S2 (#8891)
* add senseBox MCU-S2

Add new senseBox Board (MCU-S2) with ESP32-S2

* update senseBox MCU-S2 integration

* update pins_arduino.h

* remove defines and add end symbols

* remove Serial Alias

* change board order
2023-11-23 11:15:56 +02:00
Stanimir-Petev
8c08727658
Adds support for missing Olimex boards (#8896)
* Board variant ESP32-C3-DevKit-Lipo

Added board variant for Olimex ESP32-C3-DevKit-Lipo

* Board variant ESP32-C6-EVB

Added board variant for Olimex ESP32-C6-EVB

* Board variant ESP32-S2-DevKit-Lipo-USB

Added board variant for Olimex ESP32-S2-DevKit-Lipo-USB

* Board variant ESP32-S2-DevKit-Lipo

Added board variant for Olimex ESP32-S2-DevKit-Lipo

* Board variant ESP32-S3-DevKit-Lipo

Added board variant for Olimex ESP32-S3-DevKit-Lipo

* Added Olimex boards in the board.txt files

Added missing Olimex boards:

ESP32-S2-DevKit-Lipo
ESP32-S2-DevKit-Lipo-USB
ESP32-S3-DevKit-Lipo
ESP32-C3-DevKit-Lipo
ESP32-C6-EVB

Added additional upload speed options to the ESP32-EVB and ESP32-POE(-ISO) boards.

* Update

Made changes on the definitions of the pins and formatting as suggested.

---------

Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
2023-11-22 22:51:25 +02:00
powerfeatherdev
a933571430
Add support for ESP32-S3 PowerFeather (#8889)
* Add support for ESP32-S3 PowerFeather

* Replace GPIO_NUM_X with just the pin number

* Pattern powerfeather entries after generic s3 board

* Remove redefinitions, add pin aliases to pins_arduino.h
2023-11-22 22:50:19 +02:00
Ha Thach
4b6f939019
correct adafruit metro esp32s3 pins for rev B (#8903) 2023-11-21 16:35:01 +02:00
Ha Thach
eedae1521c
Update Adafruit boards (#8897)
* fix ZigbeeMode mennu for adafruit boards

* remove tinyuf2 csv in variant, use csv in tools/partiions

* add tinyuf2 no ota partitions scheme for all adafruit boards
2023-11-21 16:34:40 +02:00
Jason2866
5d9a7a13b0
Add ESP32-C2 support (#8881)
* add c2

* Fix typo

* changes from code review

* rm hack needed to compile for c2

* rm `DARDUINO_USB_MODE=1` not needed for c2

* log_e message no RMT support

* correct log_e

* Update esp32-hal-rgb-led.c

* Add component test build for ESP32-C2

* Disable most components for ESP32-C2

* Add missing ADC SOC defines for ESP32-C2

* Add hidden board definition and fix LED pin in variant

* Add default empty zigbee libs and mode

* Change SPI default pins

* change rx1 tx1 default gpio

---------

Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
Co-authored-by: me-no-dev <hristo@espressif.com>
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
2023-11-21 15:16:47 +02:00
lbernstone
c4fd383811
Added troubleshooting doc for USB-CDC (#8840)
* Added troubleshooting doc for USB-CDC

* Clarification

* Change requested by @pedrominatel

* Fixed the title level issue

---------

Co-authored-by: pedrominatel <pminatel@gmail.com>
2023-11-17 12:54:07 +02:00
Alex
14b0b04263
Added arduino uno backward compatibility pins (#8833)
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
2023-11-17 12:53:47 +02:00
Ha Thach
6cc0e9dd20
add tinyuf2 partitions csv (#8894) 2023-11-17 12:52:28 +02:00
Ha Thach
93909f7308
fix issue when s3 switch usb from cdc to jtag while reset to bootrom (#8880) 2023-11-17 12:51:54 +02:00
Me No Dev
76782f2c75
Fully guard I2C Slave in preparation for C2 support (#8882) 2023-11-13 22:46:46 +02:00
TD-er
82e5fe8a36
Add platform specific flash speed to magicFlashChipSpeed (#8864)
Various ESP32-variants like the C6, H2, etc. differ in their used flash frequencies.

Also the maximum possible flash size wasn't handled in `magicFlashChipSize`

Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
2023-11-13 21:38:01 +02:00
Vojtěch Bartoška
3daa302ac2
Update warning note PlatformIO (#8866) 2023-11-13 21:36:33 +02:00
Juraj Andrássy
fbfcb802b6
WiFiSTA - method setDNS as in WiFi libraries by Arduino (#8854)
https://www.arduino.cc/reference/en/libraries/wifi/wifi.setdns/
2023-11-11 00:30:36 +02:00
Juraj Andrássy
0b6d20ed65
WiFi.BSSID and scan result BSSID with parameter as in WiFi libraries by (#8853)
Arduino
2023-11-11 00:29:46 +02:00
Juraj Andrássy
3fa2807aad
WiFiSTA - new status constant WL_STOPPED (#8849)
to change initial WiFi.status() because WL_NO_SHIELD
is checked in any generic Arduino WiFi example

Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
2023-11-11 00:28:49 +02:00
Juraj Andrássy
a9a72d1fdc
WiFiSTA - allow using DHCP again after disconnecting static IP (#8848)
reset _useStaticIp to false in WiFi.disconnect()

Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
2023-11-11 00:27:07 +02:00
Unexpected Maker
bf81fbbb75
Add new UM TinyC6 board and re-ordered UM boards in boards.txt file. (#8814) 2023-11-10 23:58:26 +02:00
Vojtěch Bartoška
57753d05f5
Update boards.rst (#8851)
* Update boards.rst

* HW reference link

* Formatting fixes

* typo

* Devkits website link

* link fix
2023-11-10 23:58:02 +02:00
Rodrigo Garcia
bf17d0e0a0
Makes MP3 header files public for I2S code (#8868)
* Makes MP3 header files public for I2S code

* Fix mdns version to 1.2.1

* commetary
2023-11-10 23:57:18 +02:00
Me No Dev
b1335dce41
IDF release/v5.1 (#8865)
* IDF release/v5.1 b6a66b7d8c

* Fix CI - RMakerCustomAirCooler.ino

No use of `#include "led_strip.h"` in the code

---------

Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
2023-11-10 21:40:14 +02:00
lbernstone
6b287db119
Update/upgrade OTAWebUpdater.ino example (#8839)
* Update/upgrade OTAWebUpdater.ino example

* Wrong side of the MAC address in ssid

* Better not to cheat it on an example :)

* Changes requested by @me-no-dev
2023-11-10 01:27:38 +02:00