Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(LP_UART): Implements the ESP32-C6/ESP32-P4 Low Power UART as a possible HardwareSerial port #10967

Open
wants to merge 6 commits into
base: release/v3.2.x
Choose a base branch
from

Conversation

SuGlider
Copy link
Collaborator

@SuGlider SuGlider commented Feb 12, 2025

Description of Change

Adds support for ESP32-C6 and ESP32-P4 to use the LP UART peripheral as a possible HardwareSerial port.
ESP32-C6 has now a total of 3 HardwareSerial devices: 2 HP UART ports, Serial0 and Serial1 plus a LP UART port Serial2
ESP32-P4 has now a total of 6 HardwareSerial devices: 5 HP UART ports, Serial0 to Serial4 plus a LP UART port Serial5

ESP32-P4 can set any pin for being used as Serial5 RX/TX/CTS/RTX pins.
ESP32-C6 must use fixed pins for Serial2: RX(4), TX(5), RTS(2), CTS(3)

Limitations:

LP UART port can't be used for logging using log_x()
LP UART is not elegible for setting loopbacks to other UART peripheral (no GPIO Matrix Signal)

Tests scenarios

Using ESP32-C6 and ESP32P4

// Use Serial2 for the ESP32-C6 and Serial5 for the ESP32-P4
#define LP_SERIAL Serial2

void setup() {
  Serial.begin(115200);
  LP_SERIAL.begin(115200);  // use default pins for the ESP32-C6 RX(4) and TX(5)
  // LP_SERIAL.begin(115200, SERIAL_8N1, 3, 4);  // ESP32P4 uses  Pins RX(3) and TX(4)
  Serial.println("Any data using the Serial Monitor will be sent out using the LP Serial TX.");
  Serial.println("LP Serial will echo back any data that is received");
  Serial.flush();
}

void loop() {
  // read Serial sent data and write it to Serial1
  if (Serial.available()) {
    LP_SERIAL.write(Serial.read());
    Serial.print(".");  // indicates that data was sent to the LP Serial in the console
  }
  if (LP_SERIAL.available()) {
    int c = = LP_SERIAL.read();
    LP_SERIAL.write(c);  // Echo back any received data
    Serial.print(c, HEX); // Send the received data to the console
    Serial.print(" ");
    Serial.println((char) c);
  }
}

Related links

None

@SuGlider SuGlider added Type: Feature request Feature request for Arduino ESP32 Peripheral: UART labels Feb 12, 2025
@SuGlider SuGlider added this to the 3.2.0 milestone Feb 12, 2025
@SuGlider SuGlider self-assigned this Feb 12, 2025
Copy link
Contributor

github-actions bot commented Feb 12, 2025

Warnings
⚠️

Some issues found for the commit messages in this PR:

  • the commit message "fix(uart): keeps the test as it was before.":
    • summary should not end with a period (full stop)

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).

⚠️
	The **target branch** for this Pull Request **must be the default branch** of the project (`master`).

	If you would like to add this feature to a different branch, please state this in the PR description and we will consider it.

👋 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 7cca982

Copy link
Contributor

github-actions bot commented Feb 12, 2025

Test Results

 62 files   62 suites   6m 26s ⏱️
 21 tests  21 ✅ 0 💤 0 ❌
153 runs  153 ✅ 0 💤 0 ❌

Results for commit 7cca982.

♻️ This comment has been updated with latest results.

Copy link
Contributor

github-actions bot commented Feb 13, 2025

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
ESP32P40⚠️ +7600.00⚠️ +0.240⚠️ +1440.00⚠️ +0.68
ESP32S30‼️ +5K0.00⚠️ +0.500⚠️ +4960.00⚠️ +0.83
ESP32S20‼️ +4K0.00⚠️ +0.410⚠️ +200.00⚠️ +0.04
ESP32C30⚠️ +740.00⚠️ +0.03000.000.00
ESP32C60⚠️ +7040.00⚠️ +0.290⚠️ +1120.00⚠️ +0.88
ESP32H20⚠️ +980.00⚠️ +0.03000.000.00
ESP320‼️ +12K0.00‼️ +1.220⚠️ +760.00⚠️ +0.12
Click to expand the detailed deltas report [usage change in BYTES]
TargetESP32P4ESP32S3ESP32S2ESP32C3ESP32C6ESP32H2ESP32
ExampleFLASHRAMFLASHRAMFLASHRAMFLASHRAMFLASHRAMFLASHRAMFLASHRAM
ArduinoOTA/examples/BasicOTA⚠️ +506⚠️ +144⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
AsyncUDP/examples/AsyncUDPClient⚠️ +510⚠️ +128⚠️ +360⚠️ +360⚠️ +440⚠️ +606⚠️ +96--⚠️ +360
AsyncUDP/examples/AsyncUDPMulticastServer⚠️ +510⚠️ +128⚠️ +360⚠️ +360⚠️ +440⚠️ +606⚠️ +96--⚠️ +400
AsyncUDP/examples/AsyncUDPServer⚠️ +510⚠️ +128⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +96--⚠️ +360
DNSServer/examples/CaptivePortal⚠️ +510⚠️ +144⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
EEPROM/examples/eeprom_class⚠️ +476⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +608⚠️ +96⚠️ +440⚠️ +360
EEPROM/examples/eeprom_extra⚠️ +476⚠️ +96⚠️ +320⚠️ +360⚠️ +440⚠️ +602⚠️ +112⚠️ +440⚠️ +360
EEPROM/examples/eeprom_write⚠️ +480⚠️ +96⚠️ +320⚠️ +360⚠️ +440⚠️ +612⚠️ +112⚠️ +440⚠️ +360
ESP32/examples/AnalogOut/LEDCFade⚠️ +484⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +612⚠️ +96⚠️ +440⚠️ +360
ESP32/examples/AnalogOut/LEDCSingleChannel⚠️ +352⚠️ +112000000⚠️ +480⚠️ +960000
ESP32/examples/AnalogOut/LEDCSoftwareFade⚠️ +352⚠️ +112000000⚠️ +480⚠️ +960000
ESP32/examples/AnalogOut/SigmaDelta⚠️ +350⚠️ +112000000⚠️ +482⚠️ +960000
ESP32/examples/AnalogOut/ledcFrequency⚠️ +362⚠️ +112000000⚠️ +492⚠️ +960000
ESP32/examples/AnalogOut/ledcWrite_RGB⚠️ +482⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +618⚠️ +96⚠️ +440⚠️ +360
ESP32/examples/AnalogRead⚠️ +490⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +618⚠️ +112⚠️ +440⚠️ +360
ESP32/examples/AnalogReadContinuous⚠️ +492⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +630⚠️ +112⚠️ +440⚠️ +360
ESP32/examples/ArduinoStackSize⚠️ +478⚠️ +112⚠️ +320⚠️ +360⚠️ +460⚠️ +606⚠️ +96⚠️ +440⚠️ +360
ESP32/examples/CI/CIBoardsTest⚠️ +504⚠️ +112⚠️ +520⚠️ +560⚠️ +640⚠️ +630⚠️ +112⚠️ +640⚠️ +600
ESP32/examples/ChipID/GetChipID⚠️ +488⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +616⚠️ +96⚠️ +440⚠️ +360
ESP32/examples/DeepSleep/TimerWakeUp⚠️ +486⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +618⚠️ +112--⚠️ +360
ESP32/examples/DeepSleep/TouchWakeUp⚠️ +470⚠️ +112⚠️ +320⚠️ +360------⚠️ +360
ESP32/examples/FreeRTOS/BasicMultiThreading⚠️ +480⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +604⚠️ +112⚠️ +440⚠️ +360
ESP32/examples/FreeRTOS/Mutex⚠️ +482⚠️ +112⚠️ +320⚠️ +360⚠️ +460⚠️ +608⚠️ +96⚠️ +440⚠️ +360
ESP32/examples/FreeRTOS/Queue⚠️ +478⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +602⚠️ +96⚠️ +440⚠️ +360
ESP32/examples/FreeRTOS/Semaphore⚠️ +474⚠️ +112⚠️ +320⚠️ +360⚠️ +460⚠️ +610⚠️ +96⚠️ +440⚠️ +360
ESP32/examples/GPIO/BlinkRGB⚠️ +358⚠️ +112000000⚠️ +486⚠️ +960000
ESP32/examples/GPIO/FunctionalInterrupt⚠️ +474⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +610⚠️ +112⚠️ +440⚠️ +360
ESP32/examples/GPIO/FunctionalInterruptStruct⚠️ +476⚠️ +96⚠️ +320⚠️ +360⚠️ +440⚠️ +614⚠️ +112⚠️ +440⚠️ +360
ESP32/examples/GPIO/GPIOInterrupt⚠️ +476⚠️ +96⚠️ +320⚠️ +360⚠️ +440⚠️ +610⚠️ +112⚠️ +440⚠️ +360
ESP32/examples/HWCDC_Events⚠️ +358⚠️ +112⚠️ +320--⚠️ +440⚠️ +610⚠️ +96⚠️ +440--
ESP32/examples/MacAddress/GetMacAddress⚠️ +490⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +628⚠️ +96⚠️ +440⚠️ +360
ESP32/examples/RMT/Legacy_RMT_Driver_Compatible⚠️ +482⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +608⚠️ +96⚠️ +440⚠️ +360
ESP32/examples/RMT/RMTCallback⚠️ +474⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +612⚠️ +96⚠️ +440⚠️ +360
ESP32/examples/RMT/RMTLoopback⚠️ +476⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +618⚠️ +96⚠️ +440⚠️ +360
ESP32/examples/RMT/RMTReadXJT⚠️ +476⚠️ +96⚠️ +320⚠️ +360⚠️ +440⚠️ +608⚠️ +112⚠️ +440⚠️ +360
ESP32/examples/RMT/RMTWrite_RGB_LED⚠️ +488⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +600⚠️ +96⚠️ +440⚠️ +360
ESP32/examples/RMT/RMT_CPUFreq_Test⚠️ +748⚠️ +112⚠️ +640⚠️ +360⚠️ +740⚠️ +702⚠️ +96⚠️ +960⚠️ +360
ESP32/examples/RMT/RMT_EndOfTransmissionState⚠️ +476⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +608⚠️ +96⚠️ +440⚠️ +360
ESP32/examples/RMT/RMT_LED_Blink⚠️ +486⚠️ +112⚠️ +320⚠️ +360⚠️ +460⚠️ +604⚠️ +96⚠️ +440⚠️ +360
ESP32/examples/ResetReason/ResetReason⚠️ +496⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +612⚠️ +112⚠️ +440⚠️ +360
ESP32/examples/ResetReason/ResetReason2⚠️ +478⚠️ +112⚠️ +320⚠️ +360⚠️ +460⚠️ +610⚠️ +96⚠️ +440⚠️ +360
ESP32/examples/Serial/BaudRateDetect_Demo⚠️ +494⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +612⚠️ +96⚠️ +440⚠️ +360
ESP32/examples/Serial/OnReceiveError_BREAK_Demo⚠️ +512⚠️ +112⚠️ +400⚠️ +440⚠️ +620⚠️ +646⚠️ +96⚠️ +640⚠️ +400
ESP32/examples/Serial/OnReceive_Demo⚠️ +508⚠️ +112⚠️ +400⚠️ +440⚠️ +620⚠️ +628⚠️ +96⚠️ +620⚠️ +400
ESP32/examples/Serial/RS485_Echo_Demo⚠️ +490⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +602⚠️ +96⚠️ +440⚠️ +360
ESP32/examples/Serial/RxFIFOFull_Demo⚠️ +496⚠️ +112⚠️ +360⚠️ +400⚠️ +520⚠️ +616⚠️ +96⚠️ +520⚠️ +360
ESP32/examples/Serial/RxTimeout_Demo⚠️ +500⚠️ +112⚠️ +360⚠️ +400⚠️ +520⚠️ +618⚠️ +96⚠️ +520⚠️ +360
ESP32/examples/Serial/Serial_All_CPU_Freqs⚠️ +760⚠️ +112⚠️ +640⚠️ +360⚠️ +740⚠️ +704⚠️ +96⚠️ +980⚠️ +360
ESP32/examples/Serial/Serial_STD_Func_OnReceive⚠️ +494⚠️ +112⚠️ +360⚠️ +400⚠️ +540⚠️ +610⚠️ +96⚠️ +540⚠️ +400
ESP32/examples/Serial/onReceiveExample⚠️ +488⚠️ +112⚠️ +360⚠️ +400⚠️ +540⚠️ +618⚠️ +96⚠️ +540⚠️ +400
ESP32/examples/TWAI/TWAIreceive⚠️ +482⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +604⚠️ +96⚠️ +460⚠️ +360
ESP32/examples/TWAI/TWAItransmit⚠️ +480⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +96⚠️ +440⚠️ +360
ESP32/examples/Template/ExampleTemplate⚠️ +358⚠️ +112000000⚠️ +502⚠️ +960000
ESP32/examples/Time/SimpleTime⚠️ +508⚠️ +144⚠️ +320⚠️ +400⚠️ +440⚠️ +612⚠️ +112--⚠️ +360
ESP32/examples/Timer/RepeatTimer⚠️ +474⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +112⚠️ +440⚠️ +360
ESP32/examples/Timer/WatchdogTimer⚠️ +476⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +610⚠️ +112⚠️ +440⚠️ +360
ESP32/examples/Touch/TouchInterrupt⚠️ +484⚠️ +112⚠️ +320⚠️ +360------⚠️ +360
ESP32/examples/Touch/TouchRead⚠️ +480⚠️ +112⚠️ +320⚠️ +360------⚠️ +360
ESP32/examples/Utilities/HEXBuilder⚠️ +484⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +612⚠️ +96⚠️ +440⚠️ +360
ESP32/examples/Utilities/MD5Builder⚠️ +478⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +616⚠️ +96⚠️ +440⚠️ +360
ESP32/examples/Utilities/SHA1Builder⚠️ +478⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +616⚠️ +96⚠️ +440⚠️ +360
ESP_I2S/examples/ES8388_loopback⚠️ +500⚠️ +112⚠️ +520⚠️ +560⚠️ +640⚠️ +626⚠️ +112⚠️ +640⚠️ +600
ESP_I2S/examples/Record_to_WAV⚠️ +442⚠️ +80⚠️ +320--------⚠️ +360
ESP_I2S/examples/Simple_tone⚠️ +488⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +618⚠️ +112⚠️ +440⚠️ +360
ESPmDNS/examples/mDNS-SD_Extended⚠️ +510⚠️ +128⚠️ +400⚠️ +360⚠️ +440⚠️ +614⚠️ +96--⚠️ +360
ESPmDNS/examples/mDNS_Web_Server⚠️ +510⚠️ +144⚠️ +360⚠️ +360⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
Ethernet/examples/ETH_TLK110⚠️ +478⚠️ +112----------⚠️ +400
Ethernet/examples/ETH_W5500_Arduino_SPI⚠️ +474⚠️ +112⚠️ +360⚠️ +360⚠️ +440⚠️ +606⚠️ +112⚠️ +440⚠️ +360
Ethernet/examples/ETH_W5500_IDF_SPI⚠️ +562⚠️ +112⚠️ +360⚠️ +360⚠️ +440⚠️ +610⚠️ +112⚠️ +440⚠️ +240
Ethernet/examples/ETH_WIFI_BRIDGE⚠️ +452⚠️ +80⚠️ +320⚠️ +400⚠️ +440⚠️ +616⚠️ +112--⚠️ +360
FFat/examples/FFat_Test⚠️ +494⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +628⚠️ +112⚠️ +440⚠️ +360
FFat/examples/FFat_time⚠️ +510⚠️ +144⚠️ +320⚠️ +360⚠️ +440⚠️ +622⚠️ +112--⚠️ +400
HTTPClient/examples/Authorization⚠️ +510⚠️ +128⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +96--⚠️ +360
HTTPClient/examples/BasicHttpClient⚠️ +510⚠️ +128⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +96--⚠️ +360
HTTPClient/examples/BasicHttpsClient⚠️ +510⚠️ +128⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +96--⚠️ +360
HTTPClient/examples/ReuseConnection⚠️ +510⚠️ +128⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +96--⚠️ +360
HTTPClient/examples/StreamHttpClient⚠️ +510⚠️ +128⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +96--⚠️ +360
HTTPUpdate/examples/httpUpdate⚠️ +506⚠️ +144⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +112--⚠️ +400
HTTPUpdate/examples/httpUpdateSPIFFS⚠️ +506⚠️ +144⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
HTTPUpdate/examples/httpUpdateSecure⚠️ +442⚠️ +80⚠️ +320⚠️ +360⚠️ +440⚠️ +610⚠️ +112--⚠️ +360
HTTPUpdateServer/examples/WebUpdater⚠️ +516⚠️ +128⚠️ +320⚠️ +360⚠️ +440⚠️ +616⚠️ +96--⚠️ +360
LittleFS/examples/LITTLEFS_test⚠️ +482⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +614⚠️ +112⚠️ +440⚠️ +360
LittleFS/examples/LITTLEFS_time⚠️ +510⚠️ +144⚠️ +360⚠️ +360⚠️ +440⚠️ +614⚠️ +112--⚠️ +440
NetBIOS/examples/ESP_NBNST⚠️ +510⚠️ +128⚠️ +400⚠️ +360⚠️ +440⚠️ +606⚠️ +96--⚠️ +360
NetworkClientSecure/examples/WiFiClientInsecure⚠️ +446⚠️ +64⚠️ +360⚠️ +360⚠️ +440⚠️ +606⚠️ +96--⚠️ +360
NetworkClientSecure/examples/WiFiClientPSK⚠️ +446⚠️ +80⚠️ +320⚠️ +240⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
NetworkClientSecure/examples/WiFiClientSecure⚠️ +446⚠️ +64⚠️ +320⚠️ +240⚠️ +440⚠️ +606⚠️ +96--⚠️ +360
NetworkClientSecure/examples/WiFiClientSecureProtocolUpgrade⚠️ +446⚠️ +64⚠️ +360⚠️ +360⚠️ +440⚠️ +606⚠️ +96--⚠️ +400
NetworkClientSecure/examples/WiFiClientShowPeerCredentials⚠️ +510⚠️ +144⚠️ +320⚠️ +360⚠️ +440⚠️ +614⚠️ +112--⚠️ +400
NetworkClientSecure/examples/WiFiClientTrustOnFirstUse⚠️ +442⚠️ +80⚠️ +320⚠️ +440⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
PPP/examples/PPP_Basic⚠️ +478⚠️ +112⚠️ +400⚠️ +360⚠️ +440⚠️ +610⚠️ +112⚠️ +440⚠️ +360
PPP/examples/PPP_WIFI_BRIDGE⚠️ +452⚠️ +80⚠️ +320⚠️ +400⚠️ +440⚠️ +616⚠️ +112--⚠️ +360
Preferences/examples/Prefs2Struct⚠️ +480⚠️ +112⚠️ +320⚠️ +360⚠️ +460⚠️ +602⚠️ +96⚠️ +440⚠️ +360
Preferences/examples/StartCounter⚠️ +480⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +600⚠️ +96⚠️ +440⚠️ +360
SD/examples/SD_Test⚠️ +478⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +610⚠️ +112⚠️ +440⚠️ +360
SD/examples/SD_time⚠️ +442⚠️ +80⚠️ +320⚠️ +400⚠️ +440⚠️ +606⚠️ +112--⚠️ +400
SD_MMC/examples/SD2USBMSC⚠️ +506⚠️ +128⚠️ +320----------
SD_MMC/examples/SDMMC_Test⚠️ +506⚠️ +144⚠️ +320--------⚠️ +360
SD_MMC/examples/SDMMC_time⚠️ +442⚠️ +80⚠️ +320--------⚠️ +400
SPI/examples/SPI_Multiple_Buses⚠️ +358⚠️ +112000000⚠️ +486⚠️ +960000
SPIFFS/examples/SPIFFS_Test⚠️ +484⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +612⚠️ +112⚠️ +440⚠️ +360
SPIFFS/examples/SPIFFS_time⚠️ +510⚠️ +144⚠️ +320⚠️ +400⚠️ +440⚠️ +622⚠️ +112--⚠️ +360
TFLiteMicro/examples/hello_world⚠️ +352⚠️ +112000000⚠️ +492⚠️ +1120000
Ticker/examples/Blinker⚠️ +356⚠️ +112000000⚠️ +482⚠️ +1120000
Ticker/examples/TickerBasic⚠️ +358⚠️ +96000000⚠️ +480⚠️ +1120000
Ticker/examples/TickerParameter⚠️ +356⚠️ +112000000⚠️ +480⚠️ +1120000
USB/examples/CompositeDevice⚠️ +482⚠️ +96⚠️ +320⚠️ +360--------
USB/examples/ConsumerControl⚠️ +350⚠️ +960000--------
USB/examples/CustomHIDDevice⚠️ +484⚠️ +96⚠️ +320⚠️ +360--------
USB/examples/FirmwareMSC⚠️ +488⚠️ +112⚠️ +320⚠️ +400--------
USB/examples/Gamepad⚠️ +464⚠️ +96⚠️ +320⚠️ +360--------
USB/examples/HIDVendor⚠️ +466⚠️ +112⚠️ +320⚠️ +360--------
USB/examples/Keyboard/KeyboardLogout⚠️ +358⚠️ +960000--------
USB/examples/Keyboard/KeyboardMessage⚠️ +356⚠️ +960000--------
USB/examples/Keyboard/KeyboardReprogram⚠️ +356⚠️ +960000--------
USB/examples/Keyboard/KeyboardSerial⚠️ +484⚠️ +96⚠️ +320⚠️ +360--------
USB/examples/KeyboardAndMouseControl⚠️ +468⚠️ +112⚠️ +320⚠️ +360--------
USB/examples/MIDI/MidiController⚠️ +464⚠️ +112⚠️ +320⚠️ +360--------
USB/examples/MIDI/MidiInterface⚠️ +476⚠️ +96⚠️ +320⚠️ +360--------
USB/examples/MIDI/MidiMusicBox⚠️ +470⚠️ +96⚠️ +320⚠️ +360--------
USB/examples/MIDI/ReceiveMidi⚠️ +482⚠️ +96⚠️ +320⚠️ +360--------
USB/examples/Mouse/ButtonMouseControl⚠️ +352⚠️ +1120000--------
USB/examples/SystemControl⚠️ +350⚠️ +960000--------
USB/examples/USBMSC⚠️ +488⚠️ +112⚠️ +320⚠️ +360--------
USB/examples/USBSerial⚠️ +484⚠️ +112⚠️ +320⚠️ +360--------
USB/examples/USBVendor⚠️ +478⚠️ +112⚠️ +320⚠️ +360--------
Update/examples/AWS_S3_OTA_Update⚠️ +442⚠️ +80⚠️ +320⚠️ +320⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
Update/examples/HTTPS_OTA_Update⚠️ +438⚠️ +80⚠️ +360⚠️ +360⚠️ +440⚠️ +602⚠️ +112--⚠️ +400
Update/examples/HTTP_Client_AES_OTA_Update⚠️ +442⚠️ +80⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
Update/examples/HTTP_Server_AES_OTA_Update⚠️ +506⚠️ +128⚠️ +320⚠️ +400⚠️ +440⚠️ +606⚠️ +96--⚠️ +400
Update/examples/OTAWebUpdater⚠️ +506⚠️ +144⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
Update/examples/SD_Update⚠️ +478⚠️ +112⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +112⚠️ +440⚠️ +360
WebServer/examples/AdvancedWebServer⚠️ +506⚠️ +144⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
WebServer/examples/FSBrowser⚠️ +520⚠️ +144⚠️ +320⚠️ +360⚠️ +440⚠️ +628⚠️ +112--⚠️ +360
WebServer/examples/Filters⚠️ +506⚠️ +144⚠️ +320⚠️ +400⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
WebServer/examples/HelloServer⚠️ +506⚠️ +144⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
WebServer/examples/HttpAdvancedAuth⚠️ +506⚠️ +128⚠️ +360⚠️ +360⚠️ +440⚠️ +606⚠️ +96--⚠️ +360
WebServer/examples/HttpAuthCallback⚠️ +506⚠️ +128⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +96--⚠️ +400
WebServer/examples/HttpAuthCallbackInline⚠️ +506⚠️ +128⚠️ +360⚠️ +400⚠️ +440⚠️ +606⚠️ +96--⚠️ +360
WebServer/examples/HttpBasicAuth⚠️ +506⚠️ +128⚠️ +400⚠️ +440⚠️ +440⚠️ +606⚠️ +96--⚠️ +360
WebServer/examples/HttpBasicAuthSHA1⚠️ +442⚠️ +64⚠️ +320⚠️ +360⚠️ +440⚠️ +610⚠️ +96--⚠️ +360
WebServer/examples/HttpBasicAuthSHA1orBearerToken⚠️ +506⚠️ +144⚠️ +360⚠️ +400⚠️ +440⚠️ +606⚠️ +112--⚠️ +520
WebServer/examples/MultiHomedServers⚠️ +506⚠️ +128⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +96--⚠️ +400
WebServer/examples/PathArgServer⚠️ +514⚠️ +144⚠️ +360⚠️ +480⚠️ +440⚠️ +614⚠️ +112--⚠️ +200
WebServer/examples/SDWebServer⚠️ +516⚠️ +128⚠️ +320⚠️ +360⚠️ +440⚠️ +620⚠️ +96--⚠️ +400
WebServer/examples/SimpleAuthentification⚠️ +510⚠️ +144⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
WebServer/examples/UploadHugeFile⚠️ +446⚠️ +80⚠️ +320⚠️ +400⚠️ +440⚠️ +606⚠️ +112--⚠️ +400
WebServer/examples/WebServer⚠️ +520⚠️ +128⚠️ +400⚠️ +400⚠️ +440⚠️ +624⚠️ +96--⚠️ +360
WebServer/examples/WebUpdate⚠️ +516⚠️ +144⚠️ +320⚠️ +360⚠️ +440⚠️ +616⚠️ +112--⚠️ +360
WiFi/examples/FTM/FTM_Initiator⚠️ +446⚠️ +80⚠️ +320⚠️ +360⚠️ +440⚠️ +612⚠️ +112--⚠️ +360
WiFi/examples/FTM/FTM_Responder⚠️ +512⚠️ +144⚠️ +360⚠️ +360⚠️ +440⚠️ +604⚠️ +112--⚠️ +400
WiFi/examples/SimpleWiFiServer⚠️ +442⚠️ +80⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
WiFi/examples/WiFiAccessPoint⚠️ +442⚠️ +80⚠️ +320⚠️ +400⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
WiFi/examples/WiFiClient⚠️ +446⚠️ +80⚠️ +320⚠️ +400⚠️ +440⚠️ +608⚠️ +112--⚠️ +360
WiFi/examples/WiFiClientBasic⚠️ +510⚠️ +128⚠️ +320⚠️ +400⚠️ +440⚠️ +608⚠️ +96--⚠️ +360
WiFi/examples/WiFiClientConnect⚠️ +442⚠️ +80⚠️ +320⚠️ +360⚠️ +440⚠️ +604⚠️ +112--⚠️ +400
WiFi/examples/WiFiClientEvents⚠️ +510⚠️ +144⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
WiFi/examples/WiFiClientStaticIP⚠️ +446⚠️ +80⚠️ +320⚠️ +400⚠️ +440⚠️ +608⚠️ +112--⚠️ +360
WiFi/examples/WiFiExtender⚠️ +520⚠️ +144⚠️ +320⚠️ +360⚠️ +440⚠️ +616⚠️ +112--⚠️ +400
WiFi/examples/WiFiIPv6⚠️ +510⚠️ +144⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +112--⚠️ +400
WiFi/examples/WiFiMulti⚠️ +510⚠️ +128⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +96--⚠️ +360
WiFi/examples/WiFiMultiAdvanced⚠️ +510⚠️ +128⚠️ +320⚠️ +400⚠️ +440⚠️ +606⚠️ +96--⚠️ +360
WiFi/examples/WiFiScan⚠️ +510⚠️ +144⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
WiFi/examples/WiFiScanAsync⚠️ +512⚠️ +144⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
WiFi/examples/WiFiScanDualAntenna⚠️ +510⚠️ +144⚠️ +320⚠️ +360⚠️ +440⚠️ +604⚠️ +112--⚠️ +360
WiFi/examples/WiFiScanTime⚠️ +510⚠️ +144⚠️ +320⚠️ +520⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
WiFi/examples/WiFiTelnetToSerial⚠️ +446⚠️ +64⚠️ +320⚠️ +440⚠️ +440⚠️ +606⚠️ +96--⚠️ +360
WiFi/examples/WiFiUDPClient⚠️ +446⚠️ +80⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
Wire/examples/WireMaster⚠️ +500⚠️ +112⚠️ +520⚠️ +560⚠️ +640⚠️ +636⚠️ +112⚠️ +640⚠️ +600
Wire/examples/WireScan⚠️ +492⚠️ +112⚠️ +520⚠️ +560⚠️ +640⚠️ +626⚠️ +112⚠️ +640⚠️ +600
Wire/examples/WireSlave⚠️ +498⚠️ +112⚠️ +520⚠️ +560⚠️ +640⚠️ +636⚠️ +112⚠️ +640⚠️ +600
BLE/examples/BLE5_extended_scan--⚠️ +320--⚠️ +440⚠️ +622⚠️ +112⚠️ +440--
BLE/examples/BLE5_multi_advertising--⚠️ +320--⚠️ +440⚠️ +644⚠️ +96⚠️ +440--
BLE/examples/BLE5_periodic_advertising--⚠️ +320--⚠️ +440⚠️ +638⚠️ +96⚠️ +440--
BLE/examples/BLE5_periodic_sync--⚠️ +320--⚠️ +440⚠️ +626⚠️ +112⚠️ +440--
BLE/examples/Beacon_Scanner--⚠️ +320--⚠️ +440⚠️ +614⚠️ +112⚠️ +440⚠️ +320
BLE/examples/Client--⚠️ +400--⚠️ +440⚠️ +614⚠️ +112⚠️ +440⚠️ +360
BLE/examples/EddystoneTLM_Beacon--⚠️ +400--⚠️ +440⚠️ +624⚠️ +112⚠️ +440⚠️ +400
BLE/examples/EddystoneURL_Beacon--⚠️ +360--⚠️ +440⚠️ +624⚠️ +112⚠️ +440⚠️ +360
BLE/examples/Notify--⚠️ +320--⚠️ +440⚠️ +622⚠️ +112⚠️ +440⚠️ +440
BLE/examples/Scan--⚠️ +320--⚠️ +440⚠️ +622⚠️ +112⚠️ +440⚠️ +360
BLE/examples/Server--⚠️ +360--⚠️ +440⚠️ +622⚠️ +112⚠️ +440⚠️ +360
BLE/examples/Server_multiconnect--⚠️ +320--⚠️ +440⚠️ +622⚠️ +112⚠️ +440⚠️ +360
BLE/examples/UART--⚠️ +280--⚠️ +440⚠️ +622⚠️ +112⚠️ +440⚠️ +360
BLE/examples/Write--⚠️ +400--⚠️ +440⚠️ +622⚠️ +112⚠️ +440⚠️ +360
BLE/examples/iBeacon--⚠️ +320--⚠️ +440⚠️ +622⚠️ +112⚠️ +440⚠️ +360
ESP32/examples/Camera/CameraWebServer--‼️ +5K⚠️ +496‼️ +4K⚠️ +20------‼️ +12K⚠️ +76
ESP32/examples/DeepSleep/ExternalWakeUp--⚠️ +320⚠️ +360------⚠️ +360
ESP_NOW/examples/ESP_NOW_Broadcast_Master--⚠️ +360⚠️ +400⚠️ +440⚠️ +606⚠️ +96--⚠️ +480
ESP_NOW/examples/ESP_NOW_Broadcast_Slave--⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
ESP_NOW/examples/ESP_NOW_Network--⚠️ +320⚠️ +400⚠️ +440⚠️ +606⚠️ +112--⚠️ +400
ESP_NOW/examples/ESP_NOW_Serial--⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
ESP_SR/examples/Basic--⚠️ +320----------
HTTPClient/examples/HTTPClientEnterprise--⚠️ +560⚠️ +560⚠️ +640⚠️ +620⚠️ +112--⚠️ +560
Insights/examples/DiagnosticsSmokeTest--⚠️ +320⚠️ +400⚠️ +440⚠️ +620⚠️ +112--⚠️ +360
Insights/examples/MinimalDiagnostics--⚠️ +320⚠️ +400⚠️ +440⚠️ +604⚠️ +112--⚠️ +360
Matter/examples/MatterColorLight--⚠️ +320⚠️ +240⚠️ +440⚠️ +618⚠️ +112--⚠️ +360
Matter/examples/MatterCommissionTest--⚠️ +360⚠️ +360⚠️ +440⚠️ +634⚠️ +112--⚠️ +360
Matter/examples/MatterComposedLights--⚠️ +320⚠️ +360⚠️ +440⚠️ +618⚠️ +112--⚠️ +360
Matter/examples/MatterContactSensor--⚠️ +320⚠️ +360⚠️ +440⚠️ +622⚠️ +112--⚠️ +400
Matter/examples/MatterDimmableLight--⚠️ +240⚠️ +400⚠️ +440⚠️ +618⚠️ +112--⚠️ +360
Matter/examples/MatterEnhancedColorLight--⚠️ +320⚠️ +360⚠️ +440⚠️ +618⚠️ +112--⚠️ +360
Matter/examples/MatterFan--⚠️ +360⚠️ +360⚠️ +440⚠️ +618⚠️ +112--⚠️ +360
Matter/examples/MatterHumiditySensor--⚠️ +320⚠️ +400⚠️ +440⚠️ +616⚠️ +112--⚠️ +400
Matter/examples/MatterMinimum--⚠️ +320⚠️ +360⚠️ +440⚠️ +620⚠️ +112--⚠️ +360
Matter/examples/MatterOccupancySensor--⚠️ +320⚠️ +360⚠️ +440⚠️ +614⚠️ +112--⚠️ +360
Matter/examples/MatterOnIdentify--⚠️ +360⚠️ +360⚠️ +440⚠️ +622⚠️ +112--⚠️ +360
Matter/examples/MatterOnOffLight--⚠️ +360⚠️ +40⚠️ +440⚠️ +622⚠️ +112--⚠️ +360
Matter/examples/MatterOnOffPlugin--⚠️ +320⚠️ +400⚠️ +440⚠️ +622⚠️ +112--⚠️ +360
Matter/examples/MatterPressureSensor--⚠️ +320⚠️ +360⚠️ +440⚠️ +616⚠️ +112--⚠️ +360
Matter/examples/MatterSmartButon--⚠️ +40⚠️ +360⚠️ +440⚠️ +620⚠️ +112--⚠️ +440
Matter/examples/MatterTemperatureLight--⚠️ +320⚠️ +360⚠️ +440⚠️ +614⚠️ +112--⚠️ +360
Matter/examples/MatterTemperatureSensor--⚠️ +320⚠️ +280⚠️ +440⚠️ +616⚠️ +112--⚠️ +360
Matter/examples/MatterThermostat--⚠️ +320⚠️ +360⚠️ +440⚠️ +622⚠️ +112--⚠️ +400
Matter/examples/WiFiProvWithinMatter--⚠️ +360⚠️ +360⚠️ +440⚠️ +616⚠️ +112--⚠️ +360
NetworkClientSecure/examples/WiFiClientSecureEnterprise--⚠️ +560⚠️ +600⚠️ +640⚠️ +620⚠️ +112--⚠️ +600
RainMaker/examples/RMakerCustom--⚠️ +360⚠️ +360⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
RainMaker/examples/RMakerCustomAirCooler--⚠️ +440⚠️ +360⚠️ +440⚠️ +606⚠️ +112----
RainMaker/examples/RMakerSonoffDualR3--⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +96----
RainMaker/examples/RMakerSwitch--⚠️ +320⚠️ +360⚠️ +440⚠️ +610⚠️ +112--⚠️ +360
SimpleBLE/examples/SimpleBleDevice--⚠️ +320--⚠️ +440⚠️ +620⚠️ +112⚠️ +440⚠️ +360
WebServer/examples/Middleware--⚠️ +320⚠️ +400⚠️ +440⚠️ +614⚠️ +112--⚠️ +360
WiFi/examples/WPS--⚠️ +320⚠️ +360⚠️ +440⚠️ +606⚠️ +112--⚠️ +360
WiFi/examples/WiFiBlueToothSwitch--⚠️ +320--⚠️ +460⚠️ +608⚠️ +96--⚠️ +400
WiFi/examples/WiFiClientEnterprise--⚠️ +320⚠️ +360⚠️ +440⚠️ +608⚠️ +112--⚠️ +400
WiFi/examples/WiFiSmartConfig--⚠️ +320⚠️ +360⚠️ +440⚠️ +602⚠️ +112--⚠️ +320
WiFiProv/examples/WiFiProv--⚠️ +320⚠️ +440⚠️ +440⚠️ +612⚠️ +112--⚠️ +400
OpenThread/examples/COAP/coap_lamp--------⚠️ +604⚠️ +112⚠️ +440--
OpenThread/examples/COAP/coap_switch--------⚠️ +596⚠️ +112⚠️ +440--
OpenThread/examples/SimpleCLI--------⚠️ +608⚠️ +112⚠️ +440--
OpenThread/examples/SimpleNode--------⚠️ +604⚠️ +112⚠️ +440--
OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode--------⚠️ +606⚠️ +112⚠️ +440--
OpenThread/examples/SimpleThreadNetwork/LeaderNode--------⚠️ +600⚠️ +112⚠️ +440--
OpenThread/examples/SimpleThreadNetwork/RouterNode--------⚠️ +600⚠️ +112⚠️ +440--
OpenThread/examples/ThreadScan--------⚠️ +612⚠️ +112⚠️ +440--
OpenThread/examples/onReceive--------⚠️ +606⚠️ +112⚠️ +440--
Zigbee/examples/Zigbee_CarbonDioxide_Sensor--------⚠️ +604⚠️ +112⚠️ +440--
Zigbee/examples/Zigbee_Color_Dimmable_Light--------⚠️ +596⚠️ +96⚠️ +440--
Zigbee/examples/Zigbee_Color_Dimmer_Switch--------⚠️ +602⚠️ +112⚠️ +440--
Zigbee/examples/Zigbee_Contact_Switch--------⚠️ +604⚠️ +96⚠️ +440--
Zigbee/examples/Zigbee_Dimmable_Light--------⚠️ +596⚠️ +96⚠️ +440--
Zigbee/examples/Zigbee_OTA_Client--------⚠️ +596⚠️ +96⚠️ +440--
Zigbee/examples/Zigbee_Occupancy_Sensor--------⚠️ +602⚠️ +112⚠️ +440--
Zigbee/examples/Zigbee_On_Off_Light--------⚠️ +598⚠️ +96⚠️ +440--
Zigbee/examples/Zigbee_On_Off_Switch--------⚠️ +602⚠️ +112⚠️ +440--
Zigbee/examples/Zigbee_Pressure_Flow_Sensor--------⚠️ +604⚠️ +96⚠️ +440--
Zigbee/examples/Zigbee_Scan_Networks--------⚠️ +618⚠️ +96⚠️ +440--
Zigbee/examples/Zigbee_Temp_Hum_Sensor_Sleepy--------⚠️ +606⚠️ +112⚠️ +440--
Zigbee/examples/Zigbee_Temperature_Sensor--------⚠️ +606⚠️ +112⚠️ +440--
Zigbee/examples/Zigbee_Thermostat--------⚠️ +604⚠️ +96⚠️ +440--
Zigbee/examples/Zigbee_Vibration_Sensor--------⚠️ +604⚠️ +96⚠️ +440--
Zigbee/examples/Zigbee_Window_Covering--------⚠️ +602⚠️ +96⚠️ +440--
BluetoothSerial/examples/DiscoverConnect------------⚠️ +360
BluetoothSerial/examples/GetLocalMAC------------⚠️ +360
BluetoothSerial/examples/SerialToSerialBT------------⚠️ +400
BluetoothSerial/examples/SerialToSerialBTM------------⚠️ +360
BluetoothSerial/examples/SerialToSerialBT_Legacy------------⚠️ +480
BluetoothSerial/examples/SerialToSerialBT_SSP------------⚠️ +360
BluetoothSerial/examples/bt_classic_device_discovery------------⚠️ +360
BluetoothSerial/examples/bt_remove_paired_devices------------⚠️ +320
ESP32/examples/DeepSleep/SmoothBlink_ULP_Code------------⚠️ +360
Ethernet/examples/ETH_LAN8720------------⚠️ +400

@@ -477,6 +510,12 @@ void HardwareSerial::setDebugOutput(bool en) {
if (_uart == 0) {
return;
}
#if (SOC_UART_LP_NUM >= 1)
if (_uart_nr == LP_UART_NUM_0) {
Copy link
Member

Choose a reason for hiding this comment

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

if (_uart_nr >= SOC_UART_HP_NUM) {

Will handle cases where LP uarts are more than one (future)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

It can be done like that for future extension, although there no single applicable case.
I'll review it.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Ok. Done.

@me-no-dev
Copy link
Member

There are many checks if the uart is LP0. Can the code be made to work with "any" number LP uarts?

@SuGlider SuGlider requested a review from me-no-dev February 15, 2025 02:06
@SuGlider
Copy link
Collaborator Author

There are many checks if the uart is LP0. Can the code be made to work with "any" number LP uarts?

Solved. It supports any number of LP UART ports

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Peripheral: UART Type: Feature request Feature request for Arduino ESP32
Projects
Status: In Review
Development

Successfully merging this pull request may close these issues.

2 participants