Skip to content

refactor(bt): Refactor BT Classic and BLE#12564

Open
lucasssvaz wants to merge 1 commit into
espressif:idf-release/v6.0from
lucasssvaz:feat/bt_refactor
Open

refactor(bt): Refactor BT Classic and BLE#12564
lucasssvaz wants to merge 1 commit into
espressif:idf-release/v6.0from
lucasssvaz:feat/bt_refactor

Conversation

@lucasssvaz
Copy link
Copy Markdown
Member

@lucasssvaz lucasssvaz commented May 2, 2026

Description of Change

This PR is a large-scale architectural overhaul of the BLE and BluetoothSerial libraries. The goal is to cleanly separate stack-specific implementation details behind a unified public API, remove legacy utility bloat, introduce fail-closed validation, and substantially expand test coverage.

The library internals have been reorganized under libraries/BLE/src/impl/ using the PIMPL pattern. Public headers are now stack-agnostic; all Bluedroid- and NimBLE-specific code lives under impl/bluedroid/ and impl/nimble/ respectively, dispatched via backend headers (BLEAdvertisingBackend.h, BLECharacteristicBackend.h, etc.).

Note

This PR does not represent the final version of the refactor. Many optimizations and changes are still pending. Feedback is appreciated.
To Do:

  • Optimize, de-duplicate, reorganize and clean code sections
  • Test L2CAP, BLE5 and all examples (Only some currently tested).
  • Make sure everything is thread and callback safe.
  • Improve naming of functions and variables
  • Make sure the library is spec-compliant and consistent between stacks.

#9878

Test Scenarios

Tested locally. Both validation tests pass consistently.

@lucasssvaz lucasssvaz self-assigned this May 2, 2026
@lucasssvaz lucasssvaz added Area: BT classic BT Classic related issues Area: BLE Issues related to BLE labels May 2, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 2, 2026

Messages
📖 This PR seems to be quite large (total lines of code: 65774), you might consider splitting it into smaller PRs

👋 Hello lucasssvaz, we appreciate your contribution to this project!


📘 Please review the project's Contributions Guide for key guidelines on code, documentation, testing, and more.

🖊️ Please also make sure you have read and signed the Contributor License Agreement for this project.

Click to see more instructions ...


This automated output is generated by the PR linter DangerJS, which checks if your Pull Request meets the project's requirements and helps you fix potential issues.

DangerJS is triggered with each push event to a Pull Request and modify the contents of this comment.

Please consider the following:
- Danger mainly focuses on the PR structure and formatting and can't understand the meaning behind your code or changes.
- Danger is not a substitute for human code reviews; it's still important to request a code review from your colleagues.
- Addressing info messages (📖) is strongly recommended; they're less critical but valuable.
- To manually retry these Danger checks, please navigate to the Actions tab and re-run last Danger workflow.

Review and merge process you can expect ...


We do welcome contributions in the form of bug reports, feature requests and pull requests.

1. An internal issue has been created for the PR, we assign it to the relevant engineer.
2. They review the PR and either approve it or ask you for changes or clarifications.
3. Once the GitHub PR is approved we do the final review, collect approvals from core owners and make sure all the automated tests are passing.
- At this point we may do some adjustments to the proposed change, or extend it by adding tests or documentation.
4. If the change is approved and passes the tests it is merged into the default branch.

Generated by 🚫 dangerJS against 1b0545b

Comment thread libraries/BLE/examples/HID_Keyboard/HID_Keyboard.ino Dismissed
Comment thread libraries/BLE/examples/Beacon_Scanner/Beacon_Scanner.ino Dismissed
Comment thread libraries/BLE/examples/Beacon_Scanner/Beacon_Scanner.ino Dismissed
Comment thread libraries/BLE/examples/Beacon_Scanner/Beacon_Scanner.ino Dismissed
@lucasssvaz lucasssvaz requested a review from me-no-dev as a code owner May 2, 2026 23:37
@lucasssvaz lucasssvaz force-pushed the feat/bt_refactor branch 2 times, most recently from a5bdf45 to 84bbebe Compare May 3, 2026 00:00
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 3, 2026

Test Results

  108 files    108 suites   42m 48s ⏱️
  171 tests   169 ✅ 0 💤 2 ❌
1 335 runs  1 331 ✅ 0 💤 4 ❌

For more details on these failures, see this check.

Results for commit 1b0545b.

♻️ This comment has been updated with latest results.

@lucasssvaz lucasssvaz force-pushed the feat/bt_refactor branch 2 times, most recently from 3af5158 to 027a607 Compare May 3, 2026 15:54
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 3, 2026

Memory usage test (comparing PR against master branch)

The table below shows the summary of memory usage change (decrease - increase) in bytes and percentage for each target.

