Skip to content

Fix(uart): no global serial creates linking error#12412

Merged
me-no-dev merged 23 commits into
masterfrom
fix/no_global_serial
Mar 16, 2026
Merged

Fix(uart): no global serial creates linking error#12412
me-no-dev merged 23 commits into
masterfrom
fix/no_global_serial

Conversation

@SuGlider
Copy link
Copy Markdown
Collaborator

@SuGlider SuGlider commented Feb 26, 2026

Description of Change

If an Arduino Sketch if compiled with NO_GLOBAL_INSTANCES or NO_GLOBAL_SERIAL defined, it will fail with a linking error:

Linking .pio\build\esp32s3\firmware.elf
C:/platform-io/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: .pio/build/esp32s3/libFrameworkArduino.a(esp32-hal-uart.c.o):(.literal._uartDetachBus_TX+0x8): undefined reference to `hal_uart_notify_pins_detached'
C:/platform-io/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: .pio/build/esp32s3/libFrameworkArduino.a(esp32-hal-uart.c.o): in function `_uartDetachBus_TX':
C:/platform-io/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c:318:(.text._uartDetachBus_TX+0x52): undefined reference to `hal_uart_notify_pins_detached'
C:/platform-io/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: .pio/build/esp32s3/libFrameworkArduino.a(esp32-hal-uart.c.o): in function `_uartDetachBus_RX':
C:/platform-io/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c:299:(.text._uartDetachBus_RX+0x52): undefined reference to `hal_uart_notify_pins_detached'
collect2.exe: error: ld returned 1 exit status

Test Scenarios

Compile any Serial exemple adding the build_opt.h file with -DNO_GLOBAL_INSTANCES option

build_opt.h file:

-DNO_GLOBAL_INSTANCES

Testing Sketch:

HardwareSerial Serial(0);

void setup() {
  Serial.begin(115200);
}

void loop() {
  Serial.println("Loop...");
  delay(3000);
}

Related links

related to #12402

NO_GLOBAL_SERIAL may be defined and hal_uart_notify_pins_detached() may not exist creating problems with the linker.
@SuGlider SuGlider added this to the 3.3.0 milestone Feb 26, 2026
@SuGlider SuGlider self-assigned this Feb 26, 2026
@SuGlider SuGlider requested a review from a team as a code owner February 26, 2026 22:13
@SuGlider SuGlider added the Area: UART Related to the UART peripheral or its functionality. label Feb 26, 2026
@SuGlider SuGlider moved this from Todo to In Progress in Arduino ESP32 Core Project Roadmap Feb 26, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 26, 2026

Warnings
⚠️

Some issues found for the commit messages in this PR:

  • the commit message "feat(uart): Implement UART registration and unregistration":
    • body's lines must not be longer than 100 characters
  • the commit message "fix(uart): Add weak attribute to hal_uart_notify_pins_detached":
    • body's lines must not be longer than 100 characters
  • the commit message "fix(uart): typo":
    • summary looks too short
  • the commit message "fix(uart): typo":
    • summary looks too short

Please fix these commit messages - here are some basic tips:

  • follow Conventional Commits style
  • correct format of commit message should be: <type/action>(<scope/component>): <summary>, for example fix(esp32): Fixed startup timeout issue
  • allowed types are: change,ci,docs,feat,fix,refactor,remove,revert,test
  • sufficiently descriptive message summary should be between 10 to 72 characters and start with upper case letter
  • avoid Jira references in commit messages (unavailable/irrelevant for our customers)

TIP: Install pre-commit hooks and run this check when committing (uses the Conventional Precommit Linter).

👋 Hello SuGlider, 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.
- Resolve all warnings (⚠️ ) before requesting a review from human reviewers - they will appreciate it.
- 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 c09954f

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.

Pull request overview

Fixes a link failure when building without global Serial instances by making the UART “pins detached” notifier optional (weak) and guarding its invocation.

Changes:

  • Declares hal_uart_notify_pins_detached() as a weak symbol in the UART HAL header.
  • Removes the non-weak prototype from the C file to avoid undefined references.
  • Guards notifier calls in RX/TX detach paths to safely no-op when not implemented.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
cores/esp32/esp32-hal-uart.h Declares the optional notifier as a weak symbol so missing implementations don’t break linking.
cores/esp32/esp32-hal-uart.c Calls the notifier only when present, preventing link errors when Serial globals are disabled.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread cores/esp32/esp32-hal-uart.h Outdated
Comment thread cores/esp32/esp32-hal-uart.h Outdated
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.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread cores/esp32/esp32-hal-uart.c
Comment thread cores/esp32/esp32-hal-uart.c
Comment thread cores/esp32/esp32-hal-uart.h Outdated
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 26, 2026

Test Results

101 files  101 suites   31m 26s ⏱️
 94 tests  94 ✅ 0 💤 0 ❌
833 runs  833 ✅ 0 💤 0 ❌

Results for commit c09954f.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 27, 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💚 -12⚠️ +280.000.000⚠️ +160.00⚠️ +0.07
ESP32C3💚 -4⚠️ +340.00⚠️ +0.010⚠️ +160.00⚠️ +0.12
ESP32C5💚 -20⚠️ +16💚 -0.01⚠️ +0.010⚠️ +160.00⚠️ +0.09
ESP32C6💚 -20⚠️ +16💚 -0.01⚠️ +0.010⚠️ +160.00⚠️ +0.12
ESP32H2💚 -4⚠️ +360.00⚠️ +0.010⚠️ +160.00⚠️ +0.12
ESP32P4💚 -740💚 -0.020.000⚠️ +640.00⚠️ +0.14
ESP32S2💚 -4⚠️ +240.00⚠️ +0.01000.000.00
ESP32S3💚 -16⚠️ +280.00⚠️ +0.010⚠️ +160.00⚠️ +0.07
Click to expand the detailed deltas report [usage change in BYTES]
TargetESP32ESP32C3ESP32C5ESP32C6ESP32H2ESP32P4ESP32S2ESP32S3
ExampleFLASHRAMFLASHRAMFLASHRAMFLASHRAMFLASHRAMFLASHRAMFLASHRAMFLASHRAM
libraries/ArduinoOTA/examples/BasicOTA⚠️ +12⚠️ +16⚠️ +22⚠️ +16⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +32⚠️ +160⚠️ +160
libraries/ArduinoOTA/examples/SignedOTA⚠️ +120⚠️ +220⚠️ +60⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/AsyncUDP/examples/AsyncUDPClient⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/AsyncUDP/examples/AsyncUDPMulticastServer⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/AsyncUDP/examples/AsyncUDPServer⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/BLE/examples/Beacon_Scanner⚠️ +12⚠️ +16⚠️ +22⚠️ +16⚠️ +60⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +16--⚠️ +16⚠️ +16
libraries/BLE/examples/Client⚠️ +120⚠️ +220⚠️ +60⚠️ +6⚠️ +16⚠️ +22⚠️ +16💚 -48⚠️ +16--⚠️ +16⚠️ +16
libraries/BLE/examples/Client_Gamepad⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +32--00
libraries/BLE/examples/Client_Server⚠️ +12⚠️ +16⚠️ +22⚠️ +16⚠️ +60⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +16--⚠️ +160
libraries/BLE/examples/Client_multiconnect⚠️ +120⚠️ +220⚠️ +60⚠️ +6⚠️ +16⚠️ +22⚠️ +16💚 -48⚠️ +16--⚠️ +16⚠️ +16
libraries/BLE/examples/Client_secure_static_passkey⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +32--⚠️ +16⚠️ +16
libraries/BLE/examples/EddystoneTLM_Beacon⚠️ +12⚠️ +16⚠️ +220⚠️ +60⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +16--⚠️ +16⚠️ +16
libraries/BLE/examples/EddystoneURL_Beacon⚠️ +12⚠️ +16⚠️ +22⚠️ +16⚠️ +60⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +16--⚠️ +16⚠️ +16
libraries/BLE/examples/Notify⚠️ +120⚠️ +22⚠️ +16⚠️ +60⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +16--⚠️ +160
libraries/BLE/examples/Scan⚠️ +12⚠️ +16⚠️ +22⚠️ +16⚠️ +60⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +16--⚠️ +16⚠️ +16
libraries/BLE/examples/Server⚠️ +12⚠️ +16⚠️ +220⚠️ +60⚠️ +6⚠️ +16⚠️ +22⚠️ +16💚 -48⚠️ +16--⚠️ +16⚠️ +16
libraries/BLE/examples/Server_Gamepad⚠️ +12⚠️ +16⚠️ +220⚠️ +60⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +16--⚠️ +16⚠️ +16
libraries/BLE/examples/Server_multiconnect⚠️ +120⚠️ +22⚠️ +16⚠️ +60⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +16--⚠️ +160
libraries/BLE/examples/Server_secure_static_passkey⚠️ +12⚠️ +16⚠️ +220⚠️ +60⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +16--⚠️ +16⚠️ +16
libraries/BLE/examples/UART⚠️ +120⚠️ +22⚠️ +16⚠️ +60⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +16--⚠️ +160
libraries/BLE/examples/Write⚠️ +12⚠️ +16⚠️ +220⚠️ +60⚠️ +6⚠️ +16⚠️ +22⚠️ +16💚 -48⚠️ +16--⚠️ +16⚠️ +16
libraries/BLE/examples/iBeacon⚠️ +120⚠️ +22⚠️ +16⚠️ +60⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +16--⚠️ +160
libraries/BluetoothSerial/examples/DiscoverConnect⚠️ +160--------------
libraries/BluetoothSerial/examples/GetLocalMAC⚠️ +16⚠️ +16--------------
libraries/BluetoothSerial/examples/SerialToSerialBT⚠️ +12⚠️ +16--------------
libraries/BluetoothSerial/examples/SerialToSerialBTM⚠️ +12⚠️ +16--------------
libraries/BluetoothSerial/examples/SerialToSerialBT_Legacy⚠️ +120--------------
libraries/BluetoothSerial/examples/SerialToSerialBT_SSP⚠️ +40--------------
libraries/BluetoothSerial/examples/bt_classic_device_discovery⚠️ +12⚠️ +16--------------
libraries/BluetoothSerial/examples/bt_remove_paired_devices⚠️ +20⚠️ +16--------------
libraries/Console/examples/ConsoleAdvanced⚠️ +120⚠️ +260⚠️ +1000⚠️ +16⚠️ +26⚠️ +16💚 -44⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/Console/examples/ConsoleBasic⚠️ +12⚠️ +16⚠️ +300000⚠️ +16⚠️ +300💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/Console/examples/ConsoleFS⚠️ +120⚠️ +220⚠️ +6⚠️ +160⚠️ +16⚠️ +220💚 -48⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/Console/examples/ConsoleGPIO⚠️ +12⚠️ +16⚠️ +260⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +26⚠️ +16💚 -44⚠️ +32⚠️ +160⚠️ +160
libraries/Console/examples/ConsoleHistory⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +220💚 -46⚠️ +16⚠️ +160⚠️ +160
libraries/Console/examples/ConsoleManual⚠️ +12⚠️ +16⚠️ +280⚠️ +100⚠️ +10⚠️ +16⚠️ +280💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/Console/examples/ConsoleSysInfo⚠️ +120⚠️ +260⚠️ +100⚠️ +10⚠️ +16⚠️ +26⚠️ +16💚 -46⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/Console/examples/ConsoleWiFi⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/DNSServer/examples/CaptivePortal⚠️ +12⚠️ +16⚠️ +220⚠️ +60⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +160
libraries/EEPROM/examples/eeprom_class⚠️ +120⚠️ +260⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +260💚 -44⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/EEPROM/examples/eeprom_extra⚠️ +12⚠️ +16⚠️ +260⚠️ +100⚠️ +10⚠️ +16⚠️ +260💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/EEPROM/examples/eeprom_write⚠️ +12⚠️ +16⚠️ +320⚠️ +100⚠️ +10⚠️ +16⚠️ +320💚 -46⚠️ +16⚠️ +160⚠️ +160
libraries/ESP32/examples/AnalogOut/LEDCFade⚠️ +12⚠️ +16⚠️ +22⚠️ +16⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +220💚 -44⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/AnalogOut/LEDCSingleChannel0000💚 -16⚠️ +16💚 -18⚠️ +1600💚 -72⚠️ +1600💚 -40
libraries/ESP32/examples/AnalogOut/LEDCSoftwareFade0000💚 -16⚠️ +16💚 -18⚠️ +1600💚 -70⚠️ +1600💚 -40
libraries/ESP32/examples/AnalogOut/SigmaDelta0⚠️ +1600💚 -16⚠️ +16💚 -16⚠️ +16💚 -40💚 -70⚠️ +1600💚 -40
libraries/ESP32/examples/AnalogOut/ledcFrequency0⚠️ +1600💚 -16⚠️ +16💚 -16⚠️ +1600💚 -72⚠️ +1600💚 -4⚠️ +16
libraries/ESP32/examples/AnalogOut/ledcWrite_RGB⚠️ +120⚠️ +240⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +22⚠️ +16💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/ESP32/examples/AnalogRead⚠️ +12⚠️ +16⚠️ +140⚠️ +10⚠️ +16⚠️ +12⚠️ +16⚠️ +140💚 -44⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/AnalogReadContinuous⚠️ +12⚠️ +16⚠️ +180⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +140💚 -44⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/ArduinoStackSize⚠️ +12⚠️ +16⚠️ +220⚠️ +16⚠️ +16⚠️ +14⚠️ +16⚠️ +220💚 -40⚠️ +16⚠️ +160⚠️ +160
libraries/ESP32/examples/ArduinoWaitTimeBeforeStartingSketch⚠️ +12⚠️ +16⚠️ +200⚠️ +14⚠️ +16⚠️ +12⚠️ +16⚠️ +220💚 -38⚠️ +16⚠️ +160⚠️ +160
libraries/ESP32/examples/CI/CIBoardsTest⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +16⚠️ +160⚠️ +160
libraries/ESP32/examples/Camera/CameraWebServer⚠️ +12⚠️ +16----------⚠️ +160⚠️ +120
ESP32/examples/Camera/CameraWebServer (2)⚠️ +12⚠️ +16----------⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/ChipID/GetChipID⚠️ +120⚠️ +220⚠️ +12⚠️ +16⚠️ +16⚠️ +16⚠️ +220💚 -44⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/DeepSleep/ExternalWakeUp⚠️ +12⚠️ +16----------⚠️ +160⚠️ +160
libraries/ESP32/examples/DeepSleep/SmoothBlink_ULP_Code⚠️ +12⚠️ +16--------------
libraries/ESP32/examples/DeepSleep/TimerWakeUp⚠️ +12⚠️ +16⚠️ +260⚠️ +10⚠️ +16⚠️ +12⚠️ +16--💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/ESP32/examples/DeepSleep/TouchWakeUp⚠️ +120--------💚 -44⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/FreeRTOS/BasicMultiThreading⚠️ +120⚠️ +280⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +280💚 -44⚠️ +32⚠️ +160⚠️ +160
libraries/ESP32/examples/FreeRTOS/Mutex⚠️ +120⚠️ +220⚠️ +14⚠️ +16⚠️ +14⚠️ +16⚠️ +220💚 -42⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/FreeRTOS/Queue⚠️ +120⚠️ +220⚠️ +10⚠️ +16⚠️ +16⚠️ +16⚠️ +220💚 -44⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/FreeRTOS/Semaphore⚠️ +120⚠️ +220⚠️ +16⚠️ +16⚠️ +14⚠️ +16⚠️ +220💚 -40⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/GPIO/BlinkRGB0⚠️ +1600💚 -16⚠️ +16💚 -16⚠️ +1600💚 -70⚠️ +1600💚 -40
libraries/ESP32/examples/GPIO/FunctionalInterrupt⚠️ +120⚠️ +180⚠️ +100⚠️ +10⚠️ +16⚠️ +220💚 -44⚠️ +32⚠️ +160⚠️ +160
libraries/ESP32/examples/GPIO/FunctionalInterruptLambda⚠️ +120⚠️ +260⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +260💚 -44⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/GPIO/FunctionalInterruptStruct⚠️ +120⚠️ +120⚠️ +12⚠️ +16⚠️ +14⚠️ +16⚠️ +140💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/ESP32/examples/GPIO/GPIOInterrupt⚠️ +12⚠️ +16⚠️ +140⚠️ +10⚠️ +16⚠️ +12⚠️ +16⚠️ +160💚 -44⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/MacAddress/GetMacAddress⚠️ +120⚠️ +3000⚠️ +160⚠️ +16⚠️ +300💚 -44⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/RMT/Legacy_RMT_Driver_Compatible⚠️ +120⚠️ +240⚠️ +12⚠️ +16⚠️ +14⚠️ +16⚠️ +220💚 -42⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/RMT/RMTCallback⚠️ +12⚠️ +16⚠️ +2600⚠️ +16⚠️ +12⚠️ +16⚠️ +280💚 -44⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/RMT/RMTLoopback⚠️ +12⚠️ +16⚠️ +300⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +340💚 -46⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/RMT/RMTReadXJT⚠️ +120⚠️ +280⚠️ +100⚠️ +12⚠️ +16⚠️ +280💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/ESP32/examples/RMT/RMTWrite_RGB_LED⚠️ +120⚠️ +2200⚠️ +16⚠️ +12⚠️ +16⚠️ +220💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/ESP32/examples/RMT/RMT_CPUFreq_Test⚠️ +12⚠️ +16⚠️ +32⚠️ +16⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +320💚 -46⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/RMT/RMT_EndOfTransmissionState⚠️ +12⚠️ +16⚠️ +280⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +280💚 -44⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/RMT/RMT_LED_Blink⚠️ +12⚠️ +16⚠️ +2600⚠️ +160⚠️ +16⚠️ +260💚 -44⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/ResetReason/ResetReason⚠️ +12⚠️ +16⚠️ +200⚠️ +10⚠️ +16⚠️ +16⚠️ +16⚠️ +220💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/ESP32/examples/ResetReason/ResetReason2⚠️ +120⚠️ +220⚠️ +14⚠️ +16⚠️ +12⚠️ +16⚠️ +220💚 -40⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/Serial/BaudRateDetect_Demo⚠️ +12⚠️ +16⚠️ +220⚠️ +14⚠️ +16⚠️ +16⚠️ +16⚠️ +220💚 -42⚠️ +16⚠️ +160⚠️ +160
libraries/ESP32/examples/Serial/HardwareFlowControl_Demo⚠️ +120⚠️ +320⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +320💚 -44⚠️ +16⚠️ +200⚠️ +16⚠️ +16
libraries/ESP32/examples/Serial/OnReceiveError_BREAK_Demo⚠️ +12⚠️ +16⚠️ +340⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +340💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/ESP32/examples/Serial/OnReceive_Demo⚠️ +12⚠️ +16⚠️ +260⚠️ +10⚠️ +16⚠️ +12⚠️ +16⚠️ +260💚 -46⚠️ +16⚠️ +160⚠️ +160
libraries/ESP32/examples/Serial/RS485_Echo_Demo⚠️ +12⚠️ +16⚠️ +220⚠️ +14⚠️ +16⚠️ +14⚠️ +16⚠️ +220💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/ESP32/examples/Serial/RxFIFOFull_Demo⚠️ +12⚠️ +16⚠️ +220⚠️ +10⚠️ +16⚠️ +14⚠️ +16⚠️ +220💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/ESP32/examples/Serial/RxTimeout_Demo⚠️ +12⚠️ +16⚠️ +220⚠️ +12⚠️ +16⚠️ +14⚠️ +16⚠️ +220💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/ESP32/examples/Serial/Serial_All_CPU_Freqs⚠️ +120⚠️ +280⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +280💚 -44⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/Serial/Serial_STD_Func_OnReceive⚠️ +12⚠️ +16⚠️ +240⚠️ +10⚠️ +16⚠️ +14⚠️ +16⚠️ +240💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/ESP32/examples/Serial/onReceiveExample⚠️ +120⚠️ +260⚠️ +10⚠️ +16⚠️ +12⚠️ +16⚠️ +260💚 -44⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/Serial/print64bitVariable⚠️ +12⚠️ +16⚠️ +300⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +300💚 -46⚠️ +16⚠️ +160⚠️ +160
libraries/ESP32/examples/TWAI/TWAIreceive⚠️ +120⚠️ +220--⚠️ +16⚠️ +16⚠️ +220💚 -44⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/TWAI/TWAItransmit⚠️ +12⚠️ +16⚠️ +240--⚠️ +16⚠️ +16⚠️ +240💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/ESP32/examples/Template/ExampleTemplate0⚠️ +1600💚 -16⚠️ +16💚 -16⚠️ +1600💚 -70⚠️ +1600💚 -40
libraries/ESP32/examples/Time/SimpleTime⚠️ +12⚠️ +16⚠️ +220⚠️ +60⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +200
libraries/ESP32/examples/Timer/RepeatTimer⚠️ +12⚠️ +16⚠️ +280⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +260💚 -46⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/ESP32/examples/Timer/WatchdogTimer⚠️ +120⚠️ +340⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +360💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/ESP32/examples/Touch/TouchButton⚠️ +12⚠️ +16--------💚 -44⚠️ +32⚠️ +160⚠️ +160
libraries/ESP32/examples/Touch/TouchInterrupt⚠️ +12⚠️ +16--------💚 -46⚠️ +32⚠️ +160⚠️ +160
libraries/ESP32/examples/Touch/TouchRead⚠️ +12⚠️ +16--------💚 -44⚠️ +32⚠️ +160⚠️ +160
libraries/ESP_I2S/examples/ES8388_loopback⚠️ +16⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +16⚠️ +160⚠️ +160
libraries/ESP_I2S/examples/Record_to_WAV⚠️ +120--------💚 -48⚠️ +32--⚠️ +16⚠️ +16
libraries/ESP_I2S/examples/Simple_tone⚠️ +120⚠️ +2400⚠️ +160⚠️ +16⚠️ +240💚 -44⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Master⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16----⚠️ +160⚠️ +160
libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Slave⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +60----⚠️ +160⚠️ +16⚠️ +16
libraries/ESP_NOW/examples/ESP_NOW_Network⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16----⚠️ +160⚠️ +20⚠️ +16
libraries/ESP_NOW/examples/ESP_NOW_Serial⚠️ +120⚠️ +220⚠️ +60⚠️ +6⚠️ +16----⚠️ +160⚠️ +16⚠️ +16
libraries/ESPmDNS/examples/mDNS-SD_Extended⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/ESPmDNS/examples/mDNS_Web_Server⚠️ +12⚠️ +16⚠️ +220⚠️ +60⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +160
libraries/Ethernet/examples/ETH_LAN8720⚠️ +120--------------
libraries/Ethernet/examples/ETH_TLK110⚠️ +120--------💚 -48⚠️ +32----
libraries/Ethernet/examples/ETH_W5500_Arduino_SPI⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +60⚠️ +22⚠️ +16💚 -48⚠️ +32⚠️ +160⚠️ +160
libraries/Ethernet/examples/ETH_W5500_IDF_SPI⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +60⚠️ +22⚠️ +16💚 -48⚠️ +32⚠️ +160⚠️ +160
libraries/Ethernet/examples/ETH_WIFI_BRIDGE⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/FFat/examples/FFat_Test⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/FFat/examples/FFat_time⚠️ +160⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/HTTPClient/examples/Authorization0⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +160⚠️ +160
libraries/HTTPClient/examples/BasicHttpClient0⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +160⚠️ +160
libraries/HTTPClient/examples/BasicHttpsClient⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +160⚠️ +160
libraries/HTTPClient/examples/CustomHeaders⚠️ +120⚠️ +220⚠️ +60⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/HTTPClient/examples/HTTPClientEnterprise⚠️ +160⚠️ +220⚠️ +60⚠️ +6⚠️ +16----⚠️ +160⚠️ +16⚠️ +16
libraries/HTTPClient/examples/ReuseConnection⚠️ +200⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/HTTPClient/examples/StreamHttpClient⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +200⚠️ +120
libraries/HTTPUpdate/examples/httpUpdate⚠️ +120⚠️ +22⚠️ +16⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +32⚠️ +160⚠️ +160
libraries/HTTPUpdate/examples/httpUpdateSPIFFS⚠️ +120⚠️ +22⚠️ +16⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +32⚠️ +160⚠️ +240
libraries/HTTPUpdate/examples/httpUpdateSecure⚠️ +120⚠️ +22⚠️ +16⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +32⚠️ +160⚠️ +160
libraries/HTTPUpdateServer/examples/WebUpdater⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +160
libraries/Hash/examples/HEX⚠️ +12⚠️ +16⚠️ +3000⚠️ +160⚠️ +16⚠️ +300💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/Hash/examples/MD5⚠️ +12⚠️ +16⚠️ +320⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +320💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/Hash/examples/PBKDF2_HMAC⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +16⚠️ +160⚠️ +160
libraries/Hash/examples/SHA1⚠️ +12⚠️ +16⚠️ +300⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +300💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/Hash/examples/SHA2⚠️ +12⚠️ +16⚠️ +260⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +260💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/Hash/examples/SHA3⚠️ +12⚠️ +16⚠️ +260⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +260💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/Hash/examples/SHA3Stream⚠️ +12⚠️ +16⚠️ +260⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +220💚 -46⚠️ +16⚠️ +200⚠️ +160
libraries/Insights/examples/DiagnosticsSmokeTest⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16----⚠️ +160⚠️ +160
libraries/Insights/examples/MinimalDiagnostics⚠️ +120⚠️ +220⚠️ +60⚠️ +6⚠️ +16----⚠️ +200⚠️ +24⚠️ +16
libraries/LittleFS/examples/LITTLEFS_test⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/LittleFS/examples/LITTLEFS_time⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/Matter/examples/MatterColorLight⚠️ +120⚠️ +260⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +26⚠️ +16--⚠️ +160⚠️ +16⚠️ +16
libraries/Matter/examples/MatterCommissionTest⚠️ +12⚠️ +16⚠️ +260⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +300--⚠️ +160⚠️ +16⚠️ +16
libraries/Matter/examples/MatterComposedLights⚠️ +12⚠️ +16⚠️ +260⚠️ +10⚠️ +16⚠️ +100⚠️ +26⚠️ +16--⚠️ +160⚠️ +160
libraries/Matter/examples/MatterContactSensor⚠️ +12⚠️ +16⚠️ +24⚠️ +16⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +240--⚠️ +160⚠️ +16⚠️ +16
libraries/Matter/examples/MatterDimmableLight⚠️ +120⚠️ +260⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +26⚠️ +16--⚠️ +160⚠️ +16⚠️ +16
libraries/Matter/examples/MatterDimmablePlugin⚠️ +120⚠️ +2600⚠️ +16⚠️ +10⚠️ +16⚠️ +26⚠️ +16--⚠️ +160⚠️ +16⚠️ +16
libraries/Matter/examples/MatterEnhancedColorLight⚠️ +120⚠️ +24⚠️ +16⚠️ +6⚠️ +16⚠️ +40⚠️ +240--⚠️ +160⚠️ +16⚠️ +16
libraries/Matter/examples/MatterEvents⚠️ +12⚠️ +16⚠️ +260⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +260--⚠️ +160⚠️ +16⚠️ +16
libraries/Matter/examples/MatterFan⚠️ +120⚠️ +26⚠️ +16⚠️ +10⚠️ +160⚠️ +16⚠️ +260--⚠️ +160⚠️ +16⚠️ +16
libraries/Matter/examples/MatterHumiditySensor⚠️ +12⚠️ +16⚠️ +220⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +24⚠️ +16--⚠️ +200⚠️ +160
libraries/Matter/examples/MatterLambdaSingleCallbackManyEPs⚠️ +12⚠️ +16⚠️ +200⚠️ +10⚠️ +16⚠️ +100⚠️ +240--⚠️ +160⚠️ +16⚠️ +16
libraries/Matter/examples/MatterMinimum⚠️ +12⚠️ +16⚠️ +260⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +26⚠️ +16--⚠️ +160⚠️ +16⚠️ +16
libraries/Matter/examples/MatterOccupancySensor⚠️ +12⚠️ +16⚠️ +22⚠️ +16⚠️ +10⚠️ +1600⚠️ +26⚠️ +16--⚠️ +240⚠️ +160
libraries/Matter/examples/MatterOccupancyWithHoldTime⚠️ +12⚠️ +16⚠️ +2600⚠️ +16⚠️ +100⚠️ +260--⚠️ +160⚠️ +160
libraries/Matter/examples/MatterOnIdentify⚠️ +12⚠️ +16⚠️ +260⚠️ +10⚠️ +160⚠️ +16⚠️ +26⚠️ +16--⚠️ +160⚠️ +16⚠️ +16
libraries/Matter/examples/MatterOnOffLight⚠️ +12⚠️ +16⚠️ +260⚠️ +10⚠️ +160⚠️ +16⚠️ +26⚠️ +16--⚠️ +160⚠️ +16⚠️ +16
libraries/Matter/examples/MatterOnOffPlugin⚠️ +12⚠️ +16⚠️ +260⚠️ +10⚠️ +160⚠️ +16⚠️ +26⚠️ +16--⚠️ +160⚠️ +16⚠️ +16
libraries/Matter/examples/MatterPressureSensor⚠️ +12⚠️ +16⚠️ +220⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +24⚠️ +16--⚠️ +160⚠️ +120
libraries/Matter/examples/MatterRainSensor⚠️ +12⚠️ +16⚠️ +24⚠️ +16⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +240--⚠️ +160⚠️ +16⚠️ +16
libraries/Matter/examples/MatterSimpleBlinds⚠️ +12⚠️ +16⚠️ +260⚠️ +10⚠️ +16⚠️ +100⚠️ +260--⚠️ +160⚠️ +16⚠️ +16
libraries/Matter/examples/MatterSmartButton⚠️ +12⚠️ +16⚠️ +24⚠️ +16⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +260--⚠️ +160⚠️ +160
libraries/Matter/examples/MatterStatus⚠️ +12⚠️ +16⚠️ +260⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +26⚠️ +16--⚠️ +160⚠️ +16⚠️ +16
libraries/Matter/examples/MatterTemperatureControlledCabinet⚠️ +4⚠️ +16⚠️ +26⚠️ +16⚠️ +10⚠️ +1600⚠️ +260--⚠️ +160⚠️ +160
libraries/Matter/examples/MatterTemperatureControlledCabinetLevels⚠️ +16⚠️ +16⚠️ +24⚠️ +16⚠️ +10⚠️ +16⚠️ +100⚠️ +260--⚠️ +160⚠️ +160
libraries/Matter/examples/MatterTemperatureLight⚠️ +160⚠️ +260⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +26⚠️ +16--⚠️ +160⚠️ +20⚠️ +16
libraries/Matter/examples/MatterTemperatureSensor⚠️ +12⚠️ +16⚠️ +220⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +24⚠️ +16--⚠️ +160⚠️ +120
libraries/Matter/examples/MatterThermostat⚠️ +12⚠️ +16⚠️ +2600⚠️ +16⚠️ +10⚠️ +16⚠️ +260--⚠️ +160⚠️ +160
libraries/Matter/examples/MatterWaterFreezeDetector⚠️ +12⚠️ +16⚠️ +24⚠️ +16⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +240--⚠️ +160⚠️ +16⚠️ +16
libraries/Matter/examples/MatterWaterLeakDetector⚠️ +12⚠️ +16⚠️ +24⚠️ +16⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +240--⚠️ +160⚠️ +16⚠️ +16
libraries/Matter/examples/MatterWindowCovering⚠️ +120⚠️ +22⚠️ +16⚠️ +6⚠️ +16⚠️ +60⚠️ +220--⚠️ +120⚠️ +16⚠️ +16
libraries/NetBIOS/examples/ESP_NBNST⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/NetworkClientSecure/examples/WiFiClientInsecure⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/NetworkClientSecure/examples/WiFiClientPSK⚠️ +16⚠️ +16⚠️ +220⚠️ +60⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +160
libraries/NetworkClientSecure/examples/WiFiClientSecure⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/NetworkClientSecure/examples/WiFiClientSecureEnterprise⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +60----⚠️ +160⚠️ +16⚠️ +16
libraries/NetworkClientSecure/examples/WiFiClientSecureProtocolUpgrade⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/NetworkClientSecure/examples/WiFiClientShowPeerCredentials⚠️ +120⚠️ +22⚠️ +16⚠️ +60⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +200⚠️ +16⚠️ +16
libraries/NetworkClientSecure/examples/WiFiClientTrustOnFirstUse⚠️ +16⚠️ +16⚠️ +22⚠️ +16⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +120⚠️ +16⚠️ +16
libraries/PPP/examples/PPP_Basic⚠️ +120⚠️ +22⚠️ +16⚠️ +60⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +16⚠️ +160⚠️ +160
libraries/PPP/examples/PPP_WIFI_BRIDGE⚠️ +120⚠️ +22⚠️ +16⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +200⚠️ +16⚠️ +16
libraries/Preferences/examples/Prefs2Struct⚠️ +12⚠️ +16⚠️ +220⚠️ +12⚠️ +16⚠️ +14⚠️ +16⚠️ +220💚 -46⚠️ +16⚠️ +160⚠️ +160
libraries/Preferences/examples/StartCounter⚠️ +120⚠️ +220⚠️ +10⚠️ +16⚠️ +14⚠️ +16⚠️ +220💚 -44⚠️ +16⚠️ +200⚠️ +16⚠️ +16
libraries/SD/examples/SD_Test⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/SD/examples/SD_time⚠️ +120⚠️ +22⚠️ +16⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/SD_MMC/examples/SDMMC_Test⚠️ +120--------💚 -48⚠️ +32--⚠️ +16⚠️ +16
libraries/SD_MMC/examples/SDMMC_time⚠️ +12⚠️ +16--------💚 -48⚠️ +32--⚠️ +160
libraries/SPI/examples/SPI_Multiple_Buses00💚 -40💚 -20⚠️ +16💚 -20⚠️ +16💚 -40💚 -74⚠️ +1600💚 -40
libraries/SPIFFS/examples/SPIFFS_Test⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/SPIFFS/examples/SPIFFS_time⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +20⚠️ +16
libraries/SimpleBLE/examples/SimpleBleDevice⚠️ +120--------------
libraries/TFLiteMicro/examples/hello_world0000💚 -16⚠️ +16💚 -16000💚 -70⚠️ +3200💚 -4⚠️ +16
libraries/Ticker/examples/Blinker0⚠️ +1600💚 -18⚠️ +16💚 -16⚠️ +1600💚 -70⚠️ +3200💚 -40
libraries/Ticker/examples/TickerBasic0⚠️ +1600💚 -160💚 -18⚠️ +16💚 -20💚 -70⚠️ +16💚 -40💚 -40
libraries/Ticker/examples/TickerParameter0000💚 -16⚠️ +16💚 -16⚠️ +1600💚 -70⚠️ +3200💚 -4⚠️ +16
libraries/Update/examples/AWS_S3_OTA_Update⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +160
libraries/Update/examples/HTTPS_OTA_Update⚠️ +120⚠️ +200⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +160⚠️ +160
libraries/Update/examples/HTTP_Client_AES_OTA_Update⚠️ +120⚠️ +22⚠️ +16⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +32⚠️ +160⚠️ +160
libraries/Update/examples/HTTP_Server_AES_OTA_Update⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +160
libraries/Update/examples/OTAWebUpdater⚠️ +120⚠️ +22⚠️ +16⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/Update/examples/SD_Update⚠️ +12⚠️ +16⚠️ +22⚠️ +16⚠️ +60⚠️ +6⚠️ +16⚠️ +220💚 -48⚠️ +16⚠️ +240⚠️ +160
libraries/Update/examples/Signed_OTA_Update⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +160
libraries/WebServer/examples/AdvancedWebServer⚠️ +12⚠️ +16⚠️ +22⚠️ +16⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +32⚠️ +160⚠️ +160
libraries/WebServer/examples/ChunkWriting⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +32⚠️ +160⚠️ +160
libraries/WebServer/examples/FSBrowser⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/WebServer/examples/Filters⚠️ +12⚠️ +16⚠️ +22⚠️ +16⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +32⚠️ +160⚠️ +160
libraries/WebServer/examples/HelloServer⚠️ +12⚠️ +16⚠️ +22⚠️ +16⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +32⚠️ +160⚠️ +160
libraries/WebServer/examples/HttpAdvancedAuth⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +200⚠️ +160
libraries/WebServer/examples/HttpAuthCallback⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +280
libraries/WebServer/examples/HttpAuthCallbackInline⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +200⚠️ +160
libraries/WebServer/examples/HttpBasicAuth⚠️ +16⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +160
libraries/WebServer/examples/HttpBasicAuthSHA1⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +1600⚠️ +160
libraries/WebServer/examples/HttpBasicAuthSHA1orBearerToken⚠️ +120⚠️ +220⚠️ +60⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/WebServer/examples/Middleware⚠️ +12⚠️ +16⚠️ +220⚠️ +60⚠️ +6⚠️ +16----⚠️ +160⚠️ +160
libraries/WebServer/examples/MultiHomedServers⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +160💚 -160
libraries/WebServer/examples/PathArgServer⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/WebServer/examples/SDWebServer⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +160
libraries/WebServer/examples/SimpleAuthentification⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/WebServer/examples/UploadHugeFile⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/WebServer/examples/WebServer⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +200
libraries/WebServer/examples/WebUpdate⚠️ +12⚠️ +16⚠️ +22⚠️ +16⚠️ +60⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +160
libraries/WiFi/examples/FTM/FTM_Initiator00⚠️ +220⚠️ +60⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/WiFi/examples/FTM/FTM_Responder⚠️ +12⚠️ +16⚠️ +220⚠️ +60⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +160
libraries/WiFi/examples/SimpleWiFiServer💚 -40⚠️ +22⚠️ +16⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/WiFi/examples/WPS⚠️ +16⚠️ +16⚠️ +220⚠️ +60⚠️ +6⚠️ +16----⚠️ +160⚠️ +160
libraries/WiFi/examples/WiFiAccessPoint⚠️ +160⚠️ +22⚠️ +16⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/WiFi/examples/WiFiBlueToothSwitch⚠️ +160⚠️ +220⚠️ +6⚠️ +16⚠️ +60------⚠️ +16⚠️ +16
libraries/WiFi/examples/WiFiClient⚠️ +120⚠️ +220⚠️ +60⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/WiFi/examples/WiFiClientBasic⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/WiFi/examples/WiFiClientConnect⚠️ +12⚠️ +16⚠️ +200⚠️ +60⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/WiFi/examples/WiFiClientEnterprise⚠️ +120⚠️ +220⚠️ +60⚠️ +6⚠️ +16----⚠️ +160⚠️ +16⚠️ +16
libraries/WiFi/examples/WiFiClientEvents⚠️ +28⚠️ +16⚠️ +220⚠️ +60⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +160
libraries/WiFi/examples/WiFiClientStaticIP⚠️ +200⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/WiFi/examples/WiFiExtender⚠️ +12⚠️ +16⚠️ +220⚠️ +60⚠️ +6⚠️ +16--💚 -50⚠️ +16⚠️ +160⚠️ +160
libraries/WiFi/examples/WiFiIPv6⚠️ +120⚠️ +220⚠️ +60⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/WiFi/examples/WiFiMulti⚠️ +200⚠️ +220⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/WiFi/examples/WiFiMultiAdvanced⚠️ +120⚠️ +22⚠️ +16⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +160⚠️ +12⚠️ +16
libraries/WiFi/examples/WiFiScan⚠️ +16⚠️ +16⚠️ +220⚠️ +60⚠️ +6⚠️ +16--💚 -50⚠️ +16⚠️ +160⚠️ +200
libraries/WiFi/examples/WiFiScanAsync⚠️ +12⚠️ +16⚠️ +220⚠️ +60⚠️ +6⚠️ +16--💚 -50⚠️ +16⚠️ +160⚠️ +160
libraries/WiFi/examples/WiFiScanDualAntenna⚠️ +12⚠️ +16⚠️ +220⚠️ +60⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +160
libraries/WiFi/examples/WiFiScanTime⚠️ +12⚠️ +16⚠️ +220⚠️ +60⚠️ +6⚠️ +16--💚 -50⚠️ +16⚠️ +160⚠️ +160
libraries/WiFi/examples/WiFiSmartConfig⚠️ +12⚠️ +16⚠️ +220⚠️ +60⚠️ +6⚠️ +16----⚠️ +160⚠️ +160
libraries/WiFi/examples/WiFiTelnetToSerial⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +60--💚 -48⚠️ +32⚠️ +160⚠️ +16⚠️ +16
libraries/WiFi/examples/WiFiUDPClient⚠️ +12⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16--💚 -48⚠️ +16⚠️ +160⚠️ +160
libraries/WiFiProv/examples/WiFiProv⚠️ +12⚠️ +16⚠️ +220⚠️ +60⚠️ +6⚠️ +16----⚠️ +160⚠️ +16⚠️ +16
libraries/Wire/examples/WireMaster⚠️ +120⚠️ +260⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +260💚 -44⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/Wire/examples/WireScan⚠️ +12⚠️ +16⚠️ +260⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +260💚 -44⚠️ +16⚠️ +160⚠️ +160
libraries/Wire/examples/WireSlave⚠️ +120⚠️ +260⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +260💚 -44⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/Wire/examples/WireSlaveFunctionalCallback⚠️ +120⚠️ +260⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +260💚 -44⚠️ +16⚠️ +160⚠️ +16⚠️ +16
libraries/Zigbee/examples/Zigbee_Analog_Input_Output💚 -12⚠️ +16⚠️ +220⚠️ +60⚠️ +60⚠️ +220--⚠️ +160⚠️ +120
libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +220--⚠️ +160⚠️ +16⚠️ +16
libraries/Zigbee/examples/Zigbee_Electrical_AC_Sensor⚠️ +12⚠️ +16⚠️ +220⚠️ +60⚠️ +60⚠️ +220--⚠️ +160⚠️ +160
libraries/Zigbee/examples/Zigbee_Electrical_AC_Sensor_MultiPhase⚠️ +12⚠️ +16⚠️ +220⚠️ +60⚠️ +60⚠️ +220--⚠️ +160⚠️ +200
libraries/Zigbee/examples/Zigbee_Fan_Control⚠️ +16⚠️ +16⚠️ +22⚠️ +16⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +22⚠️ +16--⚠️ +160⚠️ +16⚠️ +16
libraries/Zigbee/examples/Zigbee_Gateway⚠️ +16⚠️ +16⚠️ +220⚠️ +6⚠️ +16------⚠️ +160⚠️ +16⚠️ +16
libraries/Zigbee/examples/Zigbee_Multistate_Input_Output💚 -4⚠️ +16⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +220--⚠️ +160⚠️ +160
libraries/Zigbee/examples/Zigbee_On_Off_MultiSwitch⚠️ +12⚠️ +16⚠️ +24⚠️ +160⚠️ +16⚠️ +6⚠️ +16⚠️ +24⚠️ +16--⚠️ +16000
libraries/Zigbee/examples/Zigbee_On_Off_Switch⚠️ +120⚠️ +22⚠️ +16⚠️ +60⚠️ +6⚠️ +16⚠️ +22⚠️ +16--⚠️ +160⚠️ +20⚠️ +16
libraries/Zigbee/examples/Zigbee_Power_Outlet⚠️ +12⚠️ +16⚠️ +22⚠️ +16⚠️ +6⚠️ +16⚠️ +4⚠️ +16⚠️ +24⚠️ +16--⚠️ +160⚠️ +16⚠️ +16
libraries/Zigbee/examples/Zigbee_Range_Extender⚠️ +12⚠️ +16⚠️ +24⚠️ +16⚠️ +6⚠️ +16⚠️ +4⚠️ +16⚠️ +24⚠️ +16--⚠️ +200⚠️ +16⚠️ +16
libraries/Zigbee/examples/Zigbee_Thermostat⚠️ +120⚠️ +220⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +220--⚠️ +160⚠️ +20⚠️ +16
libraries/BLE/examples/Server_secure_authorization--⚠️ +220⚠️ +60⚠️ +6⚠️ +16⚠️ +220----⚠️ +16⚠️ +16
libraries/ESP32/examples/HWCDC_Events--⚠️ +260⚠️ +10⚠️ +160⚠️ +16⚠️ +260💚 -70⚠️ +16--⚠️ +16⚠️ +16
libraries/RainMaker/examples/RMakerCustom--⚠️ +220⚠️ +60⚠️ +6⚠️ +16----⚠️ +160⚠️ +160
libraries/RainMaker/examples/RMakerCustomAirCooler--⚠️ +220⚠️ +60⚠️ +6⚠️ +16----⚠️ +160⚠️ +16⚠️ +16
libraries/RainMaker/examples/RMakerSonoffDualR3--⚠️ +260⚠️ +6⚠️ +16⚠️ +60----⚠️ +160⚠️ +16⚠️ +16
libraries/RainMaker/examples/RMakerSwitch--⚠️ +220⚠️ +60⚠️ +6⚠️ +16----⚠️ +160⚠️ +160
libraries/ESP32/examples/AnalogOut/LEDCGammaFade----⚠️ +10⚠️ +16⚠️ +10⚠️ +16⚠️ +240💚 -44⚠️ +16----
libraries/OpenThread/examples/CLI/COAP/coap_lamp----⚠️ +6⚠️ +1600⚠️ +240------
libraries/OpenThread/examples/CLI/COAP/coap_switch----⚠️ +6⚠️ +1600⚠️ +24⚠️ +16------
libraries/OpenThread/examples/CLI/SimpleCLI----⚠️ +10⚠️ +16⚠️ +100⚠️ +260------
libraries/OpenThread/examples/CLI/SimpleNode----⚠️ +10⚠️ +16⚠️ +100⚠️ +260------
libraries/OpenThread/examples/CLI/SimpleThreadNetwork/ExtendedRouterNode----⚠️ +4⚠️ +1600⚠️ +240------
libraries/OpenThread/examples/CLI/SimpleThreadNetwork/LeaderNode----⚠️ +10⚠️ +16⚠️ +100⚠️ +260------
libraries/OpenThread/examples/CLI/SimpleThreadNetwork/RouterNode----0⚠️ +16⚠️ +100⚠️ +260------
libraries/OpenThread/examples/CLI/ThreadScan----⚠️ +10⚠️ +16⚠️ +100⚠️ +260------
libraries/OpenThread/examples/CLI/onReceive----0⚠️ +16⚠️ +100⚠️ +260------
libraries/OpenThread/examples/Native/SimpleThreadNetwork/LeaderNode----⚠️ +6⚠️ +16⚠️ +60⚠️ +240------
libraries/OpenThread/examples/Native/SimpleThreadNetwork/RouterNode----⚠️ +6⚠️ +1600⚠️ +240------
libraries/Zigbee/examples/Zigbee_Binary_Input_Output----⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +220------
libraries/Zigbee/examples/Zigbee_CarbonDioxide_Sensor----0⚠️ +160⚠️ +16⚠️ +24⚠️ +16------
libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light----⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +22⚠️ +16------
libraries/Zigbee/examples/Zigbee_Contact_Switch----⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +220------
libraries/Zigbee/examples/Zigbee_Dimmable_Light----⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +22⚠️ +16------
libraries/Zigbee/examples/Zigbee_Electrical_DC_Sensor----⚠️ +6⚠️ +16⚠️ +60⚠️ +220------
libraries/Zigbee/examples/Zigbee_Illuminance_Sensor----000⚠️ +16⚠️ +240------
libraries/Zigbee/examples/Zigbee_OTA_Client----⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +22⚠️ +16------
libraries/Zigbee/examples/Zigbee_Occupancy_Sensor----0⚠️ +16⚠️ +10⚠️ +16⚠️ +260------
libraries/Zigbee/examples/Zigbee_On_Off_Light----⚠️ +6⚠️ +16⚠️ +4⚠️ +16⚠️ +24⚠️ +16------
libraries/Zigbee/examples/Zigbee_PM25_Sensor----⚠️ +4⚠️ +160⚠️ +16⚠️ +24⚠️ +16------
libraries/Zigbee/examples/Zigbee_Pressure_Flow_Sensor----⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +22⚠️ +16------
libraries/Zigbee/examples/Zigbee_Scan_Networks----⚠️ +10⚠️ +160⚠️ +16⚠️ +260------
libraries/Zigbee/examples/Zigbee_Temp_Hum_Sensor_Sleepy----⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +22⚠️ +16------
libraries/Zigbee/examples/Zigbee_Temperature_Sensor----⚠️ +6⚠️ +16⚠️ +60⚠️ +22⚠️ +16------
libraries/Zigbee/examples/Zigbee_Vibration_Sensor----⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +220------
libraries/Zigbee/examples/Zigbee_Wind_Speed_Sensor----⚠️ +4⚠️ +160⚠️ +16⚠️ +26⚠️ +16------
libraries/Zigbee/examples/Zigbee_Window_Covering----⚠️ +6⚠️ +16⚠️ +6⚠️ +16⚠️ +220------
libraries/ESP_HostedOTA/examples/ESP_HostedOTA----------💚 -48⚠️ +16----
libraries/ESP_SR/examples/Basic----------💚 -48⚠️ +32--⚠️ +240
libraries/SD_MMC/examples/SD2USBMSC----------💚 -480--⚠️ +16⚠️ +16
libraries/USB/examples/CompositeDevice----------💚 -480⚠️ +160⚠️ +16⚠️ +16
libraries/USB/examples/ConsumerControl----------💚 -74⚠️ +6400💚 -4⚠️ +16
libraries/USB/examples/CustomHIDDevice----------💚 -44⚠️ +64⚠️ +160⚠️ +160
libraries/USB/examples/FirmwareMSC----------💚 -44⚠️ +64⚠️ +160⚠️ +160
libraries/USB/examples/Gamepad----------💚 -440⚠️ +160⚠️ +16⚠️ +16
libraries/USB/examples/HIDVendor----------💚 -440⚠️ +160⚠️ +160
libraries/USB/examples/Keyboard/KeyboardLogout----------💚 -74000💚 -40
libraries/USB/examples/Keyboard/KeyboardMessage----------💚 -74000💚 -40
libraries/USB/examples/Keyboard/KeyboardReprogram----------💚 -74000💚 -4⚠️ +16
libraries/USB/examples/Keyboard/KeyboardSerial----------💚 -460⚠️ +160⚠️ +16⚠️ +16
libraries/USB/examples/KeyboardAndMouseControl----------💚 -440⚠️ +160⚠️ +160
libraries/USB/examples/MIDI/MidiController----------💚 -44⚠️ +64⚠️ +160⚠️ +16⚠️ +16
libraries/USB/examples/MIDI/MidiInterface----------💚 -44⚠️ +64⚠️ +200⚠️ +16⚠️ +16
libraries/USB/examples/MIDI/MidiMultiChannel----------💚 -50⚠️ +64⚠️ +160⚠️ +16⚠️ +16
libraries/USB/examples/MIDI/MidiMusicBox----------💚 -46⚠️ +64⚠️ +160⚠️ +16⚠️ +16
libraries/USB/examples/MIDI/ReceiveMidi----------💚 -44⚠️ +64⚠️ +160⚠️ +16⚠️ +16
libraries/USB/examples/Mouse/ButtonMouseControl----------💚 -74000💚 -40
libraries/USB/examples/SystemControl----------💚 -74⚠️ +6400💚 -4⚠️ +16
libraries/USB/examples/USBMSC----------💚 -46⚠️ +64⚠️ +160⚠️ +160
libraries/USB/examples/USBSerial----------💚 -460⚠️ +160⚠️ +160
libraries/USB/examples/USBVendor----------💚 -460⚠️ +160⚠️ +160
ESP32/examples/Camera/CameraWebServer (3)--------------⚠️ +16⚠️ +16

lucasssvaz
lucasssvaz previously approved these changes Feb 28, 2026
Copy link
Copy Markdown
Member

@lucasssvaz lucasssvaz left a comment

Choose a reason for hiding this comment

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

Looks good. Please take a look at the copilot comments

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@SuGlider
Copy link
Copy Markdown
Collaborator Author

SuGlider commented Mar 1, 2026

Looks good. Please take a look at the copilot comments

I'll change the way it is done.... not using Serial0, Serial1, Serial2, etc. This will solve the issue for any case for good.

@SuGlider SuGlider marked this pull request as draft March 1, 2026 02:57
SuGlider added 3 commits March 1, 2026 00:14
Added functions to register and unregister HardwareSerial objects, allowing for better management of UART instances.
Removed weak prototype for hal_uart_notify_pins_detached function.
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.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

Comments suppressed due to low confidence (1)

cores/esp32/HardwareSerial.cpp:179

  • The early return in the destructor when _uart_nr >= SOC_UART_NUM skips freeing _lock (and any other teardown after this block). Since the constructor may have created _lock even for an invalid UART number, this can leak the semaphore. Consider removing the early return and instead conditionally skipping only the UART-specific end()/uart_unregister() parts, while still deleting _lock when present.
HardwareSerial::~HardwareSerial() {
  if (_uart_nr >= SOC_UART_NUM) {
    return;
  }
  end();  // explicit Full UART termination
  uart_unregister(_uart_nr);
#if !CONFIG_DISABLE_HAL_LOCKS
  if (_lock != NULL) {
    vSemaphoreDelete(_lock);
  }

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread cores/esp32/HardwareSerial.cpp Outdated
Comment thread cores/esp32/HardwareSerial.cpp Outdated
Comment thread cores/esp32/HardwareSerial.cpp Outdated
@lucasssvaz lucasssvaz dismissed their stale review March 2, 2026 01:23

Still in progress

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.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@SuGlider SuGlider requested a review from lucasssvaz March 2, 2026 02:00
@me-no-dev me-no-dev added Status: Pending Merge Pull Request is ready to be merged and removed Status: Review needed Issue or PR is awaiting review labels Mar 4, 2026
@me-no-dev
Copy link
Copy Markdown
Member

@SuGlider please fix the conflict

@SuGlider
Copy link
Copy Markdown
Collaborator Author

SuGlider commented Mar 6, 2026

@SuGlider please fix the conflict

Done.

@nomakewan
Copy link
Copy Markdown

Whoops, looks like a hal_uart_notify_pins_detached snuck back in on that merge.

Comment thread cores/esp32/esp32-hal-uart.c Outdated
@me-no-dev me-no-dev merged commit ee634c3 into master Mar 16, 2026
80 of 83 checks passed
@me-no-dev me-no-dev deleted the fix/no_global_serial branch March 16, 2026 10:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: UART Related to the UART peripheral or its functionality. Status: Pending Merge Pull Request is ready to be merged

Projects

Development

Successfully merging this pull request may close these issues.

5 participants