Skip to content

feat(core): Add wait time before setup #11367

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

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions cores/esp32/Arduino.h
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,12 @@ bool shouldPrintChipDebugReport(void);
return true; \
}

uint64_t getArduinoSetupWaitTick(void);
#define SET_SETUP_WAIT_TICK(tick) \
uint64_t getArduinoSetupWaitTick() { \
return tick; \
}

// allows user to bypass esp_spiram_test()
bool esp_psram_extram_test(void);
#define BYPASS_SPIRAM_TEST(bypass) \
Expand Down
5 changes: 5 additions & 0 deletions cores/esp32/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,15 @@ __attribute__((weak)) bool shouldPrintChipDebugReport(void) {
return false;
}

__attribute__((weak)) uint64_t getArduinoSetupWaitTick(void) {
Copy link
Preview

Copilot AI May 15, 2025

Choose a reason for hiding this comment

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

Consider adding a brief comment above getArduinoSetupWaitTick() to explain its purpose, expected behavior, and the significance of its return value (in ticks) for clarity.

Copilot uses AI. Check for mistakes.

return 0;
}

void loopTask(void *pvParameters) {
#if !defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_SERIAL)
// sets UART0 (default console) RX/TX pins as already configured in boot or as defined in variants/pins_arduino.h
Serial0.setPins(gpioNumberToDigitalPin(SOC_RX0), gpioNumberToDigitalPin(SOC_TX0));
vTaskDelay(getArduinoSetupWaitTick());
Copy link
Preview

Copilot AI May 15, 2025

Choose a reason for hiding this comment

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

It may be beneficial to clarify (via a comment) that vTaskDelay expects the delay in ticks and that getArduinoSetupWaitTick is expected to provide a meaningful tick value when overridden.

Copilot uses AI. Check for mistakes.

#endif
#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_DEBUG
printBeforeSetupInfo();
Expand Down
Loading