MemoryFLASH [bytes]FLASH [%]RAM [bytes]RAM [%]
TargetDECINCDECINCDECINCDECINC
ESP32💚 -23K‼️ +64K💚 -8.09‼️ +18.120⚠️ +9440.00‼️ +3.49
ESP32C3💚 -41K‼️ +74K💚 -7.74‼️ +20.450⚠️ +10920.00‼️ +5.63
ESP32C5💚 -42K‼️ +75K💚 -8.77‼️ +19.86💚 -776⚠️ +444💚 -1.68‼️ +2.42
ESP32C6💚 -20K‼️ +80K💚 -8.11‼️ +24.30💚 -780⚠️ +976💚 -1.52‼️ +4.78
ESP32H2💚 -36K‼️ +77K💚 -7.49‼️ +21.17💚 -1072⚠️ +720💚 -2.15‼️ +4.62
ESP32P4💚 -40K‼️ +76K💚 -8.52‼️ +19.54💚 -440⚠️ +556💚 -1.51‼️ +2.28
ESP32S2💚 -36K‼️ +51K💚 -14.53‼️ +15.49💚 -48⚠️ +516💚 -0.29‼️ +2.56
ESP32S3💚 -58K‼️ +53K💚 -13.14‼️ +14.06💚 -64⚠️ +776💚 -0.29‼️ +3.36
Click to expand the detailed deltas report [usage change in BYTES]
TargetESP32ESP32C3ESP32C5ESP32C6ESP32H2ESP32P4ESP32S2ESP32S3
ExampleFLASHRAMFLASHRAMFLASHRAMFLASHRAMFLASHRAMFLASHRAMFLASHRAMFLASHRAM
libraries/ArduinoOTA/examples/BasicOTA‼️ +20K⚠️ +832‼️ +29K⚠️ +484‼️ +31K⚠️ +384‼️ +38K⚠️ +352--‼️ +72K⚠️ +144‼️ +21K⚠️ +476‼️ +24K⚠️ +720
libraries/ArduinoOTA/examples/SignedOTA‼️ +22K⚠️ +840‼️ +30K⚠️ +476‼️ +31K⚠️ +392‼️ +39K⚠️ +352--‼️ +55K💚 -4‼️ +22K⚠️ +492‼️ +25K⚠️ +728
libraries/AsyncUDP/examples/AsyncUDPClient‼️ +20K⚠️ +836‼️ +32K⚠️ +1060‼️ +33K⚠️ +392‼️ +41K⚠️ +952--💚 -4K💚 -304‼️ +21K⚠️ +492‼️ +22K⚠️ +504
libraries/AsyncUDP/examples/AsyncUDPMulticastServer‼️ +20K⚠️ +836‼️ +32K⚠️ +1060‼️ +32K⚠️ +392‼️ +41K⚠️ +952--💚 -4K💚 -304‼️ +21K⚠️ +492‼️ +22K⚠️ +504
libraries/AsyncUDP/examples/AsyncUDPServer‼️ +20K⚠️ +836‼️ +32K⚠️ +1060‼️ +33K⚠️ +392‼️ +41K⚠️ +952--💚 -4K💚 -304‼️ +21K⚠️ +492‼️ +22K⚠️ +504
libraries/BLE/examples/Beacon----------------
libraries/BLE/examples/Beacon_Scanner💚 -14K⚠️ +752💚 -19K⚠️ +732💚 -21K⚠️ +96💚 -14K⚠️ +708💚 -15K⚠️ +568💚 -18K💚 -276--💚 -39K⚠️ +112
libraries/BLE/examples/Client💚 -16K⚠️ +792💚 -41K⚠️ +740💚 -42K⚠️ +120💚 -17K⚠️ +708💚 -36K⚠️ +576💚 -40K💚 -284--💚 -58K⚠️ +112
libraries/BLE/examples/ClientSecure----------------
libraries/BLE/examples/ClientServer----------------
libraries/BLE/examples/Eddystone----------------
libraries/BLE/examples/HID_Client----------------
libraries/BLE/examples/HID_Gamepad----------------
libraries/BLE/examples/HID_Keyboard----------------
libraries/BLE/examples/MultiClient----------------
libraries/BLE/examples/Notify💚 -11K⚠️ +776💚 -5K⚠️ +876💚 -7K⚠️ +240💚 -12⚠️ +836💚 -1120⚠️ +696💚 -2K💚 -156--💚 -25K⚠️ +272
libraries/BLE/examples/Scan💚 -12K⚠️ +752💚 -17K⚠️ +732💚 -18K⚠️ +96💚 -12K⚠️ +708💚 -13K⚠️ +568💚 -16K💚 -276--💚 -37K⚠️ +112
libraries/BLE/examples/Server💚 -5K⚠️ +784‼️ +3K⚠️ +892⚠️ +744⚠️ +256‼️ +8K⚠️ +860‼️ +7K⚠️ +712‼️ +5K💚 -132--💚 -19K⚠️ +272
libraries/BLE/examples/ServerSecure----------------
libraries/BLE/examples/UART💚 -8K⚠️ +784💚 -111⚠️ +876💚 -2K⚠️ +256‼️ +5K⚠️ +844‼️ +4K⚠️ +720‼️ +3K💚 -148--💚 -21K⚠️ +280
libraries/BluetoothSerial/examples/BondManagement----------------
libraries/BluetoothSerial/examples/DeviceDiscovery----------------
libraries/BluetoothSerial/examples/MasterConnect----------------
libraries/BluetoothSerial/examples/SSPPairing----------------
libraries/BluetoothSerial/examples/SerialBridge----------------
libraries/Console/examples/ConsoleAdvanced💚 -5K⚠️ +744💚 -3K⚠️ +120💚 -4K⚠️ +56💚 -162⚠️ +40💚 -1714💚 -72💚 -3K⚠️ +116💚 -20K⚠️ +60💚 -19K⚠️ +368
libraries/Console/examples/ConsoleBasic💚 -5K⚠️ +736💚 -420⚠️ +704💚 -3K⚠️ +72‼️ +2K⚠️ +648⚠️ +548⚠️ +528💚 -3K⚠️ +116💚 -19K⚠️ +60💚 -20K⚠️ +136
libraries/Console/examples/ConsoleFS💚 -295⚠️ +744‼️ +4K⚠️ +724⚠️ +1658⚠️ +60‼️ +7K⚠️ +652‼️ +5K⚠️ +540‼️ +2K⚠️ +104💚 -14K⚠️ +68💚 -15K⚠️ +136
libraries/Console/examples/ConsoleGPIO💚 -6K⚠️ +736💚 -3K⚠️ +136💚 -4K⚠️ +56💚 -204⚠️ +40💚 -1734💚 -72💚 -3K⚠️ +100💚 -20K⚠️ +76💚 -19K⚠️ +392
libraries/Console/examples/ConsoleHistory💚 -407⚠️ +736‼️ +4K⚠️ +732⚠️ +1688⚠️ +60‼️ +7K⚠️ +644‼️ +5K⚠️ +532‼️ +2K⚠️ +104💚 -14K⚠️ +60💚 -15K⚠️ +136
libraries/Console/examples/ConsoleManual💚 -6K⚠️ +744⚠️ +104⚠️ +720💚 -3K⚠️ +64‼️ +2K⚠️ +648⚠️ +1030⚠️ +520💚 -2K⚠️ +128💚 -19K⚠️ +76💚 -20K⚠️ +152
libraries/Console/examples/ConsoleSysInfo💚 -5K⚠️ +736💚 -442⚠️ +712💚 -3K⚠️ +72‼️ +2K⚠️ +648⚠️ +518⚠️ +520💚 -3K⚠️ +124💚 -19K⚠️ +60💚 -20K⚠️ +144
libraries/Console/examples/ConsoleWiFi‼️ +19K⚠️ +836‼️ +31K⚠️ +1084‼️ +32K⚠️ +408‼️ +41K⚠️ +952--💚 -5K💚 -280‼️ +20K⚠️ +492‼️ +21K⚠️ +488
libraries/DNSServer/examples/CaptivePortal‼️ +15K⚠️ +836‼️ +31K⚠️ +1068‼️ +32K⚠️ +408‼️ +40K⚠️ +960--💚 -5K💚 -316‼️ +16K⚠️ +468‼️ +17K⚠️ +520
libraries/EEPROM/examples/eeprom_class💚 -2K⚠️ +760⚠️ +630⚠️ +736💚 -2K⚠️ +64‼️ +3K⚠️ +648⚠️ +1558⚠️ +536💚 -1726⚠️ +104💚 -16K⚠️ +52💚 -16K⚠️ +160
libraries/EEPROM/examples/eeprom_extra💚 -2K⚠️ +760⚠️ +24⚠️ +720💚 -3K⚠️ +64‼️ +3K⚠️ +648⚠️ +1546⚠️ +520💚 -2K⚠️ +120💚 -15K⚠️ +60💚 -16K⚠️ +160
libraries/EEPROM/examples/eeprom_write💚 -3K⚠️ +764⚠️ +756⚠️ +720💚 -2K⚠️ +56‼️ +3K⚠️ +648⚠️ +1682⚠️ +520💚 -1600⚠️ +112💚 -16K⚠️ +76💚 -16K⚠️ +160
libraries/ESP32/examples/AnalogOut/LEDCFade💚 -4K⚠️ +756⚠️ +406⚠️ +732💚 -2K⚠️ +64‼️ +2K⚠️ +648⚠️ +1536⚠️ +552💚 -1654⚠️ +100💚 -17K⚠️ +84💚 -18K⚠️ +160
libraries/ESP32/examples/AnalogOut/LEDCSingleChannel💚 -5K⚠️ +756💚 -512⚠️ +748💚 -3K⚠️ +72⚠️ +1242⚠️ +656⚠️ +474⚠️ +544💚 -3K⚠️ +104💚 -18K⚠️ +92💚 -19K⚠️ +168
libraries/ESP32/examples/AnalogOut/LEDCSoftwareFade💚 -5K⚠️ +756💚 -514⚠️ +748💚 -3K⚠️ +72⚠️ +1240⚠️ +656⚠️ +468⚠️ +544💚 -3K⚠️ +104💚 -18K⚠️ +92💚 -19K⚠️ +168
libraries/ESP32/examples/AnalogOut/SigmaDelta💚 -5K⚠️ +760💚 -500⚠️ +728💚 -4K⚠️ +64⚠️ +1024⚠️ +648⚠️ +86⚠️ +552💚 -3K⚠️ +104💚 -18K⚠️ +60💚 -19K⚠️ +160
libraries/ESP32/examples/AnalogOut/ledcFrequency💚 -5K⚠️ +748💚 -504⚠️ +740💚 -3K⚠️ +80⚠️ +1256⚠️ +664⚠️ +484⚠️ +552💚 -3K⚠️ +112💚 -18K⚠️ +84💚 -19K⚠️ +184
libraries/ESP32/examples/AnalogOut/ledcWrite_RGB💚 -4K⚠️ +764⚠️ +462⚠️ +740💚 -2K⚠️ +72‼️ +2K⚠️ +656⚠️ +1586⚠️ +544💚 -1598⚠️ +108💚 -17K⚠️ +76💚 -18K⚠️ +168
libraries/ESP32/examples/AnalogRead💚 -4K⚠️ +752⚠️ +220⚠️ +740💚 -3K⚠️ +84‼️ +2K⚠️ +652⚠️ +1122⚠️ +540💚 -5K💚 -132💚 -17K⚠️ +84💚 -18K⚠️ +168
libraries/ESP32/examples/AnalogReadContinuous💚 -4K⚠️ +736💚 -634⚠️ +748💚 -3K⚠️ +76⚠️ +1616⚠️ +652⚠️ +484⚠️ +532💚 -6K💚 -128💚 -17K⚠️ +68💚 -19K⚠️ +168
libraries/ESP32/examples/ArduinoStackSize💚 -4K⚠️ +760⚠️ +370⚠️ +728💚 -2K⚠️ +56‼️ +2K⚠️ +640⚠️ +1306⚠️ +536💚 -1976⚠️ +92💚 -17K⚠️ +68💚 -18K⚠️ +168
libraries/ESP32/examples/ArduinoWaitTimeBeforeStartingSketch💚 -4K⚠️ +760⚠️ +386⚠️ +728💚 -2K⚠️ +56‼️ +2K⚠️ +640⚠️ +1324⚠️ +536💚 -1962⚠️ +92💚 -17K⚠️ +68💚 -18K⚠️ +168
libraries/ESP32/examples/CI/CIBoardsTest💚 -4K⚠️ +752💚 -3K⚠️ +136💚 -4K⚠️ +56💚 -1198⚠️ +40💚 -2K💚 -80💚 -3K⚠️ +108💚 -19K⚠️ +68💚 -18K⚠️ +408
libraries/ESP32/examples/Camera/CameraWebServer‼️ +20K⚠️ +288----------‼️ +22K⚠️ +480‼️ +22K⚠️ +496
ESP32/examples/Camera/CameraWebServer (2)‼️ +20K⚠️ +288----------‼️ +22K⚠️ +480‼️ +22K⚠️ +504
libraries/ESP32/examples/ChipID/GetChipID💚 -4K⚠️ +760⚠️ +342⚠️ +728💚 -2K⚠️ +56‼️ +2K⚠️ +640⚠️ +1294⚠️ +536💚 -1994⚠️ +92💚 -17K⚠️ +52💚 -18K⚠️ +152
libraries/ESP32/examples/DeepSleep/ExternalWakeUp💚 -3K⚠️ +768----------💚 -17K⚠️ +76💚 -18K⚠️ +176
libraries/ESP32/examples/DeepSleep/SmoothBlink_ULP_Code💚 -3K⚠️ +776--------------
libraries/ESP32/examples/DeepSleep/TimerWakeUp💚 -3K⚠️ +768⚠️ +304⚠️ +736💚 -2K⚠️ +56‼️ +2K⚠️ +640--💚 -1652⚠️ +124💚 -17K⚠️ +76💚 -18K⚠️ +176
libraries/ESP32/examples/DeepSleep/TouchWakeUp💚 -3K⚠️ +768--------💚 -1864⚠️ +136💚 -17K⚠️ +84💚 -18K⚠️ +176
libraries/ESP32/examples/FreeRTOS/BasicMultiThreading💚 -4K⚠️ +760💚 -2K⚠️ +132💚 -4K⚠️ +68⚠️ +56⚠️ +44💚 -1106💚 -68💚 -5K💚 -68💚 -18K⚠️ +60💚 -17K⚠️ +384
libraries/ESP32/examples/FreeRTOS/Mutex💚 -4K⚠️ +772⚠️ +360⚠️ +720💚 -2K⚠️ +64‼️ +2K⚠️ +648⚠️ +1298⚠️ +544💚 -1978⚠️ +100💚 -17K⚠️ +76💚 -18K⚠️ +168
libraries/ESP32/examples/FreeRTOS/Queue💚 -4K⚠️ +768⚠️ +366⚠️ +720💚 -2K⚠️ +64‼️ +2K⚠️ +648⚠️ +1300⚠️ +544💚 -1972⚠️ +100💚 -17K⚠️ +68💚 -18K⚠️ +160
libraries/ESP32/examples/FreeRTOS/Semaphore💚 -4K⚠️ +768⚠️ +378⚠️ +720💚 -2K⚠️ +64‼️ +2K⚠️ +648⚠️ +1314⚠️ +544💚 -1962⚠️ +100💚 -17K⚠️ +68💚 -18K⚠️ +160
libraries/ESP32/examples/GPIO/BlinkRGB💚 -7K⚠️ +744💚 -3K⚠️ +136💚 -5K⚠️ +64💚 -1032⚠️ +48💚 -1966💚 -48💚 -5K⚠️ +88💚 -19K⚠️ +84💚 -18K⚠️ +400
libraries/ESP32/examples/GPIO/FunctionalInterrupt💚 -4K⚠️ +768⚠️ +346⚠️ +736💚 -2K⚠️ +48‼️ +2K⚠️ +632⚠️ +1288⚠️ +528💚 -2036⚠️ +100💚 -17K⚠️ +68💚 -18K⚠️ +192
libraries/ESP32/examples/GPIO/FunctionalInterruptLambda💚 -4K⚠️ +768💚 -2K⚠️ +136💚 -4K⚠️ +48⚠️ +90⚠️ +32💚 -1020💚 -88💚 -2K⚠️ +116💚 -18K⚠️ +60💚 -17K⚠️ +400
libraries/ESP32/examples/GPIO/FunctionalInterruptStruct💚 -4K⚠️ +768⚠️ +320⚠️ +736💚 -2K⚠️ +48‼️ +2K⚠️ +632⚠️ +1278⚠️ +512💚 -2K⚠️ +116💚 -17K⚠️ +60💚 -18K⚠️ +168
libraries/ESP32/examples/GPIO/GPIOInterrupt💚 -4K⚠️ +760⚠️ +326⚠️ +728💚 -2K⚠️ +56‼️ +2K⚠️ +640⚠️ +1272⚠️ +520💚 -2040⚠️ +108💚 -17K⚠️ +52💚 -18K⚠️ +160
libraries/ESP32/examples/HFP_HCI_Audio💚 -127⚠️ +840--------------
libraries/ESP32/examples/HFP_HCI_Audio_I2S💚 -1271⚠️ +880--------------
libraries/ESP32/examples/MacAddress/GetMacAddress💚 -4K⚠️ +752⚠️ +330⚠️ +728💚 -2K⚠️ +72‼️ +2K⚠️ +640⚠️ +1302⚠️ +536💚 -1986⚠️ +100💚 -17K⚠️ +76💚 -18K⚠️ +160
libraries/ESP32/examples/RMT/Legacy_RMT_Driver_Compatible💚 -23K⚠️ +608💚 -21K⚠️ +560💚 -25K💚 -112💚 -20K⚠️ +480💚 -20K⚠️ +384💚 -27K💚 -76💚 -36K💚 -48💚 -38K0
libraries/ESP32/examples/RMT/RMTCallback💚 -6K⚠️ +148💚 -1758⚠️ +128💚 -3K⚠️ +56⚠️ +424⚠️ +40💚 -682💚 -48⚠️ +74⚠️ +540💚 -18K⚠️ +76💚 -16K⚠️ +392
libraries/ESP32/examples/RMT/RMTLoopback💚 -6K⚠️ +148💚 -1790⚠️ +128💚 -3K⚠️ +56⚠️ +376⚠️ +40💚 -732💚 -48⚠️ +10⚠️ +540💚 -18K⚠️ +76💚 -16K⚠️ +392
libraries/ESP32/examples/RMT/RMTReadXJT💚 -6K⚠️ +156💚 -1758⚠️ +112💚 -3K⚠️ +56⚠️ +416⚠️ +40💚 -694💚 -64⚠️ +46⚠️ +556💚 -18K⚠️ +68💚 -16K⚠️ +384
libraries/ESP32/examples/RMT/RMTWrite_RGB_LED💚 -6K⚠️ +156💚 -1974⚠️ +136💚 -3K⚠️ +48⚠️ +252⚠️ +32💚 -898💚 -56💚 -242⚠️ +532💚 -18K⚠️ +76💚 -17K⚠️ +392
libraries/ESP32/examples/RMT/RMT_CPUFreq_Test💚 -6K⚠️ +148💚 -1982⚠️ +128💚 -3K⚠️ +48⚠️ +188⚠️ +32💚 -914💚 -48💚 -262⚠️ +540💚 -18K⚠️ +68💚 -17K⚠️ +400
libraries/ESP32/examples/RMT/RMT_EndOfTransmissionState💚 -6K⚠️ +148💚 -1978⚠️ +128💚 -3K⚠️ +56⚠️ +244⚠️ +40💚 -926💚 -48💚 -252⚠️ +540💚 -18K⚠️ +60💚 -17K⚠️ +392
libraries/ESP32/examples/RMT/RMT_LED_Blink💚 -6K⚠️ +148💚 -1944⚠️ +128💚 -3K⚠️ +56⚠️ +274⚠️ +40💚 -894💚 -48💚 -212⚠️ +540💚 -18K⚠️ +76💚 -17K⚠️ +376
libraries/ESP32/examples/ResetReason/ResetReason💚 -3K⚠️ +776⚠️ +252⚠️ +744💚 -2K⚠️ +64‼️ +2K⚠️ +648⚠️ +1318⚠️ +536💚 -1666⚠️ +132💚 -17K⚠️ +68💚 -18K⚠️ +176
libraries/ESP32/examples/ResetReason/ResetReason2💚 -4K⚠️ +760⚠️ +370⚠️ +736💚 -2K⚠️ +64‼️ +2K⚠️ +648⚠️ +1756⚠️ +632💚 -1990⚠️ +100💚 -17K⚠️ +144💚 -18K⚠️ +160
libraries/ESP32/examples/Serial/BaudRateDetect_Demo💚 -4K⚠️ +760⚠️ +374⚠️ +728💚 -2K⚠️ +56‼️ +2K⚠️ +640⚠️ +1306⚠️ +536💚 -1970⚠️ +92💚 -17K⚠️ +68💚 -18K⚠️ +168
libraries/ESP32/examples/Serial/HardwareFlowControl_Demo💚 -4K⚠️ +768⚠️ +372⚠️ +720💚 -2K⚠️ +64‼️ +2K⚠️ +648⚠️ +1302⚠️ +544💚 -1984⚠️ +100💚 -17K⚠️ +60💚 -18K⚠️ +152
libraries/ESP32/examples/Serial/OnReceiveError_BREAK_Demo💚 -4K⚠️ +760⚠️ +848⚠️ +728💚 -1938⚠️ +56‼️ +3K⚠️ +640⚠️ +1808⚠️ +536💚 -1196⚠️ +92💚 -17K⚠️ +60💚 -18K⚠️ +176
libraries/ESP32/examples/Serial/OnReceive_Demo💚 -4K⚠️ +760⚠️ +386⚠️ +728💚 -2K⚠️ +56‼️ +2K⚠️ +640⚠️ +1318⚠️ +536💚 -1966⚠️ +92💚 -17K⚠️ +76💚 -18K⚠️ +160
libraries/ESP32/examples/Serial/RS485_Echo_Demo💚 -4K⚠️ +760⚠️ +384⚠️ +728💚 -2K⚠️ +56‼️ +2K⚠️ +640⚠️ +1318⚠️ +536💚 -1974⚠️ +92💚 -17K⚠️ +68💚 -18K⚠️ +168
libraries/ESP32/examples/Serial/RxFIFOFull_Demo💚 -4K⚠️ +760⚠️ +380⚠️ +728💚 -2K⚠️ +56‼️ +2K⚠️ +640⚠️ +1314⚠️ +536💚 -1968⚠️ +92💚 -17K⚠️ +84💚 -18K⚠️ +168
libraries/ESP32/examples/Serial/RxTimeout_Demo💚 -4K⚠️ +760⚠️ +366⚠️ +728💚 -2K⚠️ +56‼️ +2K⚠️ +640⚠️ +1306⚠️ +536💚 -1982⚠️ +92💚 -17K⚠️ +84💚 -18K⚠️ +184
libraries/ESP32/examples/Serial/Serial_All_CPU_Freqs💚 -4K⚠️ +768⚠️ +340⚠️ +720💚 -2K⚠️ +64‼️ +2K⚠️ +648⚠️ +1278⚠️ +544💚 -2000⚠️ +92💚 -17K⚠️ +68💚 -18K⚠️ +176
libraries/ESP32/examples/Serial/Serial_STD_Func_OnReceive💚 -4K⚠️ +764⚠️ +382⚠️ +728💚 -2K⚠️ +56‼️ +2K⚠️ +640⚠️ +1310⚠️ +536💚 -1966⚠️ +92💚 -17K⚠️ +84💚 -18K⚠️ +168
libraries/ESP32/examples/Serial/onReceiveExample💚 -4K⚠️ +768⚠️ +368⚠️ +720💚 -2K⚠️ +64‼️ +2K⚠️ +648⚠️ +1302⚠️ +544💚 -1976⚠️ +100💚 -17K⚠️ +68💚 -18K⚠️ +160
libraries/ESP32/examples/Serial/print64bitVariable💚 -4K⚠️ +760⚠️ +364⚠️ +728💚 -2K⚠️ +56‼️ +2K⚠️ +640⚠️ +1298⚠️ +536💚 -1988⚠️ +92💚 -17K⚠️ +68💚 -18K⚠️ +168
libraries/ESP32/examples/TWAI/TWAIreceive💚 -4K⚠️ +760⚠️ +392⚠️ +728--‼️ +2K⚠️ +648⚠️ +1332⚠️ +544💚 -1970⚠️ +92💚 -17K⚠️ +76💚 -18K⚠️ +168
libraries/ESP32/examples/TWAI/TWAItransmit💚 -4K⚠️ +752⚠️ +388⚠️ +736--‼️ +2K⚠️ +640⚠️ +1336⚠️ +536💚 -1940⚠️ +100💚 -17K⚠️ +84💚 -18K⚠️ +184
libraries/ESP32/examples/Template/ExampleTemplate💚 -7K⚠️ +744💚 -1966⚠️ +720💚 -5K⚠️ +40💚 -92⚠️ +640💚 -1076⚠️ +528💚 -5K⚠️ +88💚 -20K⚠️ +52💚 -20K⚠️ +152
libraries/ESP32/examples/Time/SimpleTime‼️ +20K⚠️ +836‼️ +31K⚠️ +1052‼️ +32K⚠️ +400‼️ +41K⚠️ +952--💚 -4K💚 -336‼️ +22K⚠️ +460‼️ +22K⚠️ +480
libraries/ESP32/examples/Timer/RepeatTimer💚 -5K⚠️ +760⚠️ +48⚠️ +728💚 -3K⚠️ +56‼️ +2K⚠️ +640⚠️ +984⚠️ +520💚 -2K⚠️ +100💚 -17K⚠️ +52💚 -18K⚠️ +168
libraries/ESP32/examples/Timer/WatchdogTimer💚 -5K⚠️ +768⚠️ +68⚠️ +736💚 -3K⚠️ +48‼️ +2K⚠️ +632⚠️ +1014⚠️ +512💚 -2K⚠️ +92💚 -17K⚠️ +68💚 -18K⚠️ +184
libraries/ESP32/examples/Touch/TouchButton💚 -5K⚠️ +736--------💚 -2K⚠️ +112💚 -17K⚠️ +76💚 -18K⚠️ +176
libraries/ESP32/examples/Touch/TouchInterrupt💚 -5K⚠️ +736--------💚 -2K⚠️ +112💚 -17K⚠️ +76💚 -18K⚠️ +176
libraries/ESP32/examples/Touch/TouchRead💚 -4K⚠️ +736--------💚 -2K⚠️ +112💚 -17K⚠️ +84💚 -18K⚠️ +168
libraries/ESP_I2S/examples/ES8388_loopback💚 -5K⚠️ +760💚 -3K⚠️ +136💚 -5K⚠️ +56💚 -1004⚠️ +40💚 -2K💚 -80💚 -3K⚠️ +112💚 -19K⚠️ +60💚 -18K⚠️ +392
libraries/ESP_I2S/examples/Record_to_WAV‼️ +2K⚠️ +528--------‼️ +5K💚 -368--💚 -12K💚 -64
libraries/ESP_I2S/examples/Simple_tone💚 -4K⚠️ +752💚 -128⚠️ +728💚 -3K⚠️ +56⚠️ +1868⚠️ +640⚠️ +786⚠️ +520💚 -2K⚠️ +96💚 -17K⚠️ +60💚 -19K⚠️ +160
libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Master‼️ +20K⚠️ +820‼️ +32K⚠️ +1076‼️ +34K⚠️ +368‼️ +41K⚠️ +952----‼️ +22K⚠️ +460‼️ +22K⚠️ +504
libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Slave‼️ +20K⚠️ +828‼️ +32K⚠️ +1060‼️ +34K⚠️ +368‼️ +41K⚠️ +952----‼️ +22K⚠️ +468‼️ +22K⚠️ +504
libraries/ESP_NOW/examples/ESP_NOW_Network‼️ +20K⚠️ +832‼️ +32K⚠️ +1076‼️ +33K⚠️ +384‼️ +41K⚠️ +952----‼️ +22K⚠️ +476‼️ +22K⚠️ +496
libraries/ESP_NOW/examples/ESP_NOW_Serial‼️ +21K⚠️ +828‼️ +32K⚠️ +1060‼️ +33K⚠️ +392‼️ +41K⚠️ +952----‼️ +22K⚠️ +476‼️ +23K⚠️ +512
libraries/ESPmDNS/examples/mDNS-SD_Extended‼️ +20K⚠️ +836‼️ +32K⚠️ +1068‼️ +33K⚠️ +392‼️ +41K⚠️ +960--💚 -4K💚 -260‼️ +22K⚠️ +492‼️ +22K⚠️ +496
libraries/ESPmDNS/examples/mDNS_Web_Server‼️ +20K⚠️ +836‼️ +31K⚠️ +1060‼️ +32K⚠️ +408‼️ +40K⚠️ +952--💚 -5K💚 -264‼️ +22K⚠️ +484‼️ +22K⚠️ +496
libraries/Ethernet/examples/ETH_LAN8720💚 -21K⚠️ +728--------------
libraries/Ethernet/examples/ETH_TLK110💚 -21K⚠️ +728--------💚 -23K⚠️ +96----
libraries/Ethernet/examples/ETH_W5500_Arduino_SPI💚 -12K⚠️ +216💚 -15K⚠️ +208💚 -17K⚠️ +72💚 -6K⚠️ +120💚 -7K0💚 -10K⚠️ +144💚 -26K⚠️ +108💚 -24K⚠️ +424
libraries/Ethernet/examples/ETH_W5500_IDF_SPI💚 -12K⚠️ +216💚 -15K⚠️ +208💚 -17K⚠️ +72💚 -6K⚠️ +120💚 -7K0💚 -10K⚠️ +144💚 -26K⚠️ +108💚 -24K⚠️ +424
libraries/Ethernet/examples/ETH_WIFI_BRIDGE‼️ +20K⚠️ +300‼️ +30K⚠️ +540‼️ +32K⚠️ +424‼️ +39K⚠️ +416--💚 -4K💚 -280‼️ +22K⚠️ +516‼️ +24K⚠️ +744
libraries/FFat/examples/FFat_Test💚 -4K⚠️ +752💚 -802⚠️ +732💚 -4K⚠️ +68⚠️ +1880⚠️ +660⚠️ +674⚠️ +532💚 -3K⚠️ +104💚 -18K⚠️ +84💚 -19K⚠️ +160
libraries/FFat/examples/FFat_time‼️ +20K⚠️ +836‼️ +31K⚠️ +1084‼️ +31K⚠️ +400‼️ +40K⚠️ +944--💚 -5K💚 -312‼️ +21K⚠️ +468‼️ +22K⚠️ +504
libraries/HTTPClient/examples/Authorization‼️ +18K⚠️ +508‼️ +30K⚠️ +732‼️ +30K⚠️ +56‼️ +40K⚠️ +616--‼️ +46K💚 -268‼️ +20K⚠️ +132‼️ +20K⚠️ +152
libraries/HTTPClient/examples/BasicHttpClient‼️ +18K⚠️ +508‼️ +30K⚠️ +732‼️ +30K⚠️ +56‼️ +40K⚠️ +616--‼️ +46K💚 -268‼️ +20K⚠️ +132‼️ +20K⚠️ +152
libraries/HTTPClient/examples/BasicHttpsClient‼️ +18K⚠️ +508‼️ +30K⚠️ +740‼️ +29K⚠️ +64‼️ +40K⚠️ +632--‼️ +46K💚 -332‼️ +19K⚠️ +140‼️ +20K⚠️ +144
libraries/HTTPClient/examples/CustomHeaders‼️ +18K⚠️ +516‼️ +30K⚠️ +764‼️ +30K⚠️ +96‼️ +40K⚠️ +648--‼️ +46K💚 -276‼️ +20K⚠️ +148‼️ +20K⚠️ +184
libraries/HTTPClient/examples/HTTPClientEnterprise‼️ +18K⚠️ +508‼️ +29K⚠️ +764‼️ +29K⚠️ +56‼️ +39K⚠️ +608----‼️ +19K⚠️ +132‼️ +20K⚠️ +120
libraries/HTTPClient/examples/ReuseConnection‼️ +18K⚠️ +508‼️ +30K⚠️ +748‼️ +30K⚠️ +56‼️ +40K⚠️ +616--‼️ +46K💚 -268‼️ +20K⚠️ +148‼️ +20K⚠️ +160
libraries/HTTPClient/examples/StreamHttpClient‼️ +18K⚠️ +508‼️ +30K⚠️ +732‼️ +30K⚠️ +56‼️ +40K⚠️ +616--‼️ +46K💚 -268‼️ +20K⚠️ +132‼️ +20K⚠️ +152
libraries/HTTPUpdate/examples/httpUpdate‼️ +25K⚠️ +516‼️ +36K⚠️ +148‼️ +38K⚠️ +56‼️ +47K⚠️ +16--‼️ +72K⚠️ +128‼️ +26K⚠️ +140‼️ +29K⚠️ +368
libraries/HTTPUpdate/examples/httpUpdateSPIFFS‼️ +25K⚠️ +516‼️ +36K⚠️ +148‼️ +38K⚠️ +56‼️ +47K⚠️ +16--‼️ +72K⚠️ +128‼️ +26K⚠️ +140‼️ +29K⚠️ +368
libraries/HTTPUpdate/examples/httpUpdateSecure‼️ +18K⚠️ +516‼️ +27K⚠️ +148‼️ +29K⚠️ +48‼️ +37K⚠️ +16--‼️ +46K💚 -328‼️ +19K⚠️ +148‼️ +22K⚠️ +352
libraries/HTTPUpdateServer/examples/WebUpdater‼️ +15K⚠️ +812‼️ +29K⚠️ +492‼️ +31K⚠️ +392‼️ +38K⚠️ +344--‼️ +72K⚠️ +80‼️ +16K⚠️ +476‼️ +19K⚠️ +720
libraries/Hash/examples/HEX💚 -4K⚠️ +760⚠️ +346⚠️ +728💚 -2K⚠️ +56‼️ +2K⚠️ +640⚠️ +1280⚠️ +536💚 -2006⚠️ +92💚 -17K⚠️ +68💚 -18K⚠️ +168
libraries/Hash/examples/MD5💚 -4K⚠️ +760⚠️ +332⚠️ +728💚 -2K⚠️ +56‼️ +2K⚠️ +640⚠️ +1294⚠️ +536💚 -2030⚠️ +92💚 -17K⚠️ +68💚 -18K⚠️ +168
libraries/Hash/examples/PBKDF2_HMAC💚 -4K⚠️ +760💚 -256⚠️ +728💚 -3K⚠️ +56⚠️ +1806⚠️ +640⚠️ +676⚠️ +536💚 -2K⚠️ +92💚 -17K⚠️ +68💚 -18K⚠️ +168
libraries/Hash/examples/SHA1💚 -5K⚠️ +760💚 -76⚠️ +728💚 -3K⚠️ +56⚠️ +1978⚠️ +640⚠️ +848⚠️ +536💚 -2K⚠️ +92💚 -18K⚠️ +68💚 -19K⚠️ +168
libraries/Hash/examples/SHA2💚 -5K⚠️ +760⚠️ +180⚠️ +728💚 -2K⚠️ +56‼️ +2K⚠️ +640⚠️ +1122⚠️ +536💚 -2038⚠️ +92💚 -18K⚠️ +68💚 -19K⚠️ +168
libraries/Hash/examples/SHA3💚 -5K⚠️ +760⚠️ +352⚠️ +728💚 -2K⚠️ +56‼️ +2K⚠️ +640⚠️ +1286⚠️ +536💚 -1994⚠️ +92💚 -18K⚠️ +68💚 -19K⚠️ +168
libraries/Hash/examples/SHA3Stream💚 -5K⚠️ +760⚠️ +298⚠️ +728💚 -3K⚠️ +56‼️ +2K⚠️ +640⚠️ +1230⚠️ +536💚 -2048⚠️ +92💚 -18K⚠️ +68💚 -19K⚠️ +168
libraries/LittleFS/examples/LITTLEFS_test⚠️ +581⚠️ +768‼️ +5K⚠️ +716‼️ +2K⚠️ +60‼️ +7K⚠️ +652‼️ +6K⚠️ +524‼️ +3K⚠️ +104💚 -14K⚠️ +68💚 -14K⚠️ +152
libraries/LittleFS/examples/LITTLEFS_time‼️ +24K⚠️ +836‼️ +37K⚠️ +1076‼️ +37K⚠️ +384‼️ +46K⚠️ +952--⚠️ +714💚 -336‼️ +26K⚠️ +468‼️ +26K⚠️ +480
libraries/NetBIOS/examples/ESP_NBNST‼️ +20K⚠️ +836‼️ +32K⚠️ +1060‼️ +33K⚠️ +392‼️ +41K⚠️ +952--💚 -4K💚 -304‼️ +21K⚠️ +492‼️ +22K⚠️ +504
libraries/NetworkClientSecure/examples/WiFiClientInsecure‼️ +19K⚠️ +532‼️ +31K⚠️ +764‼️ +30K⚠️ +96‼️ +40K⚠️ +656--‼️ +46K💚 -304‼️ +21K⚠️ +156‼️ +21K⚠️ +208
libraries/NetworkClientSecure/examples/WiFiClientPSK‼️ +19K⚠️ +516‼️ +31K⚠️ +756‼️ +30K⚠️ +104‼️ +40K⚠️ +648--‼️ +46K💚 -296‼️ +21K⚠️ +156‼️ +21K⚠️ +200
libraries/NetworkClientSecure/examples/WiFiClientSecure‼️ +19K⚠️ +516‼️ +31K⚠️ +756‼️ +30K⚠️ +88‼️ +40K⚠️ +648--‼️ +46K💚 -296‼️ +21K⚠️ +156‼️ +21K⚠️ +208
libraries/NetworkClientSecure/examples/WiFiClientSecureEnterprise‼️ +18K⚠️ +508‼️ +29K⚠️ +764‼️ +29K⚠️ +56‼️ +39K⚠️ +616----‼️ +21K⚠️ +140‼️ +20K⚠️ +144
libraries/NetworkClientSecure/examples/WiFiClientSecureProtocolUpgrade‼️ +19K⚠️ +532‼️ +31K⚠️ +764‼️ +30K⚠️ +96‼️ +40K⚠️ +656--‼️ +46K💚 -304‼️ +21K⚠️ +156‼️ +21K⚠️ +208
libraries/NetworkClientSecure/examples/WiFiClientShowPeerCredentials‼️ +18K⚠️ +516‼️ +30K⚠️ +756‼️ +30K⚠️ +96‼️ +40K⚠️ +656--‼️ +46K💚 -276‼️ +20K⚠️ +148‼️ +20K⚠️ +168
libraries/NetworkClientSecure/examples/WiFiClientTrustOnFirstUse‼️ +19K⚠️ +524‼️ +30K⚠️ +780‼️ +30K⚠️ +112‼️ +40K⚠️ +664--‼️ +37K💚 -316‼️ +21K⚠️ +156‼️ +21K⚠️ +192
libraries/PPP/examples/PPP_Basic💚 -15K⚠️ +736💚 -15K⚠️ +120💚 -17K⚠️ +56💚 -6K⚠️ +40💚 -7K💚 -64💚 -10K⚠️ +108💚 -29K⚠️ +52💚 -27K⚠️ +400
libraries/PPP/examples/PPP_WIFI_BRIDGE‼️ +17K⚠️ +844‼️ +29K⚠️ +468‼️ +31K⚠️ +384‼️ +39K⚠️ +360--💚 -4K💚 -300‼️ +18K⚠️ +492‼️ +21K⚠️ +712
libraries/Preferences/examples/Prefs2Struct💚 -4K⚠️ +760⚠️ +734⚠️ +728💚 -2K⚠️ +64‼️ +3K⚠️ +656⚠️ +1688⚠️ +544💚 -1606⚠️ +104💚 -17K⚠️ +60💚 -18K⚠️ +160
libraries/Preferences/examples/StartCounter💚 -4K⚠️ +760⚠️ +750⚠️ +736💚 -2K⚠️ +64‼️ +3K⚠️ +648⚠️ +1684⚠️ +536💚 -1598⚠️ +104💚 -17K⚠️ +60💚 -18K⚠️ +152
libraries/SD/examples/SD_Test💚 -5K⚠️ +744💚 -4K⚠️ +132💚 -5K⚠️ +60💚 -1414⚠️ +44💚 -3K💚 -60💚 -4K⚠️ +100💚 -19K⚠️ +68💚 -18K⚠️ +384
libraries/SD/examples/SD_time‼️ +19K⚠️ +836‼️ +28K⚠️ +484‼️ +30K⚠️ +416‼️ +37K⚠️ +368--💚 -6K💚 -276‼️ +20K⚠️ +468‼️ +22K⚠️ +712
libraries/SD_MMC/examples/SDMMC_Test‼️ +3K⚠️ +520--------‼️ +6K💚 -356--💚 -11K💚 -64
libraries/SD_MMC/examples/SDMMC_time‼️ +27K⚠️ +596--------💚 -4K💚 -288--‼️ +29K⚠️ +232
libraries/SPI/examples/SPI_Multiple_Buses💚 -8K⚠️ +752💚 -3K⚠️ +136💚 -5K⚠️ +64💚 -1840⚠️ +48💚 -3K💚 -80💚 -6K⚠️ +96💚 -20K⚠️ +84💚 -19K⚠️ +416
libraries/SPIFFS/examples/SPIFFS_Test💚 -4K⚠️ +760💚 -670⚠️ +728💚 -3K⚠️ +64⚠️ +1714⚠️ +648⚠️ +600⚠️ +528💚 -3K⚠️ +100💚 -18K⚠️ +60💚 -19K⚠️ +152
libraries/SPIFFS/examples/SPIFFS_time‼️ +19K⚠️ +836‼️ +31K⚠️ +1076‼️ +32K⚠️ +392‼️ +40K⚠️ +944--💚 -5K💚 -328‼️ +21K⚠️ +476‼️ +21K⚠️ +480
libraries/SimpleBLE/examples/SimpleBleDevice💚 -687⚠️ +848--------------
libraries/Ticker/examples/Blinker💚 -7K⚠️ +728💚 -3K⚠️ +136💚 -5K⚠️ +48💚 -1052⚠️ +48💚 -1976💚 -64💚 -6K⚠️ +88💚 -19K⚠️ +76💚 -18K⚠️ +376
libraries/Ticker/examples/TickerBasic💚 -7K⚠️ +728💚 -3K⚠️ +128💚 -5K⚠️ +56💚 -1048⚠️ +40💚 -1968💚 -72💚 -6K⚠️ +112💚 -19K⚠️ +52💚 -18K⚠️ +384
libraries/Ticker/examples/TickerParameter💚 -7K⚠️ +736💚 -3K⚠️ +136💚 -5K⚠️ +48💚 -1062⚠️ +48💚 -1982💚 -64💚 -6K⚠️ +88💚 -19K⚠️ +60💚 -18K⚠️ +376
libraries/Update/examples/AWS_S3_OTA_Update‼️ +21K⚠️ +828‼️ +29K⚠️ +500‼️ +31K⚠️ +392‼️ +38K⚠️ +352--‼️ +73K⚠️ +100‼️ +22K⚠️ +468‼️ +25K⚠️ +712
libraries/Update/examples/HTTPS_OTA_Update‼️ +23K⚠️ +532‼️ +32K⚠️ +740‼️ +32K⚠️ +56‼️ +41K⚠️ +640--‼️ +48K💚 -328‼️ +22K⚠️ +140‼️ +22K⚠️ +184
libraries/Update/examples/HTTP_Client_AES_OTA_Update‼️ +19K⚠️ +836‼️ +29K⚠️ +492‼️ +30K⚠️ +384‼️ +38K⚠️ +352--‼️ +72K⚠️ +96‼️ +19K⚠️ +468‼️ +22K⚠️ +688
libraries/Update/examples/HTTP_Server_AES_OTA_Update‼️ +14K⚠️ +820‼️ +28K⚠️ +484‼️ +30K⚠️ +400‼️ +38K⚠️ +352--‼️ +72K⚠️ +104‼️ +15K⚠️ +484‼️ +17K⚠️ +704
libraries/Update/examples/OTAWebUpdater‼️ +15K⚠️ +840‼️ +29K⚠️ +468‼️ +31K⚠️ +384‼️ +38K⚠️ +352--‼️ +73K⚠️ +96‼️ +16K⚠️ +484‼️ +18K⚠️ +720
libraries/Update/examples/SD_Update‼️ +64K⚠️ +784‼️ +74K⚠️ +508‼️ +75K⚠️ +444‼️ +80K⚠️ +428‼️ +77K⚠️ +84‼️ +76K⚠️ +524‼️ +51K⚠️ +452‼️ +53K⚠️ +776
libraries/Update/examples/Signed_OTA_Update‼️ +17K⚠️ +532‼️ +28K⚠️ +188‼️ +29K⚠️ +88‼️ +38K⚠️ +48--‼️ +46K💚 -336‼️ +18K⚠️ +148‼️ +20K⚠️ +408
libraries/WebServer/examples/AdvancedWebServer‼️ +15K⚠️ +840‼️ +29K⚠️ +484‼️ +31K⚠️ +392‼️ +38K⚠️ +352--💚 -5K💚 -264‼️ +16K⚠️ +468‼️ +18K⚠️ +736
libraries/WebServer/examples/ChunkWriting‼️ +15K⚠️ +836‼️ +31K⚠️ +1076‼️ +32K⚠️ +392‼️ +40K⚠️ +952--💚 -5K💚 -264‼️ +17K⚠️ +476‼️ +17K⚠️ +504
libraries/WebServer/examples/FSBrowser‼️ +14K⚠️ +836‼️ +30K⚠️ +1084‼️ +31K⚠️ +384‼️ +40K⚠️ +968--💚 -7K💚 -440‼️ +16K⚠️ +476‼️ +17K⚠️ +480
libraries/WebServer/examples/Filters‼️ +15K⚠️ +836‼️ +29K⚠️ +484‼️ +31K⚠️ +392‼️ +38K⚠️ +352--💚 -5K💚 -320‼️ +16K⚠️ +484‼️ +18K⚠️ +720
libraries/WebServer/examples/HelloServer‼️ +15K⚠️ +836‼️ +29K⚠️ +484‼️ +31K⚠️ +392‼️ +38K⚠️ +352--💚 -5K💚 -264‼️ +16K⚠️ +468‼️ +18K⚠️ +736
libraries/WebServer/examples/HttpAdvancedAuth‼️ +16K⚠️ +816‼️ +28K⚠️ +492‼️ +30K⚠️ +392‼️ +38K⚠️ +344--‼️ +72K⚠️ +80‼️ +16K⚠️ +476‼️ +19K⚠️ +720
libraries/WebServer/examples/HttpAuthCallback‼️ +16K⚠️ +832‼️ +28K⚠️ +492‼️ +30K⚠️ +392‼️ +38K⚠️ +344--‼️ +72K⚠️ +136‼️ +16K⚠️ +476‼️ +19K⚠️ +720
libraries/WebServer/examples/HttpAuthCallbackInline‼️ +16K⚠️ +832‼️ +28K⚠️ +492‼️ +30K⚠️ +392‼️ +38K⚠️ +344--‼️ +72K⚠️ +120‼️ +16K⚠️ +476‼️ +19K⚠️ +720
libraries/WebServer/examples/HttpBasicAuth‼️ +16K⚠️ +832‼️ +28K⚠️ +492‼️ +30K⚠️ +392‼️ +38K⚠️ +344--‼️ +72K⚠️ +80‼️ +16K⚠️ +460‼️ +19K⚠️ +736
libraries/WebServer/examples/HttpBasicAuthSHA1‼️ +16K⚠️ +832‼️ +28K⚠️ +492‼️ +30K⚠️ +392‼️ +37K⚠️ +344--‼️ +72K⚠️ +96‼️ +16K⚠️ +460‼️ +19K⚠️ +736
libraries/WebServer/examples/HttpBasicAuthSHA1orBearerToken‼️ +16K⚠️ +840‼️ +28K⚠️ +476‼️ +30K⚠️ +392‼️ +37K⚠️ +344--‼️ +72K⚠️ +80‼️ +16K⚠️ +476‼️ +19K⚠️ +728
libraries/WebServer/examples/Middleware‼️ +17K⚠️ +836‼️ +31K⚠️ +1068‼️ +32K⚠️ +408‼️ +40K⚠️ +960----‼️ +19K⚠️ +476‼️ +19K⚠️ +496
libraries/WebServer/examples/MultiHomedServers‼️ +15K⚠️ +836‼️ +29K⚠️ +476‼️ +31K⚠️ +384‼️ +38K⚠️ +344--💚 -5K💚 -256‼️ +16K⚠️ +476‼️ +18K⚠️ +712
libraries/WebServer/examples/PathArgServer💚 -7K⚠️ +836‼️ +29K⚠️ +1084‼️ +30K⚠️ +400‼️ +37K⚠️ +968--💚 -7K💚 -336💚 -5K⚠️ +476💚 -4K⚠️ +512
libraries/WebServer/examples/SDWebServer‼️ +15K⚠️ +836‼️ +27K⚠️ +484‼️ +29K⚠️ +416‼️ +37K⚠️ +368--💚 -6K💚 -304‼️ +16K⚠️ +468‼️ +18K⚠️ +688
libraries/WebServer/examples/SimpleAuthentification‼️ +16K⚠️ +836‼️ +31K⚠️ +1068‼️ +32K⚠️ +392‼️ +41K⚠️ +960--💚 -4K💚 -308‼️ +17K⚠️ +492‼️ +18K⚠️ +504
libraries/WebServer/examples/UploadHugeFile💚 -6K⚠️ +836‼️ +25K⚠️ +484‼️ +28K⚠️ +400‼️ +34K⚠️ +360--💚 -8K💚 -328💚 -5K⚠️ +484💚 -2K⚠️ +728
libraries/WebServer/examples/WebServer‼️ +21K⚠️ +812‼️ +35K⚠️ +1084‼️ +36K⚠️ +400‼️ +45K⚠️ +968--💚 -332💚 -336‼️ +23K⚠️ +468‼️ +24K⚠️ +480
libraries/WebServer/examples/WebUpdate‼️ +15K⚠️ +828‼️ +29K⚠️ +468‼️ +31K⚠️ +400‼️ +38K⚠️ +352--‼️ +73K⚠️ +104‼️ +16K⚠️ +468‼️ +18K⚠️ +728
libraries/WiFi/examples/FTM/FTM_Initiator‼️ +21K⚠️ +836‼️ +32K⚠️ +1068‼️ +33K⚠️ +416‼️ +41K⚠️ +960--💚 -4K💚 -304‼️ +22K⚠️ +484‼️ +23K⚠️ +496
libraries/WiFi/examples/FTM/FTM_Responder‼️ +21K⚠️ +836‼️ +32K⚠️ +1060‼️ +33K⚠️ +408‼️ +41K⚠️ +952--💚 -4K💚 -312‼️ +22K⚠️ +484‼️ +23K⚠️ +504
libraries/WiFi/examples/SimpleWiFiServer‼️ +21K⚠️ +836‼️ +29K⚠️ +492‼️ +31K⚠️ +408‼️ +38K⚠️ +360--💚 -4K💚 -308‼️ +22K⚠️ +468‼️ +25K⚠️ +728
libraries/WiFi/examples/WPS‼️ +21K⚠️ +836‼️ +32K⚠️ +1068‼️ +33K⚠️ +392‼️ +41K⚠️ +952----‼️ +22K⚠️ +460‼️ +23K⚠️ +496
libraries/WiFi/examples/WiFiAccessPoint‼️ +21K⚠️ +836‼️ +29K⚠️ +492‼️ +31K⚠️ +408‼️ +38K⚠️ +360--💚 -4K💚 -308‼️ +22K⚠️ +468‼️ +25K⚠️ +728
libraries/WiFi/examples/WiFiBlueToothSwitch‼️ +24K⚠️ +944‼️ +32K⚠️ +1076‼️ +33K⚠️ +400‼️ +42K⚠️ +976------‼️ +23K⚠️ +496
libraries/WiFi/examples/WiFiClient‼️ +21K⚠️ +820‼️ +32K⚠️ +1076‼️ +32K⚠️ +416‼️ +41K⚠️ +968--💚 -4K💚 -308‼️ +23K⚠️ +492‼️ +23K⚠️ +504
libraries/WiFi/examples/WiFiClientBasic‼️ +28K⚠️ +508‼️ +39K⚠️ +732‼️ +39K⚠️ +72‼️ +49K⚠️ +624--💚 -4K💚 -308‼️ +30K⚠️ +148‼️ +30K⚠️ +176
libraries/WiFi/examples/WiFiClientConnect‼️ +20K⚠️ +836‼️ +32K⚠️ +1068‼️ +33K⚠️ +408‼️ +41K⚠️ +952--💚 -4K💚 -312‼️ +22K⚠️ +460‼️ +23K⚠️ +504
libraries/WiFi/examples/WiFiClientEnterprise‼️ +28K⚠️ +508‼️ +39K⚠️ +732‼️ +39K⚠️ +80‼️ +49K⚠️ +624----‼️ +30K⚠️ +156‼️ +30K⚠️ +168
libraries/WiFi/examples/WiFiClientEvents‼️ +21K⚠️ +836‼️ +32K⚠️ +1060‼️ +33K⚠️ +408‼️ +41K⚠️ +952--💚 -4K💚 -312‼️ +22K⚠️ +484‼️ +23K⚠️ +504
libraries/WiFi/examples/WiFiClientStaticIP‼️ +21K⚠️ +836‼️ +31K⚠️ +1084‼️ +32K⚠️ +408‼️ +41K⚠️ +960--💚 -4K💚 -300‼️ +23K⚠️ +468‼️ +23K⚠️ +512
libraries/WiFi/examples/WiFiExtender‼️ +21K⚠️ +844‼️ +32K⚠️ +1068‼️ +33K⚠️ +408‼️ +41K⚠️ +960--💚 -4K💚 -324‼️ +22K⚠️ +468‼️ +23K⚠️ +512
libraries/WiFi/examples/WiFiIPv6‼️ +22K⚠️ +836‼️ +32K⚠️ +1076‼️ +32K⚠️ +416‼️ +41K⚠️ +968--💚 -4K💚 -324‼️ +23K⚠️ +476‼️ +24K⚠️ +520
libraries/WiFi/examples/WiFiMulti‼️ +28K⚠️ +508‼️ +39K⚠️ +740‼️ +39K⚠️ +72‼️ +50K⚠️ +632--💚 -4K💚 -312‼️ +29K⚠️ +156‼️ +30K⚠️ +184
libraries/WiFi/examples/WiFiMultiAdvanced‼️ +18K⚠️ +508‼️ +30K⚠️ +724‼️ +30K⚠️ +64‼️ +40K⚠️ +624--‼️ +46K💚 -260‼️ +20K⚠️ +148‼️ +20K⚠️ +160
libraries/WiFi/examples/WiFiMultiEnterprise‼️ +28K⚠️ +508‼️ +39K⚠️ +740‼️ +39K⚠️ +72‼️ +50K⚠️ +632--💚 -4K💚 -312‼️ +29K⚠️ +156‼️ +30K⚠️ +184
libraries/WiFi/examples/WiFiScan‼️ +21K⚠️ +836‼️ +32K⚠️ +1060‼️ +33K⚠️ +408‼️ +41K⚠️ +952--💚 -4K💚 -312‼️ +22K⚠️ +476‼️ +23K⚠️ +496
libraries/WiFi/examples/WiFiScanAsync‼️ +21K⚠️ +836‼️ +32K⚠️ +1060‼️ +33K⚠️ +408‼️ +41K⚠️ +952--💚 -4K💚 -312‼️ +22K⚠️ +476‼️ +23K⚠️ +496
libraries/WiFi/examples/WiFiScanDualAntenna‼️ +21K⚠️ +836‼️ +32K⚠️ +1060‼️ +33K⚠️ +408‼️ +41K⚠️ +952--💚 -4K💚 -312‼️ +22K⚠️ +452‼️ +23K⚠️ +504
libraries/WiFi/examples/WiFiScanTime‼️ +21K⚠️ +836‼️ +32K⚠️ +1060‼️ +33K⚠️ +408‼️ +41K⚠️ +952--💚 -4K💚 -312‼️ +22K⚠️ +476‼️ +23K⚠️ +496
libraries/WiFi/examples/WiFiSmartConfig‼️ +20K⚠️ +836‼️ +32K⚠️ +1068‼️ +33K⚠️ +416‼️ +41K⚠️ +960----‼️ +22K⚠️ +476‼️ +23K⚠️ +512
libraries/WiFi/examples/WiFiTelnetToSerial‼️ +28K⚠️ +508‼️ +39K⚠️ +740‼️ +39K⚠️ +72‼️ +49K⚠️ +632--💚 -4K💚 -308‼️ +30K⚠️ +148‼️ +30K⚠️ +176
libraries/WiFi/examples/WiFiUDPClient‼️ +22K⚠️ +836‼️ +32K⚠️ +1092‼️ +32K⚠️ +416‼️ +41K⚠️ +968--💚 -4K💚 -308‼️ +23K⚠️ +476‼️ +24K⚠️ +496
libraries/WiFiProv/examples/WiFiProv‼️ +16K⚠️ +928‼️ +21K⚠️ +1060‼️ +23K⚠️ +400‼️ +34K⚠️ +968----‼️ +16K⚠️ +476‼️ +17K⚠️ +504
libraries/Wire/examples/WireMaster💚 -4K⚠️ +760💚 -382⚠️ +736💚 -3K⚠️ +56⚠️ +1756⚠️ +640⚠️ +608⚠️ +504💚 -3K⚠️ +116💚 -18K⚠️ +52💚 -19K⚠️ +168
libraries/Wire/examples/WireScan💚 -4K⚠️ +752💚 -378⚠️ +728💚 -3K⚠️ +64⚠️ +1750⚠️ +648⚠️ +602⚠️ +512💚 -3K⚠️ +108💚 -18K⚠️ +60💚 -19K⚠️ +176
libraries/Wire/examples/WireSlave💚 -4K⚠️ +760💚 -370⚠️ +736💚 -3K⚠️ +56⚠️ +1764⚠️ +640⚠️ +614⚠️ +504💚 -3K⚠️ +116💚 -18K⚠️ +52💚 -19K⚠️ +168
libraries/Wire/examples/WireSlaveFunctionalCallback💚 -4K⚠️ +760💚 -350⚠️ +736💚 -3K⚠️ +56⚠️ +1762⚠️ +640⚠️ +616⚠️ +504💚 -3K⚠️ +116💚 -18K⚠️ +52💚 -19K⚠️ +168
libraries/Zigbee/examples/Zigbee_Analog_Input_Output💚 -16K⚠️ +752⚠️ +134⚠️ +716💚 -2034⚠️ +40‼️ +3K⚠️ +620⚠️ +1498⚠️ +512--💚 -29K⚠️ +60💚 -30K⚠️ +144
libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch💚 -16K⚠️ +752💚 -1420⚠️ +728💚 -4K⚠️ +48⚠️ +1664⚠️ +628⚠️ +132⚠️ +520--💚 -29K⚠️ +60💚 -30K⚠️ +184
libraries/Zigbee/examples/Zigbee_Electrical_AC_Sensor💚 -16K⚠️ +752⚠️ +72⚠️ +740💚 -2K⚠️ +32‼️ +3K⚠️ +628⚠️ +1432⚠️ +504--💚 -30K⚠️ +52💚 -30K⚠️ +152
libraries/Zigbee/examples/Zigbee_Electrical_AC_Sensor_MultiPhase💚 -16K⚠️ +752⚠️ +100⚠️ +740💚 -2K⚠️ +32‼️ +3K⚠️ +628⚠️ +1460⚠️ +504--💚 -30K⚠️ +52💚 -30K⚠️ +152
libraries/Zigbee/examples/Zigbee_Fan_Control💚 -19K⚠️ +148💚 -2K⚠️ +120💚 -3K⚠️ +48⚠️ +940⚠️ +20💚 -572💚 -72--💚 -31K⚠️ +52💚 -29K⚠️ +408
libraries/Zigbee/examples/Zigbee_Gateway‼️ +8K⚠️ +828‼️ +32K⚠️ +1060‼️ +35K⚠️ +360------‼️ +10K⚠️ +476‼️ +11K⚠️ +488
libraries/Zigbee/examples/Zigbee_Multistate_Input_Output💚 -16K⚠️ +752⚠️ +202⚠️ +736💚 -1996⚠️ +48‼️ +3K⚠️ +620⚠️ +1652⚠️ +512--💚 -29K⚠️ +52💚 -30K⚠️ +168
libraries/Zigbee/examples/Zigbee_On_Off_MultiSwitch💚 -15K⚠️ +752⚠️ +344⚠️ +720💚 -2K⚠️ +48‼️ +3K⚠️ +620⚠️ +1804⚠️ +520--💚 -29K⚠️ +52💚 -29K⚠️ +184
libraries/Zigbee/examples/Zigbee_On_Off_Switch💚 -16K⚠️ +752⚠️ +132⚠️ +744💚 -2K⚠️ +56‼️ +3K⚠️ +628⚠️ +1576⚠️ +520--💚 -29K⚠️ +68💚 -30K⚠️ +168
libraries/Zigbee/examples/Zigbee_Power_Outlet💚 -16K⚠️ +752💚 -2K⚠️ +120💚 -3K⚠️ +40⚠️ +942⚠️ +20💚 -584💚 -72--💚 -31K⚠️ +60💚 -29K⚠️ +400
libraries/Zigbee/examples/Zigbee_Range_Extender💚 -16K⚠️ +752💚 -2K⚠️ +136💚 -3K⚠️ +48⚠️ +948⚠️ +20💚 -564💚 -88--💚 -31K⚠️ +60💚 -29K⚠️ +400
libraries/Zigbee/examples/Zigbee_Thermostat💚 -16K⚠️ +744💚 -162⚠️ +732💚 -2K⚠️ +60‼️ +3K⚠️ +632⚠️ +1490⚠️ +512--💚 -29K⚠️ +68💚 -30K⚠️ +168
libraries/ESP32/examples/HWCDC_Events--💚 -2K⚠️ +136💚 -4K⚠️ +48⚠️ +6⚠️ +32💚 -1130💚 -88💚 -5K⚠️ +88--💚 -17K⚠️ +356
libraries/ESP32/examples/AnalogOut/LEDCGammaFade----💚 -4K⚠️ +64⚠️ +986⚠️ +648⚠️ +6⚠️ +552💚 -3K⚠️ +100----
libraries/OpenThread/examples/CLI/COAP/coap_lamp----‼️ +19K💚 -768‼️ +31K💚 -780‼️ +30K💚 -1072------
libraries/OpenThread/examples/CLI/COAP/coap_switch----‼️ +19K💚 -768‼️ +32K💚 -780‼️ +31K💚 -1056------
libraries/OpenThread/examples/CLI/SimpleCLI----‼️ +20K💚 -776‼️ +33K💚 -180‼️ +32K💚 -472------
libraries/OpenThread/examples/CLI/SimpleNode----‼️ +20K💚 -776‼️ +33K💚 -180‼️ +32K💚 -472------
libraries/OpenThread/examples/CLI/SimpleThreadNetwork/ExtendedRouterNode----‼️ +20K💚 -776‼️ +33K💚 -180‼️ +32K💚 -472------
libraries/OpenThread/examples/CLI/SimpleThreadNetwork/LeaderNode----‼️ +20K💚 -776‼️ +33K💚 -180‼️ +32K💚 -472------
libraries/OpenThread/examples/CLI/SimpleThreadNetwork/RouterNode----‼️ +20K💚 -776‼️ +33K💚 -180‼️ +32K💚 -472------
libraries/OpenThread/examples/CLI/ThreadScan----‼️ +20K💚 -776‼️ +33K💚 -180‼️ +32K💚 -472------
libraries/OpenThread/examples/CLI/onReceive----‼️ +20K💚 -776‼️ +33K💚 -180‼️ +32K💚 -472------
libraries/OpenThread/examples/Native/SimpleThreadNetwork/LeaderNode----‼️ +19K💚 -776‼️ +33K💚 -188‼️ +31K💚 -464------
libraries/OpenThread/examples/Native/SimpleThreadNetwork/RouterNode----‼️ +20K💚 -776‼️ +33K💚 -188‼️ +31K💚 -464------
libraries/Zigbee/examples/Zigbee_Binary_Input_Output----💚 -2K⚠️ +20‼️ +3K⚠️ +632⚠️ +1488⚠️ +508------
libraries/Zigbee/examples/Zigbee_CarbonDioxide_Sensor----💚 -2K⚠️ +28‼️ +3K⚠️ +608⚠️ +1142⚠️ +492------
libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light----💚 -5K⚠️ +20💚 -726⚠️ +24💚 -2K💚 -84------
libraries/Zigbee/examples/Zigbee_Contact_Switch----💚 -2K⚠️ +28‼️ +3K⚠️ +632⚠️ +1930⚠️ +500------
libraries/Zigbee/examples/Zigbee_Dimmable_Light----💚 -3K⚠️ +20⚠️ +788⚠️ +24💚 -724💚 -84------
libraries/Zigbee/examples/Zigbee_Electrical_DC_Sensor----💚 -2K⚠️ +12‼️ +3K⚠️ +616⚠️ +1306⚠️ +508------
libraries/Zigbee/examples/Zigbee_Illuminance_Sensor----💚 -4K💚 -4⚠️ +1342⚠️ +624💚 -170⚠️ +508------
libraries/Zigbee/examples/Zigbee_OTA_Client----💚 -3K⚠️ +28⚠️ +746⚠️ +32💚 -764💚 -92------
libraries/Zigbee/examples/Zigbee_Occupancy_Sensor----💚 -2K⚠️ +36‼️ +3K⚠️ +616⚠️ +1556⚠️ +508------
libraries/Zigbee/examples/Zigbee_On_Off_Light----💚 -3K⚠️ +20⚠️ +786⚠️ +24💚 -724💚 -84------
libraries/Zigbee/examples/Zigbee_PM25_Sensor----💚 -2K⚠️ +28‼️ +3K⚠️ +608⚠️ +1150⚠️ +492------
libraries/Zigbee/examples/Zigbee_Pressure_Flow_Sensor----💚 -2K⚠️ +28‼️ +3K⚠️ +608⚠️ +1122⚠️ +492------
libraries/Zigbee/examples/Zigbee_Privilege_Command----💚 -3K⚠️ +12⚠️ +760⚠️ +24💚 -752💚 -84------
libraries/Zigbee/examples/Zigbee_Scan_Networks----💚 -2002⚠️ +36‼️ +3K⚠️ +608⚠️ +1496⚠️ +516------
libraries/Zigbee/examples/Zigbee_Temp_Hum_Sensor_Sleepy----💚 -2K⚠️ +36‼️ +3K⚠️ +616⚠️ +904⚠️ +484------
libraries/Zigbee/examples/Zigbee_Temperature_Sensor----💚 -3K⚠️ +40‼️ +2K⚠️ +604⚠️ +994⚠️ +492------
libraries/Zigbee/examples/Zigbee_Vibration_Sensor----💚 -2K⚠️ +28‼️ +3K⚠️ +632⚠️ +1934⚠️ +500------
libraries/Zigbee/examples/Zigbee_Wind_Speed_Sensor----💚 -2K⚠️ +20‼️ +3K⚠️ +600⚠️ +1166⚠️ +500------
libraries/Zigbee/examples/Zigbee_Window_Covering----💚 -2K⚠️ +20‼️ +3K⚠️ +624⚠️ +1536⚠️ +516------
libraries/ESP_HostedOTA/examples/ESP_HostedOTA----------‼️ +46K💚 -268----
libraries/SD_MMC/examples/SD2USBMSC----------‼️ +3K💚 -328--💚 -10K⚠️ +160
libraries/USB/examples/AudioCard----------💚 -6K⚠️ +164💚 -20K⚠️ +68💚 -20K⚠️ +384
libraries/USB/examples/CompositeDevice----------💚 -6K⚠️ +88💚 -19K⚠️ +76💚 -19K⚠️ +392
libraries/USB/examples/ConsumerControl----------💚 -9K⚠️ +84💚 -23K⚠️ +52💚 -21K⚠️ +384
libraries/USB/examples/CustomHIDDevice----------💚 -5K⚠️ +96💚 -20K⚠️ +68💚 -20K⚠️ +376
libraries/USB/examples/FirmwareMSC----------💚 -6K⚠️ +96💚 -17K⚠️ +60💚 -17K⚠️ +384
libraries/USB/examples/Gamepad----------💚 -5K⚠️ +88💚 -20K⚠️ +68💚 -20K⚠️ +376
libraries/USB/examples/HIDVendor----------💚 -5K⚠️ +96💚 -20K⚠️ +76💚 -20K⚠️ +392
libraries/USB/examples/Keyboard/KeyboardLogout----------💚 -9K⚠️ +156💚 -22K⚠️ +52💚 -21K⚠️ +408
libraries/USB/examples/Keyboard/KeyboardMessage----------💚 -9K⚠️ +156💚 -22K⚠️ +52💚 -21K⚠️ +392
libraries/USB/examples/Keyboard/KeyboardReprogram----------💚 -9K⚠️ +148💚 -22K⚠️ +44💚 -21K⚠️ +408
libraries/USB/examples/Keyboard/KeyboardSerial----------💚 -5K⚠️ +152💚 -20K⚠️ +60💚 -20K⚠️ +400
libraries/USB/examples/KeyboardAndMouseControl----------💚 -5K⚠️ +152💚 -20K⚠️ +76💚 -20K⚠️ +408
libraries/USB/examples/MIDI/MidiController----------💚 -8K💚 -88💚 -20K⚠️ +60💚 -20K⚠️ +376
libraries/USB/examples/MIDI/MidiInterface----------💚 -5K⚠️ +96💚 -20K⚠️ +52💚 -20K⚠️ +400
libraries/USB/examples/MIDI/MidiMultiChannel----------💚 -5K⚠️ +88💚 -20K⚠️ +68💚 -20K⚠️ +392
libraries/USB/examples/MIDI/MidiMusicBox----------💚 -5K⚠️ +88💚 -20K⚠️ +84💚 -20K⚠️ +376
libraries/USB/examples/MIDI/ReceiveMidi----------💚 -5K⚠️ +96💚 -20K⚠️ +52💚 -20K⚠️ +400
libraries/USB/examples/Mouse/ButtonMouseControl----------💚 -9K⚠️ +84💚 -23K⚠️ +44💚 -21K⚠️ +400
libraries/USB/examples/SystemControl----------💚 -9K⚠️ +84💚 -23K⚠️ +52💚 -21K⚠️ +384
libraries/USB/examples/USBMSC----------💚 -5K⚠️ +88💚 -17K⚠️ +60💚 -17K⚠️ +384
libraries/USB/examples/USBSerial----------💚 -5K⚠️ +152💚 -17K⚠️ +60💚 -17K⚠️ +384
libraries/USB/examples/USBVendor----------💚 -5K⚠️ +88💚 -20K⚠️ +76💚 -20K⚠️ +392
ESP32/examples/Camera/CameraWebServer (3)--------------‼️ +22K⚠️ +504

@lucasssvaz lucasssvaz added the Status: Review needed Issue or PR is awaiting review label May 11, 2026
@SuGlider SuGlider requested a review from Copilot May 12, 2026 09:53
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

@SuGlider
Copy link
Copy Markdown
Collaborator

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

This is a potential problem, considering the size of this PR.
If possible, the PR should be broken into pieces that are related to each other or contain a common change target.

@lucasssvaz - is it possible to break this PR into smaller changes and submit one at a time, in order to allow CoPilot to review and also make it better for us for reviewing?

Copy link
Copy Markdown
Collaborator

@SuGlider SuGlider left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lucasssvaz - Please consider splitting this PR into many smaller target-centric changes.

@lucasssvaz
Copy link
Copy Markdown
Member Author

@SuGlider The BLE changes are all dependent on each other as it fully reworks the classes structures. The most I can do is to separate the BT Classic changes, tests and documentation but this won't put the number of lines under 20k. For this PR we won't be able to rely on copilot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: BLE Issues related to BLE Area: BT classic BT Classic related issues Status: Review needed Issue or PR is awaiting review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants