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

fix(uart): uses IDF 5.x API to set loopback #10442

Closed
wants to merge 32 commits into from

Conversation

SuGlider
Copy link
Collaborator

@SuGlider SuGlider commented Oct 9, 2024

Description of Change

Uses void uart_internal_loopback(uint8_t uartNum, bool loop_back_en) IDF 5.x API.
Necessary to make it work with ESP32-P4.

In order to make ESP32-P4 UART loopback to work, the UART peripheral bit enables internal UART loop back.
It shall be turned off when the Serial port ends or when the RX or TX pins are detached.

This PR also deals with ESP32-P4 that has 5 UART ports.
There is definition for UART0 and UART1 pins.
Other UART shall have its pins setup in begin().
This PR checks if the pins have been set and issues an error message in case no pins RX/TX are defined.

Tests scenarios

CI and PyTest Scripts

ESP32-P4:

#include "driver/uart.h"

bool loopbackUART1Test() {
  const char *sentMsg = "Testing!";
  Serial1.write(sentMsg, strlen(sentMsg));
  String readMsg = "";
  uint32_t testTimeout_ms = 500;
  uint32_t now_ms = millis();
  while (millis() < now_ms + testTimeout_ms) {
    if (Serial1.available()) {
      readMsg += (char) Serial1.read();
    }
  }
  Serial.printf("Sent[%s] == Received[%s]\r\n", sentMsg, readMsg.c_str());
  return !strcmp(sentMsg, readMsg.c_str());
}

void setup() {
  Serial.begin(115200);  // No error. Using default pins 36 and 37.
  Serial2.begin(115200); // this shall issue an error message and do nothing.

  bool testStatus[3] = { true, true, true };
  const char *testCase[3] = {
    "UART0 Looback function",
    "UART0 end() -> Loopback off",
    "UART0 detach -> Lopback off"
  };
  // Test Case 1: UART Loopback is active
  Serial1.begin(115200); // No error. Using default pins 10 and 11.
  uart_set_loop_back(1, true); // IDF Function - sets loopback on UART 1
  if (!loopbackUART1Test()) {
    testStatus[0] = false;
  }

  // Test Case 2: Serial.end() shall set UART Loopback off
  Serial1.end(); // Shall turn loopback off
  Serial1.begin(115200); // No error. Using default pins 10 and 11.
  if (loopbackUART1Test()) {
    testStatus[1] = false;
  }

  // Test Case 3: UART detach shall set Loopback off
  bool testRMTInit = true;
  uart_set_loop_back(1, true); // IDF Function - sets loopback on UART 1
  if (!rmtInit(RX1, RMT_TX_MODE, RMT_MEM_NUM_BLOCKS_1, 400000)) {  //2.5us tick
    testRMTInit = false;
  }
  if (loopbackUART1Test()) {
    testStatus[2] = false;
  }

  // Reporting
  Serial1.end();
  Serial.println("\r\n================================");
  for (uint8_t i = 0; i < 3; i++) {
    Serial.print(testCase[i]);
    Serial.print(" ==> ");
    Serial.println(testStatus[i] ? "OK" : "FAIL");
  }
  if (testRMTInit) {
    Serial.println("RMT initialization ==> OK");
  } else {
    Serial.println("RMT initialization ==> FAIL");
  }
}

void loop() {
}

Related links

None

Uses void uart_internal_loopback(uint8_t uartNum, bool loop_back_en) IDF 5.x API.
@SuGlider SuGlider self-assigned this Oct 9, 2024
Copy link
Contributor

github-actions bot commented Oct 9, 2024

Warnings
⚠️

Some issues found for the commit messages in this PR:

  • the commit message "fix(ci): cleanup code":
    • summary looks too short
  • the commit message "fix(ci): minimal changes":
    • summary looks too short
  • the commit message "fix(uart): code blocks errors":
    • summary looks too short
  • the commit message "fix(uart): fix example":
    • 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 20 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).

⚠️ Please consider squashing your 32 commits (simplifying branch history).
⚠️
	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!


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 b342545

Uses void uart_internal_loopback(uint8_t uartNum, bool loop_back_en) IDF 5.x API.
Copy link
Contributor

github-actions bot commented Oct 9, 2024

Test Results

 62 files   62 suites   16m 29s ⏱️
 23 tests  12 ✅ 0 💤 11 ❌
139 runs  116 ✅ 0 💤 23 ❌

For more details on these failures, see this check.

Results for commit b342545.

♻️ This comment has been updated with latest results.

Update OnReceiveError_BREAK_Demo.ino to use new API.
Update OnReceive_Demo.ino to se new API.
Update RxFIFOFull_Demo.ino to use new testing API.
Update RxTimeout_Demo.ino to use new testing API.
Update Serial_STD_Func_OnReceive.ino to use new testing API
Update periman.ino  to use new UART loopback test API
Update uart.ino to use newuart loopback API
Update uart.ino - missing change in code
@SuGlider SuGlider added this to the 3.0.5 milestone Oct 9, 2024
@SuGlider SuGlider added the hil_test Run Hardware Tests label Oct 9, 2024
Copy link
Contributor

github-actions bot commented Oct 9, 2024

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
ESP32P4000.000.00000.000.00
ESP32S30‼️ +38K0.00‼️ +7.640‼️ +8K0.00‼️ +27.50
ESP32S20‼️ +19K0.00‼️ +6.440‼️ +8K0.00‼️ +32.43
ESP32C30‼️ +53K0.00‼️ +5.320‼️ +3K0.00‼️ +13.53
ESP32C60‼️ +68K0.00‼️ +7.300‼️ +25K0.00‼️ +129.87
ESP32H20‼️ +30K0.00‼️ +4.920‼️ +22K0.00‼️ +128.25
ESP320‼️ +837K0.00‼️ +293.430‼️ +20K0.00‼️ +101.55
Click to expand the detailed deltas report [usage change in BYTES]
TargetESP32P4ESP32S3ESP32S2ESP32C3ESP32C6ESP32H2ESP32
ExampleFLASHRAMFLASHRAMFLASHRAMFLASHRAMFLASHRAMFLASHRAMFLASHRAM
EEPROM/examples/eeprom_class--‼️ +20K‼️ +2K‼️ +15K⚠️ +1768‼️ +12K⚠️ +1204‼️ +15K⚠️ +1260‼️ +11K⚠️ +1176‼️ +16K⚠️ +988
EEPROM/examples/eeprom_extra--‼️ +20K‼️ +2K‼️ +15K⚠️ +1768‼️ +12K⚠️ +1204‼️ +15K⚠️ +1244‼️ +11K⚠️ +1160‼️ +16K⚠️ +988
EEPROM/examples/eeprom_write--‼️ +20K‼️ +2K‼️ +15K⚠️ +1760‼️ +12K⚠️ +1204‼️ +15K⚠️ +1244‼️ +11K⚠️ +1168‼️ +16K⚠️ +964
ESP32/examples/AnalogOut/LEDCFade--‼️ +21K‼️ +2K‼️ +16K⚠️ +1848‼️ +13K⚠️ +1264‼️ +15K⚠️ +1344‼️ +12K⚠️ +1268‼️ +17K⚠️ +1044
ESP32/examples/AnalogOut/LEDCSingleChannel--‼️ +21K‼️ +2K‼️ +16K⚠️ +1840‼️ +13K⚠️ +1264‼️ +15K⚠️ +1344‼️ +12K⚠️ +1268‼️ +17K⚠️ +1044
ESP32/examples/AnalogOut/LEDCSoftwareFade--‼️ +21K‼️ +2K‼️ +16K⚠️ +1840‼️ +13K⚠️ +1264‼️ +15K⚠️ +1344‼️ +12K⚠️ +1268‼️ +17K⚠️ +1044
ESP32/examples/AnalogOut/SigmaDelta--‼️ +20K‼️ +2K‼️ +15K⚠️ +1760‼️ +12K⚠️ +1212‼️ +14K⚠️ +1268‼️ +11K⚠️ +1176‼️ +16K⚠️ +980
ESP32/examples/AnalogOut/ledcFrequency--‼️ +11K‼️ +2K‼️ +6K⚠️ +1824‼️ +12K⚠️ +1248‼️ +12K⚠️ +1296‼️ +9K⚠️ +1212‼️ +8K⚠️ +1012
ESP32/examples/AnalogOut/ledcWrite_RGB--‼️ +21K‼️ +2K‼️ +16K⚠️ +1848‼️ +13K⚠️ +1272‼️ +15K⚠️ +1344‼️ +12K⚠️ +1260‼️ +17K⚠️ +1052
ESP32/examples/AnalogRead--‼️ +20K‼️ +2K‼️ +15K⚠️ +1776‼️ +12K⚠️ +1196‼️ +12K⚠️ +1244‼️ +10K⚠️ +1176‼️ +16K⚠️ +980
ESP32/examples/AnalogReadContinuous--‼️ +21K‼️ +2K‼️ +15K⚠️ +1648‼️ +13K⚠️ +1196‼️ +15K⚠️ +1244‼️ +12K⚠️ +1184‼️ +16K⚠️ +980
ESP32/examples/ArduinoStackSize--‼️ +20K‼️ +2K‼️ +15K⚠️ +1776‼️ +12K⚠️ +1204‼️ +14K⚠️ +1260‼️ +11K⚠️ +1168‼️ +16K⚠️ +980
ESP32/examples/CI/CIBoardsTest--‼️ +20K⚠️ +1872‼️ +14K⚠️ +1524‼️ +14K⚠️ +1648‼️ +15K⚠️ +1696‼️ +12K⚠️ +1620‼️ +15K⚠️ +964
ESP32/examples/ChipID/GetChipID--‼️ +20K‼️ +2K‼️ +15K⚠️ +1776‼️ +12K⚠️ +1192‼️ +15K⚠️ +1268‼️ +11K⚠️ +1176‼️ +16K⚠️ +988
ESP32/examples/DeepSleep/TimerWakeUp--‼️ +20K‼️ +2K‼️ +15K⚠️ +1760‼️ +12K⚠️ +1192‼️ +14K⚠️ +1288--‼️ +16K⚠️ +964
ESP32/examples/DeepSleep/TouchWakeUp--‼️ +18K⚠️ +1740‼️ +13K⚠️ +1456------‼️ +16K⚠️ +972
ESP32/examples/FreeRTOS/BasicMultiThreading--‼️ +21K⚠️ +1904‼️ +15K⚠️ +1524‼️ +13K⚠️ +1648‼️ +13K⚠️ +1664‼️ +10K⚠️ +1588‼️ +16K⚠️ +988
ESP32/examples/FreeRTOS/Mutex--‼️ +20K‼️ +2K‼️ +15K⚠️ +1760‼️ +12K⚠️ +1212‼️ +14K⚠️ +1260‼️ +11K⚠️ +1160‼️ +16K⚠️ +972
ESP32/examples/FreeRTOS/Queue--‼️ +20K‼️ +2K‼️ +15K⚠️ +1776‼️ +12K⚠️ +1212‼️ +14K⚠️ +1260‼️ +11K⚠️ +1160‼️ +16K⚠️ +988
ESP32/examples/FreeRTOS/Semaphore--‼️ +20K‼️ +2K‼️ +15K⚠️ +1776‼️ +12K⚠️ +1212‼️ +14K⚠️ +1260‼️ +11K⚠️ +1160‼️ +16K⚠️ +988
ESP32/examples/GPIO/BlinkRGB--‼️ +20K⚠️ +1888‼️ +14K⚠️ +1524‼️ +12K⚠️ +1632‼️ +14K⚠️ +1688‼️ +11K⚠️ +1612‼️ +16K⚠️ +980
ESP32/examples/GPIO/FunctionalInterrupt--‼️ +18K⚠️ +1756‼️ +13K⚠️ +1472‼️ +10K⚠️ +912‼️ +13K⚠️ +928‼️ +10K⚠️ +868‼️ +16K⚠️ +988
ESP32/examples/GPIO/FunctionalInterruptStruct--‼️ +19K⚠️ +1740‼️ +14K⚠️ +1456‼️ +10K⚠️ +912‼️ +13K⚠️ +944‼️ +10K⚠️ +884‼️ +16K⚠️ +988
ESP32/examples/GPIO/GPIOInterrupt--‼️ +19K⚠️ +1732‼️ +14K⚠️ +1456‼️ +10K⚠️ +904‼️ +13K⚠️ +944‼️ +10K⚠️ +884‼️ +16K⚠️ +980
ESP32/examples/HWCDC_Events--‼️ +20K⚠️ +1644--‼️ +13K⚠️ +1624‼️ +15K⚠️ +1672‼️ +12K⚠️ +1604--
ESP32/examples/MacAddress/GetMacAddress--‼️ +20K‼️ +2K‼️ +15K⚠️ +1776‼️ +12K⚠️ +1192‼️ +14K⚠️ +1260‼️ +11K⚠️ +1168‼️ +16K⚠️ +972
ESP32/examples/RMT/Legacy_RMT_Driver_Compatible--‼️ +20K⚠️ +2044‼️ +15K⚠️ +1764‼️ +13K⚠️ +1204‼️ +15K⚠️ +1260‼️ +11K⚠️ +1168‼️ +16K⚠️ +964
ESP32/examples/RMT/RMTCallback--‼️ +21K⚠️ +1872‼️ +15K⚠️ +1500‼️ +13K⚠️ +1636‼️ +15K⚠️ +1692‼️ +12K⚠️ +1608‼️ +18K⚠️ +1300
ESP32/examples/RMT/RMTLoopback--‼️ +21K⚠️ +1872‼️ +15K⚠️ +1500‼️ +13K⚠️ +1636‼️ +15K⚠️ +1692‼️ +12K⚠️ +1608‼️ +18K⚠️ +1300
ESP32/examples/RMT/RMTReadXJT--‼️ +21K⚠️ +1872‼️ +15K⚠️ +1500‼️ +13K⚠️ +1652‼️ +15K⚠️ +1692‼️ +12K⚠️ +1608‼️ +18K⚠️ +1284
ESP32/examples/RMT/RMTWrite_RGB_LED--‼️ +21K⚠️ +1872‼️ +15K⚠️ +1500‼️ +13K⚠️ +1628‼️ +15K⚠️ +1684‼️ +12K⚠️ +1616‼️ +17K⚠️ +1300
ESP32/examples/RMT/RMT_CPUFreq_Test--‼️ +21K⚠️ +1872‼️ +15K⚠️ +1508‼️ +13K⚠️ +1628‼️ +15K⚠️ +1692‼️ +12K⚠️ +1608‼️ +17K⚠️ +1300
ESP32/examples/RMT/RMT_EndOfTransmissionState--‼️ +21K⚠️ +1872‼️ +15K⚠️ +1500‼️ +13K⚠️ +1628‼️ +15K⚠️ +1692‼️ +12K⚠️ +1616‼️ +17K⚠️ +1284
ESP32/examples/RMT/RMT_LED_Blink--‼️ +21K⚠️ +1872‼️ +15K⚠️ +1500‼️ +13K⚠️ +1628‼️ +15K⚠️ +1692‼️ +12K⚠️ +1616‼️ +17K⚠️ +1300
ESP32/examples/ResetReason/ResetReason--‼️ +20K‼️ +2K‼️ +15K⚠️ +1760‼️ +12K⚠️ +1192‼️ +14K⚠️ +1288‼️ +11K⚠️ +1168‼️ +16K⚠️ +964
ESP32/examples/ResetReason/ResetReason2--‼️ +20K‼️ +2K‼️ +15K⚠️ +1768‼️ +12K⚠️ +1196‼️ +14K⚠️ +1268‼️ +11K⚠️ +1176‼️ +16K⚠️ +996
ESP32/examples/Serial/BaudRateDetect_Demo--‼️ +20K‼️ +2K‼️ +15K⚠️ +1776‼️ +12K⚠️ +1204‼️ +14K⚠️ +1260‼️ +11K⚠️ +1168‼️ +16K⚠️ +980
ESP32/examples/Serial/OnReceiveError_BREAK_Demo--‼️ +20K‼️ +2K‼️ +15K⚠️ +1776‼️ +12K⚠️ +1204‼️ +14K⚠️ +1260‼️ +11K⚠️ +1176‼️ +16K⚠️ +980
ESP32/examples/Serial/OnReceive_Demo--‼️ +20K‼️ +2K‼️ +15K⚠️ +1760‼️ +12K⚠️ +1204‼️ +14K⚠️ +1260‼️ +11K⚠️ +1176‼️ +16K⚠️ +964
ESP32/examples/Serial/RS485_Echo_Demo--‼️ +20K‼️ +2K‼️ +15K⚠️ +1776‼️ +12K⚠️ +1204‼️ +15K⚠️ +1260‼️ +11K⚠️ +1168‼️ +16K⚠️ +980
ESP32/examples/Serial/RxFIFOFull_Demo--‼️ +20K‼️ +2K‼️ +15K⚠️ +1760‼️ +12K⚠️ +1204‼️ +14K⚠️ +1260‼️ +11K⚠️ +1176‼️ +16K⚠️ +964
ESP32/examples/Serial/RxTimeout_Demo--‼️ +20K‼️ +2K‼️ +15K⚠️ +1760‼️ +12K⚠️ +1204‼️ +14K⚠️ +1260‼️ +11K⚠️ +1168‼️ +16K⚠️ +964
ESP32/examples/Serial/Serial_All_CPU_Freqs--‼️ +20K‼️ +2K‼️ +15K⚠️ +1760‼️ +12K⚠️ +1204‼️ +14K⚠️ +1268‼️ +11K⚠️ +1168‼️ +16K⚠️ +964
ESP32/examples/Serial/Serial_STD_Func_OnReceive--‼️ +20K‼️ +2K‼️ +15K⚠️ +1760‼️ +12K⚠️ +1204‼️ +14K⚠️ +1260‼️ +11K⚠️ +1176‼️ +16K⚠️ +964
ESP32/examples/Serial/onReceiveExample--‼️ +20K‼️ +2K‼️ +15K⚠️ +1776‼️ +12K⚠️ +1204‼️ +14K⚠️ +1260‼️ +11K⚠️ +1168‼️ +16K⚠️ +980
ESP32/examples/TWAI/TWAIreceive--‼️ +20K⚠️ +2044‼️ +15K⚠️ +1760‼️ +12K⚠️ +1196‼️ +14K⚠️ +1252‼️ +11K⚠️ +1176‼️ +16K⚠️ +924
ESP32/examples/TWAI/TWAItransmit--‼️ +20K‼️ +2K‼️ +15K⚠️ +1760‼️ +12K⚠️ +1188‼️ +14K⚠️ +1252‼️ +11K⚠️ +1176‼️ +16K⚠️ +916
ESP32/examples/Template/ExampleTemplate--‼️ +20K‼️ +2K‼️ +15K⚠️ +1768‼️ +12K⚠️ +1212‼️ +14K⚠️ +1260‼️ +11K⚠️ +1168‼️ +16K⚠️ +980
ESP32/examples/Timer/RepeatTimer--‼️ +19K⚠️ +1740‼️ +14K⚠️ +1456‼️ +11K⚠️ +912‼️ +13K⚠️ +936‼️ +10K⚠️ +868‼️ +17K⚠️ +980
ESP32/examples/Timer/WatchdogTimer--‼️ +19K⚠️ +1756‼️ +14K⚠️ +1472‼️ +11K⚠️ +912‼️ +13K⚠️ +936‼️ +10K⚠️ +876‼️ +17K⚠️ +980
ESP32/examples/Touch/TouchInterrupt--‼️ +19K⚠️ +1740‼️ +14K⚠️ +1456------‼️ +16K⚠️ +988
ESP32/examples/Touch/TouchRead--‼️ +19K⚠️ +1740‼️ +14K⚠️ +1456------‼️ +16K⚠️ +980
ESP32/examples/Utilities/HEXBuilder--‼️ +20K‼️ +2K‼️ +15K⚠️ +1776‼️ +12K⚠️ +1204‼️ +14K⚠️ +1260‼️ +11K⚠️ +1168‼️ +16K⚠️ +980
ESP32/examples/Utilities/MD5Builder--‼️ +20K‼️ +2K‼️ +15K⚠️ +1776‼️ +12K⚠️ +1204‼️ +14K⚠️ +1260‼️ +11K⚠️ +1168‼️ +16K⚠️ +980
ESP32/examples/Utilities/SHA1Builder--‼️ +20K‼️ +2K‼️ +15K⚠️ +1776‼️ +12K⚠️ +1204‼️ +14K⚠️ +1260‼️ +11K⚠️ +1168‼️ +16K⚠️ +980
ESP_I2S/examples/ES8388_loopback--‼️ +22K⚠️ +1872‼️ +15K⚠️ +1508‼️ +15K⚠️ +1648‼️ +16K⚠️ +1696‼️ +13K⚠️ +1620‼️ +18K⚠️ +1100
ESP_I2S/examples/Record_to_WAV--‼️ +24K‼️ +2K--------‼️ +20K⚠️ +1124
ESP_I2S/examples/Simple_tone--‼️ +22K‼️ +2K‼️ +16K⚠️ +1760‼️ +14K⚠️ +1204‼️ +16K⚠️ +1244‼️ +12K⚠️ +1160‼️ +19K⚠️ +1092
Ethernet/examples/ETH_TLK110------------‼️ +13K⚠️ +1188
Ethernet/examples/ETH_W5500_Arduino_SPI--‼️ +15K⚠️ +2024‼️ +12K⚠️ +1700‼️ +18K⚠️ +1780‼️ +20K‼️ +22K‼️ +12K‼️ +22K‼️ +10K⚠️ +1124
Ethernet/examples/ETH_W5500_IDF_SPI--‼️ +15K⚠️ +1992‼️ +12K⚠️ +1652‼️ +18K⚠️ +1780‼️ +20K‼️ +22K‼️ +12K‼️ +22K‼️ +9K⚠️ +1060
FFat/examples/FFat_Test--‼️ +19K‼️ +2K‼️ +14K⚠️ +1776‼️ +12K⚠️ +1212‼️ +13K⚠️ +1212‼️ +9K⚠️ +1120‼️ +15K⚠️ +972
LittleFS/examples/LITTLEFS_test--‼️ +19K‼️ +2K‼️ +14K⚠️ +1752‼️ +11K⚠️ +1220‼️ +12K⚠️ +1212‼️ +9K⚠️ +1120‼️ +16K⚠️ +972
PPP/examples/PPP_Basic--‼️ +14K⚠️ +2040‼️ +7K⚠️ +1660‼️ +13K⚠️ +1816‼️ +17K‼️ +22K‼️ +9K‼️ +22K‼️ +9K⚠️ +1108
Preferences/examples/Prefs2Struct--‼️ +20K‼️ +2K‼️ +15K⚠️ +1776‼️ +12K⚠️ +1212‼️ +15K⚠️ +1260‼️ +11K⚠️ +1168‼️ +16K⚠️ +980
Preferences/examples/StartCounter--‼️ +20K‼️ +2K‼️ +15K⚠️ +1768‼️ +12K⚠️ +1204‼️ +15K⚠️ +1260‼️ +11K⚠️ +1176‼️ +17K⚠️ +988
SD/examples/SD_Test--‼️ +19K⚠️ +1888‼️ +13K⚠️ +1524‼️ +12K⚠️ +1636‼️ +13K⚠️ +1628‼️ +10K⚠️ +1560‼️ +14K⚠️ +996
SD_MMC/examples/SD2USBMSC--‼️ +24K‼️ +8K----------
SD_MMC/examples/SDMMC_Test--‼️ +23K‼️ +2K--------‼️ +18K⚠️ +988
SPI/examples/SPI_Multiple_Buses--‼️ +20K⚠️ +1888‼️ +14K⚠️ +1524‼️ +12K⚠️ +1632‼️ +14K⚠️ +1688‼️ +11K⚠️ +1604‼️ +15K⚠️ +980
SPIFFS/examples/SPIFFS_Test--‼️ +19K‼️ +2K‼️ +14K⚠️ +1776‼️ +11K⚠️ +1220‼️ +12K⚠️ +1220‼️ +9K⚠️ +1120‼️ +16K⚠️ +996
TFLiteMicro/examples/hello_world--‼️ +20K‼️ +2K‼️ +15K⚠️ +1760‼️ +13K⚠️ +1196‼️ +15K⚠️ +1404‼️ +12K⚠️ +1312‼️ +16K⚠️ +1124
Ticker/examples/Blinker--‼️ +20K⚠️ +1872‼️ +16K⚠️ +1556‼️ +12K⚠️ +1624‼️ +14K⚠️ +1680‼️ +11K⚠️ +1588‼️ +16K⚠️ +964
Ticker/examples/TickerBasic--‼️ +20K⚠️ +1872‼️ +17K⚠️ +1572‼️ +12K⚠️ +1648‼️ +14K⚠️ +1680‼️ +11K⚠️ +1604‼️ +16K⚠️ +964
Ticker/examples/TickerParameter--‼️ +20K⚠️ +1864‼️ +16K⚠️ +1572‼️ +12K⚠️ +1632‼️ +14K⚠️ +1672‼️ +11K⚠️ +1596‼️ +16K⚠️ +964
USB/examples/CompositeDevice--‼️ +21K‼️ +8K‼️ +13K‼️ +8K--------
USB/examples/ConsumerControl--‼️ +21K‼️ +8K‼️ +14K‼️ +8K--------
USB/examples/CustomHIDDevice--‼️ +22K‼️ +8K‼️ +14K‼️ +8K--------
USB/examples/FirmwareMSC--‼️ +21K‼️ +8K‼️ +15K‼️ +8K--------
USB/examples/Gamepad--‼️ +22K‼️ +8K‼️ +14K‼️ +8K--------
USB/examples/HIDVendor--‼️ +22K‼️ +8K‼️ +14K‼️ +8K--------
USB/examples/Keyboard/KeyboardLogout--‼️ +21K‼️ +8K‼️ +14K‼️ +8K--------
USB/examples/Keyboard/KeyboardMessage--‼️ +21K‼️ +8K‼️ +14K‼️ +8K--------
USB/examples/Keyboard/KeyboardReprogram--‼️ +21K‼️ +8K‼️ +14K‼️ +8K--------
USB/examples/Keyboard/KeyboardSerial--‼️ +22K‼️ +8K‼️ +16K‼️ +8K--------
USB/examples/KeyboardAndMouseControl--‼️ +22K‼️ +8K‼️ +14K‼️ +8K--------
USB/examples/MIDI/MidiController--‼️ +22K‼️ +8K‼️ +15K‼️ +8K--------
USB/examples/MIDI/MidiInterface--‼️ +22K‼️ +8K‼️ +16K‼️ +8K--------
USB/examples/MIDI/MidiMusicBox--‼️ +22K‼️ +8K‼️ +14K‼️ +8K--------
USB/examples/MIDI/ReceiveMidi--‼️ +22K‼️ +8K‼️ +16K‼️ +8K--------
USB/examples/Mouse/ButtonMouseControl--‼️ +21K‼️ +8K‼️ +14K‼️ +8K--------
USB/examples/SystemControl--‼️ +21K‼️ +8K‼️ +14K‼️ +8K--------
USB/examples/USBMSC--‼️ +21K‼️ +8K‼️ +16K‼️ +8K--------
USB/examples/USBSerial--‼️ +22K‼️ +8K‼️ +16K‼️ +8K--------
USB/examples/USBVendor--‼️ +22K‼️ +8K‼️ +14K‼️ +8K--------
Update/examples/SD_Update--‼️ +19K⚠️ +1896‼️ +13K⚠️ +1524‼️ +12K⚠️ +1644‼️ +13K⚠️ +1644‼️ +10K⚠️ +1584‼️ +14K⚠️ +972
Wire/examples/WireMaster--‼️ +20K‼️ +2K‼️ +15K⚠️ +1768‼️ +13K⚠️ +1216‼️ +15K⚠️ +1256‼️ +11K⚠️ +1180‼️ +16K⚠️ +964
Wire/examples/WireScan--‼️ +20K‼️ +2K‼️ +15K⚠️ +1768‼️ +13K⚠️ +1208‼️ +15K⚠️ +1248‼️ +11K⚠️ +1180‼️ +16K⚠️ +964
Wire/examples/WireSlave--‼️ +20K‼️ +2K‼️ +15K⚠️ +1768‼️ +13K⚠️ +1216‼️ +15K⚠️ +1256‼️ +11K⚠️ +1180‼️ +16K⚠️ +964
ArduinoOTA/examples/BasicOTA--‼️ +19K‼️ +3K‼️ +14K‼️ +2K‼️ +22K‼️ +2K‼️ +42K‼️ +25K--‼️ +18K⚠️ +1784
AsyncUDP/examples/AsyncUDPClient--‼️ +20K‼️ +3K‼️ +16K‼️ +3K‼️ +22K⚠️ +2040‼️ +38K‼️ +3K--‼️ +19K⚠️ +1808
AsyncUDP/examples/AsyncUDPMulticastServer--‼️ +20K‼️ +3K‼️ +16K‼️ +3K‼️ +22K⚠️ +2040‼️ +38K‼️ +3K--‼️ +19K⚠️ +1808
AsyncUDP/examples/AsyncUDPServer--‼️ +20K‼️ +3K‼️ +16K‼️ +3K‼️ +22K⚠️ +2040‼️ +38K‼️ +3K--‼️ +19K⚠️ +1808
BLE/examples/BLE5_extended_scan--‼️ +27K‼️ +3K--‼️ +32K‼️ +2K‼️ +31K‼️ +2K‼️ +28K‼️ +2K--
BLE/examples/BLE5_multi_advertising--‼️ +27K‼️ +3K--‼️ +32K‼️ +2K‼️ +31K‼️ +2K‼️ +28K‼️ +2K--
BLE/examples/BLE5_periodic_advertising--‼️ +27K‼️ +3K--‼️ +32K‼️ +2K‼️ +31K‼️ +2K‼️ +28K‼️ +2K--
BLE/examples/BLE5_periodic_sync--‼️ +28K‼️ +3K--‼️ +32K‼️ +2K‼️ +31K‼️ +2K‼️ +28K‼️ +2K--
BLE/examples/Beacon_Scanner--‼️ +27K‼️ +3K--‼️ +32K‼️ +2K‼️ +31K‼️ +2K‼️ +27K‼️ +2K‼️ +29K⚠️ +1616
BLE/examples/Client--‼️ +27K‼️ +3K--‼️ +30K‼️ +2K‼️ +30K‼️ +2K‼️ +26K‼️ +2K‼️ +29K⚠️ +1632
BLE/examples/EddystoneTLM_Beacon--‼️ +27K‼️ +3K--‼️ +32K‼️ +2K‼️ +31K‼️ +2K‼️ +27K‼️ +2K‼️ +29K⚠️ +1600
BLE/examples/EddystoneURL_Beacon--‼️ +27K‼️ +3K--‼️ +32K‼️ +2K‼️ +31K‼️ +2K‼️ +27K‼️ +2K‼️ +29K⚠️ +1616
BLE/examples/Notify--‼️ +28K‼️ +3K--‼️ +31K‼️ +2K‼️ +31K‼️ +2K‼️ +27K‼️ +2K‼️ +30K⚠️ +1616
BLE/examples/Scan--‼️ +28K‼️ +3K--‼️ +32K‼️ +2K‼️ +31K‼️ +2K‼️ +28K‼️ +2K‼️ +29K⚠️ +1616
BLE/examples/Server--‼️ +28K‼️ +3K--‼️ +31K‼️ +2K‼️ +31K‼️ +2K‼️ +27K‼️ +2K‼️ +29K⚠️ +1616
BLE/examples/Server_multiconnect--‼️ +28K‼️ +3K--‼️ +31K‼️ +2K‼️ +31K‼️ +2K‼️ +27K‼️ +2K‼️ +30K⚠️ +1616
BLE/examples/UART--‼️ +28K‼️ +3K--‼️ +31K‼️ +2K‼️ +31K‼️ +2K‼️ +27K‼️ +2K‼️ +30K⚠️ +1616
BLE/examples/Write--‼️ +28K‼️ +3K--‼️ +31K‼️ +2K‼️ +31K‼️ +2K‼️ +27K‼️ +2K‼️ +30K⚠️ +1616
BLE/examples/iBeacon--‼️ +28K‼️ +3K--‼️ +31K‼️ +2K‼️ +30K‼️ +2K‼️ +27K‼️ +2K‼️ +30K⚠️ +1616
DNSServer/examples/CaptivePortal--‼️ +20K‼️ +3K‼️ +17K‼️ +3K‼️ +21K⚠️ +2040‼️ +41K‼️ +24K--‼️ +20K⚠️ +1792
ESP32/examples/Camera/CameraWebServer--‼️ +21K‼️ +3K‼️ +16K‼️ +2K------‼️ +29K⚠️ +1920
ESP32/examples/DeepSleep/ExternalWakeUp--‼️ +20K‼️ +2K‼️ +15K⚠️ +1760------‼️ +16K⚠️ +964
ESP32/examples/Time/SimpleTime--‼️ +19K‼️ +3K‼️ +15K‼️ +3K‼️ +23K‼️ +2K‼️ +42K‼️ +24K--‼️ +18K⚠️ +1800
ESP_NOW/examples/ESP_NOW_Broadcast_Master--‼️ +19K‼️ +3K‼️ +16K‼️ +3K‼️ +22K‼️ +2048‼️ +38K‼️ +3K--‼️ +19K⚠️ +1776
ESP_NOW/examples/ESP_NOW_Broadcast_Slave--‼️ +19K‼️ +3K‼️ +16K‼️ +3K‼️ +22K‼️ +2048‼️ +38K‼️ +3K--‼️ +19K⚠️ +1784
ESP_NOW/examples/ESP_NOW_Network--‼️ +19K‼️ +3K‼️ +16K‼️ +3K‼️ +22K‼️ +2048‼️ +38K‼️ +3K--‼️ +19K⚠️ +1784
ESP_NOW/examples/ESP_NOW_Serial--‼️ +19K‼️ +3K‼️ +16K‼️ +3K‼️ +22K‼️ +2K‼️ +39K‼️ +3K--‼️ +19K⚠️ +1760
ESP_SR/examples/Basic--‼️ +19K⚠️ +1660----------
ESPmDNS/examples/mDNS-SD_Extended--‼️ +18K‼️ +3K‼️ +14K‼️ +3K‼️ +22K⚠️ +2040‼️ +38K‼️ +3K--‼️ +18K⚠️ +1808
ESPmDNS/examples/mDNS_Web_Server--‼️ +19K‼️ +3K‼️ +15K‼️ +3K‼️ +22K⚠️ +2040‼️ +42K‼️ +24K--‼️ +18K⚠️ +1808
Ethernet/examples/ETH_WIFI_BRIDGE--‼️ +21K‼️ +3K‼️ +17K‼️ +2K‼️ +24K‼️ +2K‼️ +39K‼️ +4K--‼️ +19K⚠️ +1800
FFat/examples/FFat_time--‼️ +19K‼️ +3K‼️ +15K‼️ +3K‼️ +22K‼️ +2048‼️ +42K‼️ +24K--‼️ +18K⚠️ +1764
HTTPClient/examples/Authorization--‼️ +22K‼️ +3K‼️ +18K‼️ +3K‼️ +25K⚠️ +2032‼️ +41K‼️ +24K--‼️ +21K⚠️ +1788
HTTPClient/examples/BasicHttpClient--‼️ +22K‼️ +3K‼️ +18K‼️ +3K‼️ +25K⚠️ +2032‼️ +41K‼️ +24K--‼️ +21K⚠️ +1788
HTTPClient/examples/BasicHttpsClient--‼️ +22K‼️ +3K‼️ +18K‼️ +3K‼️ +25K⚠️ +2040‼️ +41K‼️ +24K--‼️ +21K⚠️ +1780
HTTPClient/examples/HTTPClientEnterprise--‼️ +23K‼️ +3K‼️ +19K‼️ +3K‼️ +27K⚠️ +2016‼️ +42K‼️ +24K--‼️ +22K⚠️ +1788
HTTPClient/examples/ReuseConnection--‼️ +22K‼️ +3K‼️ +18K‼️ +3K‼️ +25K⚠️ +2032‼️ +41K‼️ +24K--‼️ +21K⚠️ +1788
HTTPClient/examples/StreamHttpClient--‼️ +22K‼️ +3K‼️ +18K‼️ +3K‼️ +25K⚠️ +2032‼️ +41K‼️ +24K--‼️ +21K⚠️ +1788
HTTPUpdate/examples/httpUpdate--‼️ +19K‼️ +3K‼️ +15K‼️ +2K‼️ +21K‼️ +2K‼️ +42K‼️ +25K--‼️ +19K⚠️ +1908
HTTPUpdate/examples/httpUpdateSPIFFS--‼️ +20K‼️ +3K‼️ +15K‼️ +2K‼️ +21K‼️ +2K‼️ +42K‼️ +25K--‼️ +19K⚠️ +1908
HTTPUpdate/examples/httpUpdateSecure--‼️ +22K‼️ +3K‼️ +17K‼️ +2K‼️ +25K‼️ +2K‼️ +42K‼️ +25K--‼️ +21K⚠️ +1932
HTTPUpdateServer/examples/WebUpdater--‼️ +19K‼️ +3K‼️ +14K‼️ +2K‼️ +20K‼️ +2K‼️ +39K‼️ +24K--‼️ +18K⚠️ +1792
Insights/examples/DiagnosticsSmokeTest--‼️ +19K‼️ +2K‼️ +15K‼️ +2K‼️ +25K⚠️ +1576‼️ +40K‼️ +24K--‼️ +19K⚠️ +1304
Insights/examples/MinimalDiagnostics--‼️ +19K‼️ +2K‼️ +15K‼️ +2K‼️ +25K⚠️ +1568‼️ +40K‼️ +24K--‼️ +19K⚠️ +1296
LittleFS/examples/LITTLEFS_time--‼️ +18K‼️ +3K‼️ +14K‼️ +3K‼️ +21K‼️ +2048‼️ +41K‼️ +24K--‼️ +17K⚠️ +1772
Matter/examples/MatterCommissionTest--------------
Matter/examples/MatterComposedLights--------------
Matter/examples/MatterOnOffLight--------------
NetBIOS/examples/ESP_NBNST--‼️ +19K‼️ +3K‼️ +16K‼️ +3K‼️ +22K⚠️ +2040‼️ +38K‼️ +3K--‼️ +19K⚠️ +1808
NetworkClientSecure/examples/WiFiClientInsecure--‼️ +22K‼️ +3K‼️ +18K‼️ +3K‼️ +27K‼️ +2048‼️ +42K‼️ +24K--‼️ +22K⚠️ +1792
NetworkClientSecure/examples/WiFiClientPSK--‼️ +22K‼️ +3K‼️ +18K‼️ +3K‼️ +27K‼️ +2048‼️ +42K‼️ +24K--‼️ +22K⚠️ +1808
NetworkClientSecure/examples/WiFiClientSecure--‼️ +22K‼️ +3K‼️ +18K‼️ +3K‼️ +27K‼️ +2048‼️ +42K‼️ +24K--‼️ +22K⚠️ +1808
NetworkClientSecure/examples/WiFiClientSecureEnterprise--‼️ +23K‼️ +3K‼️ +19K‼️ +3K‼️ +28K⚠️ +2024‼️ +43K‼️ +24K--‼️ +23K⚠️ +1800
NetworkClientSecure/examples/WiFiClientSecureProtocolUpgrade--‼️ +22K‼️ +3K‼️ +18K‼️ +3K‼️ +27K‼️ +2048‼️ +42K‼️ +24K--‼️ +22K⚠️ +1792
NetworkClientSecure/examples/WiFiClientShowPeerCredentials--‼️ +22K‼️ +3K‼️ +18K‼️ +3K‼️ +26K⚠️ +2024‼️ +41K‼️ +24K--‼️ +22K⚠️ +1780
NetworkClientSecure/examples/WiFiClientTrustOnFirstUse--‼️ +20K‼️ +3K‼️ +16K‼️ +2K‼️ +25K⚠️ +1728‼️ +41K‼️ +24K--‼️ +22K⚠️ +1800
PPP/examples/PPP_WIFI_BRIDGE--‼️ +19K‼️ +3K‼️ +14K‼️ +2K‼️ +19K‼️ +2K‼️ +36K‼️ +4K--‼️ +18K⚠️ +1792
RainMaker/examples/RMakerCustom--‼️ +30K⚠️ +1868‼️ +10K⚠️ +492‼️ +53K‼️ +3K‼️ +67K‼️ +25K--‼️ +28K⚠️ +216
RainMaker/examples/RMakerCustomAirCooler--‼️ +31K⚠️ +1940‼️ +11K⚠️ +564‼️ +53K‼️ +3K‼️ +68K‼️ +25K--‼️ +29K⚠️ +320
RainMaker/examples/RMakerSonoffDualR3--‼️ +30K⚠️ +1852‼️ +10K⚠️ +508‼️ +53K‼️ +3K‼️ +67K‼️ +25K--‼️ +28K⚠️ +240
RainMaker/examples/RMakerSwitch--‼️ +38K‼️ +3K‼️ +19K⚠️ +1804‼️ +53K‼️ +3K‼️ +67K‼️ +25K--‼️ +37K⚠️ +1536
SD/examples/SD_time--‼️ +18K‼️ +3K‼️ +13K‼️ +2K‼️ +22K‼️ +2K‼️ +42K‼️ +25K--‼️ +17K⚠️ +1788
SD_MMC/examples/SDMMC_time--‼️ +18K‼️ +3K--------‼️ +19K⚠️ +1756
SPIFFS/examples/SPIFFS_time--‼️ +18K‼️ +3K‼️ +14K‼️ +3K‼️ +21K‼️ +2048‼️ +41K‼️ +24K--‼️ +17K⚠️ +1780
SimpleBLE/examples/SimpleBleDevice--‼️ +34K‼️ +3K--‼️ +32K⚠️ +1936‼️ +33K⚠️ +2012‼️ +30K⚠️ +1928‼️ +37K⚠️ +1640
Update/examples/AWS_S3_OTA_Update--‼️ +20K‼️ +3K‼️ +15K‼️ +2K‼️ +22K‼️ +2K‼️ +42K‼️ +24K--‼️ +19K⚠️ +1784
Update/examples/HTTPS_OTA_Update--‼️ +19K‼️ +3K‼️ +15K‼️ +2K‼️ +25K⚠️ +1728‼️ +40K‼️ +24K--‼️ +20K⚠️ +1792
Update/examples/HTTP_Client_AES_OTA_Update--‼️ +19K‼️ +3K‼️ +15K‼️ +2K‼️ +21K‼️ +2K‼️ +41K‼️ +25K--‼️ +19K⚠️ +1780
Update/examples/HTTP_Server_AES_OTA_Update--‼️ +19K‼️ +3K‼️ +14K‼️ +2K‼️ +20K‼️ +2K‼️ +40K‼️ +24K--‼️ +18K⚠️ +1792
Update/examples/OTAWebUpdater--‼️ +19K‼️ +3K‼️ +15K‼️ +2K‼️ +21K‼️ +2K‼️ +41K‼️ +25K--‼️ +18K⚠️ +1768
WebServer/examples/AdvancedWebServer--‼️ +19K‼️ +3K‼️ +15K‼️ +2K‼️ +21K‼️ +2K‼️ +41K‼️ +25K--‼️ +18K⚠️ +1792
WebServer/examples/FSBrowser--‼️ +18K‼️ +3K‼️ +15K‼️ +3K‼️ +19K⚠️ +2040‼️ +37K‼️ +24K--‼️ +18K⚠️ +1816
WebServer/examples/Filters--‼️ +19K‼️ +3K‼️ +15K‼️ +2K‼️ +21K‼️ +2K‼️ +41K‼️ +25K--‼️ +18K⚠️ +1792
WebServer/examples/HelloServer--‼️ +19K‼️ +3K‼️ +15K‼️ +2K‼️ +21K‼️ +2K‼️ +41K‼️ +25K--‼️ +18K⚠️ +1792
WebServer/examples/HttpAdvancedAuth--‼️ +19K‼️ +3K‼️ +15K‼️ +2K‼️ +20K‼️ +2K‼️ +40K‼️ +24K--‼️ +19K⚠️ +1784
WebServer/examples/HttpAuthCallback--‼️ +19K‼️ +3K‼️ +15K‼️ +2K‼️ +20K‼️ +2K‼️ +40K‼️ +24K--‼️ +19K⚠️ +1784
WebServer/examples/HttpAuthCallbackInline--‼️ +19K‼️ +3K‼️ +15K‼️ +2K‼️ +20K‼️ +2K‼️ +40K‼️ +24K--‼️ +19K⚠️ +1784
WebServer/examples/HttpBasicAuth--‼️ +19K‼️ +3K‼️ +15K‼️ +2K‼️ +20K‼️ +2K‼️ +40K‼️ +24K--‼️ +19K⚠️ +1784
WebServer/examples/HttpBasicAuthSHA1--‼️ +19K‼️ +3K‼️ +15K‼️ +2K‼️ +20K‼️ +2K‼️ +40K‼️ +24K--‼️ +19K⚠️ +1784
WebServer/examples/HttpBasicAuthSHA1orBearerToken--‼️ +19K‼️ +3K‼️ +15K‼️ +2K‼️ +20K‼️ +2K‼️ +40K‼️ +25K--‼️ +19K⚠️ +1792
WebServer/examples/MultiHomedServers--‼️ +19K‼️ +3K‼️ +15K‼️ +2K‼️ +21K‼️ +2K‼️ +41K‼️ +25K--‼️ +18K⚠️ +1792
WebServer/examples/PathArgServer--‼️ +16K‼️ +3K‼️ +12K‼️ +3K‼️ +12K‼️ +2048‼️ +33K‼️ +24K--‼️ +15K⚠️ +1960
WebServer/examples/SDWebServer--‼️ +17K‼️ +3K‼️ +12K‼️ +2K‼️ +20K‼️ +2K‼️ +40K‼️ +24K--‼️ +16K⚠️ +1768
WebServer/examples/SimpleAuthentification--‼️ +20K‼️ +3K‼️ +17K‼️ +3K‼️ +21K⚠️ +2040‼️ +40K‼️ +24K--‼️ +20K⚠️ +1808
WebServer/examples/UploadHugeFile--‼️ +16K‼️ +3K‼️ +11K‼️ +2K‼️ +12K‼️ +2K‼️ +33K‼️ +25K--‼️ +15K⚠️ +1960
WebServer/examples/WebServer--‼️ +19K‼️ +3K‼️ +15K‼️ +3K‼️ +20K‼️ +2048‼️ +40K‼️ +24K--‼️ +18K⚠️ +1776
WebServer/examples/WebUpdate--‼️ +19K‼️ +3K‼️ +15K‼️ +2K‼️ +21K‼️ +2K‼️ +41K‼️ +25K--‼️ +18K⚠️ +1784
WiFi/examples/FTM/FTM_Initiator--‼️ +19K‼️ +3K‼️ +16K‼️ +3K‼️ +22K⚠️ +2040‼️ +38K‼️ +3K--‼️ +19K⚠️ +1808
WiFi/examples/FTM/FTM_Responder--‼️ +19K‼️ +3K‼️ +16K‼️ +3K‼️ +22K⚠️ +2040‼️ +38K‼️ +3K--‼️ +19K⚠️ +1808
WiFi/examples/SimpleWiFiServer--‼️ +20K‼️ +3K‼️ +15K‼️ +2K‼️ +23K‼️ +2K‼️ +42K‼️ +25K--‼️ +19K⚠️ +1792
WiFi/examples/WPS--‼️ +19K‼️ +3K‼️ +15K‼️ +3K‼️ +22K⚠️ +2040‼️ +38K‼️ +3K--‼️ +18K⚠️ +1792
WiFi/examples/WiFiAccessPoint--‼️ +20K‼️ +3K‼️ +15K‼️ +2K‼️ +23K‼️ +2K‼️ +42K‼️ +25K--‼️ +19K⚠️ +1792
WiFi/examples/WiFiBlueToothSwitch--‼️ +19K‼️ +3K--‼️ +21K⚠️ +1728‼️ +37K‼️ +3K--‼️ +19K⚠️ +1788
WiFi/examples/WiFiClient--‼️ +20K‼️ +3K‼️ +16K‼️ +3K‼️ +22K⚠️ +2040‼️ +42K‼️ +24K--‼️ +19K⚠️ +1808
WiFi/examples/WiFiClientBasic--‼️ +20K‼️ +3K‼️ +16K‼️ +3K‼️ +22K⚠️ +2040‼️ +42K‼️ +24K--‼️ +19K⚠️ +1808
WiFi/examples/WiFiClientConnect--‼️ +18K‼️ +3K‼️ +14K‼️ +2K‼️ +20K⚠️ +1736‼️ +37K‼️ +3K--‼️ +18K⚠️ +1792
WiFi/examples/WiFiClientEnterprise--‼️ +23K‼️ +3K‼️ +19K‼️ +3K‼️ +28K⚠️ +2040‼️ +43K‼️ +24K--‼️ +23K⚠️ +1792
WiFi/examples/WiFiClientEvents--‼️ +20K‼️ +3K‼️ +16K‼️ +3K‼️ +22K⚠️ +2040‼️ +38K‼️ +3K--‼️ +19K⚠️ +1808
WiFi/examples/WiFiClientStaticIP--‼️ +20K‼️ +3K‼️ +16K‼️ +3K‼️ +22K⚠️ +2040‼️ +42K‼️ +24K--‼️ +19K⚠️ +1792
WiFi/examples/WiFiExtender--‼️ +20K‼️ +3K‼️ +16K‼️ +3K‼️ +22K⚠️ +2040‼️ +38K‼️ +3K--‼️ +19K⚠️ +1792
WiFi/examples/WiFiIPv6--‼️ +20K‼️ +3K‼️ +16K‼️ +3K‼️ +23K‼️ +2048‼️ +42K‼️ +24K--‼️ +19K⚠️ +1792
WiFi/examples/WiFiMulti--‼️ +19K‼️ +3K‼️ +15K‼️ +3K‼️ +22K⚠️ +2040‼️ +38K‼️ +3K--‼️ +19K⚠️ +1808
WiFi/examples/WiFiMultiAdvanced--‼️ +22K‼️ +3K‼️ +18K‼️ +3K‼️ +25K⚠️ +2032‼️ +41K‼️ +24K--‼️ +22K⚠️ +1788
WiFi/examples/WiFiScan--‼️ +19K‼️ +3K‼️ +16K‼️ +3K‼️ +22K⚠️ +2040‼️ +38K‼️ +3K--‼️ +19K⚠️ +1808
WiFi/examples/WiFiScanAsync--‼️ +19K‼️ +3K‼️ +16K‼️ +3K‼️ +22K⚠️ +2040‼️ +38K‼️ +3K--‼️ +19K⚠️ +1808
WiFi/examples/WiFiScanDualAntenna--‼️ +20K‼️ +3K‼️ +17K‼️ +3K‼️ +23K⚠️ +2040‼️ +40K‼️ +3K--‼️ +20K⚠️ +1816
WiFi/examples/WiFiScanTime--‼️ +19K‼️ +3K‼️ +16K‼️ +3K‼️ +22K⚠️ +2040‼️ +38K‼️ +3K--‼️ +19K⚠️ +1808
WiFi/examples/WiFiSmartConfig--‼️ +19K‼️ +3K‼️ +15K‼️ +3K‼️ +22K⚠️ +2040‼️ +38K‼️ +3K--‼️ +18K⚠️ +1792
WiFi/examples/WiFiTelnetToSerial--‼️ +20K‼️ +3K‼️ +16K‼️ +3K‼️ +22K⚠️ +2024‼️ +42K‼️ +24K--‼️ +19K⚠️ +1776
WiFi/examples/WiFiUDPClient--‼️ +20K‼️ +3K‼️ +16K‼️ +3K‼️ +22K‼️ +2048‼️ +42K‼️ +24K--‼️ +19K⚠️ +1808
WiFiProv/examples/WiFiProv--‼️ +33K‼️ +4K‼️ +14K‼️ +3K‼️ +43K‼️ +3K‼️ +59K‼️ +4K--‼️ +32K‼️ +2K
OpenThread/examples/COAP/coap_lamp--------‼️ +17K‼️ +3K‼️ +11K‼️ +3K--
OpenThread/examples/COAP/coap_switch--------‼️ +17K‼️ +3K‼️ +11K‼️ +3K--
OpenThread/examples/SimpleCLI--------‼️ +17K‼️ +2K‼️ +11K‼️ +2K--
OpenThread/examples/SimpleNode--------‼️ +17K‼️ +2K‼️ +11K‼️ +2K--
OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode--------‼️ +17K‼️ +2K‼️ +11K‼️ +2K--
OpenThread/examples/SimpleThreadNetwork/LeaderNode--------‼️ +17K‼️ +2K‼️ +11K‼️ +2K--
OpenThread/examples/SimpleThreadNetwork/RouterNode--------‼️ +17K‼️ +2K‼️ +11K‼️ +2K--
OpenThread/examples/ThreadScan--------‼️ +17K‼️ +2K‼️ +11K‼️ +2K--
OpenThread/examples/onReceive--------‼️ +17K‼️ +2K‼️ +11K‼️ +2K--
Zigbee/examples/Zigbee_Color_Dimmable_Light--------‼️ +15K⚠️ +1704‼️ +12K⚠️ +1628--
Zigbee/examples/Zigbee_Color_Dimmer_Switch--------‼️ +13K⚠️ +968‼️ +10K⚠️ +876--
Zigbee/examples/Zigbee_On_Off_Light--------‼️ +15K⚠️ +1704‼️ +12K⚠️ +1612--
Zigbee/examples/Zigbee_On_Off_Switch--------‼️ +13K⚠️ +968‼️ +10K⚠️ +876--
Zigbee/examples/Zigbee_Scan_Networks--------‼️ +15K⚠️ +1268‼️ +11K⚠️ +1160--
Zigbee/examples/Zigbee_Temperature_Sensor--------‼️ +13K⚠️ +976‼️ +9K⚠️ +868--
Zigbee/examples/Zigbee_Thermostat--------‼️ +15K⚠️ +656‼️ +12K⚠️ +556--
BluetoothSerial/examples/DiscoverConnect------------‼️ +29K⚠️ +1624
BluetoothSerial/examples/GetLocalMAC------------‼️ +29K⚠️ +1624
BluetoothSerial/examples/SerialToSerialBT------------‼️ +29K⚠️ +1624
BluetoothSerial/examples/SerialToSerialBTM------------‼️ +29K⚠️ +1624
BluetoothSerial/examples/SerialToSerialBT_Legacy------------‼️ +837K‼️ +20K
BluetoothSerial/examples/SerialToSerialBT_SSP------------‼️ +29K⚠️ +1624
BluetoothSerial/examples/bt_classic_device_discovery------------‼️ +29K⚠️ +1624
BluetoothSerial/examples/bt_remove_paired_devices------------‼️ +29K⚠️ +1624
ESP32/examples/DeepSleep/SmoothBlink_ULP_Code------------‼️ +16K⚠️ +948
Ethernet/examples/ETH_LAN8720------------‼️ +13K⚠️ +1188

@SuGlider SuGlider removed the hil_test Run Hardware Tests label Oct 9, 2024
@lucasssvaz lucasssvaz self-requested a review October 9, 2024 22:46
@lucasssvaz lucasssvaz added the Status: In Progress Issue is in progress label Oct 17, 2024
@VojtechBartoska VojtechBartoska modified the milestones: 3.0.5, 3.0.7, 3.1.0-RC2 Oct 21, 2024
@me-no-dev me-no-dev changed the base branch from master to release/v3.1.x October 23, 2024 12:14
Copy link
Collaborator

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

Still not working on P4 as expected:

ESP-ROM:esp32p4-20230811
Build:Aug 11 2023
rst:0x1 (POWERON),boot:0x31f (SPI_FAST_FLASH_BOOT)
SPI mode:DIO, clock div:1
load:0x4ff33ce0,len:0x1130
load:0x4ff2abd0,len:0xc20
load:0x4ff2cbd0,len:0x314c
entry 0x4ff2abd0
Begin when running test successful
/Users/lucassvaz/Espressif/Arduino/sketches/test/test.ino:563:begin_when_running_test:PASS
Basic transmission test successful
/Users/lucassvaz/Espressif/Arduino/sketches/test/test.ino:564:basic_transmission_test:PASS
Buffer resize test successful
/Users/lucassvaz/Espressif/Arduino/sketches/test/test.ino:565:resize_buffers_test:PASS
/Users/lucassvaz/Espressif/Arduino/sketches/test/test.ino:128:change_baudrate_test:FAIL: Expected 'Hello from Serial1 (UART1) >>> via loopback >>> Serial1 (UART1) using 115200 baudrate' Was 'Hello from Serial4 (UART4) >>> via loopback >>> Serial4 (UART4) using 9600 baudrate'
Change CPU frequency test successful
/Users/lucassvaz/Espressif/Arduino/sketches/test/test.ino:567:change_cpu_frequency_test:PASS
Disabled UART calls test successful
/Users/lucassvaz/Espressif/Arduino/sketches/test/test.ino:568:disabled_uart_calls_test:PASS
Enabled UART calls test successful
/Users/lucassvaz/Espressif/Arduino/sketches/test/test.ino:569:enabled_uart_calls_test:PASS
/Users/lucassvaz/Espressif/Arduino/sketches/test/test.ino:496:periman_test:FAIL: Expected '' Was 'Hello from Serial1 (UART1) >>> via loopback >>> Serial1 (UART1) while used by I2C'
Change pins test successful
/Users/lucassvaz/Espressif/Arduino/sketches/test/test.ino:576:change_pins_test:PASS
End when stopped test successful
/Users/lucassvaz/Espressif/Arduino/sketches/test/test.ino:577:end_when_stopped_test:PASS

-----------------------
10 Tests 2 Failures 0 Ignored 
FAIL

@SuGlider
Copy link
Collaborator Author

Closing as I could now handle the ESP32-P4 and just found out that there isn't any issue with the current implementation of uart_internal_loopback(uart_num, rxPin).

@SuGlider SuGlider closed this Oct 26, 2024
@SuGlider SuGlider deleted the uart_loop_back branch October 26, 2024 16:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging this pull request may close these issues.

4 participants