PPPClass: Add configurable boot delay after reset sequence#12344
Conversation
👋 Hello gonzabrusco, 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 ...
Review and merge process you can expect ...
|
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.
Click to expand the detailed deltas report [usage change in BYTES]
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Test Results 91 files 91 suites 31m 30s ⏱️ Results for commit 5967e9f. |
Description of Change
This Pull Request introduces a configurable boot delay after the modem reset sequence in PPPClass.
Previously, the code assumed that the modem would be ready to communicate approximately 100 ms after reset, which is not always true for some modules. In particular, with the SIMCom SIM7070, the modem may still be booting and not yet responsive to AT commands at that point.
To address this, a new _boot_delay parameter was added and integrated into the reset flow. This delay is applied after releasing the reset pin and before attempting to initialize the DCE or synchronize with the modem, ensuring that the modem has sufficient time to complete its boot process.
Test Scenarios
Related links
#12314
These captures show the behavior with and without the boot delay commit. The time during which PWRKEY is held low for the SIM7070 to perform a reset is approximately 12.5 seconds. After the reset sequence completes, the modem requires an additional ~5 seconds to finish booting before it becomes responsive to AT commands.
Without accounting for this boot time, the PPP initialization may start too early, causing synchronization failures. The added boot delay ensures that the modem is fully operational before esp_modem_sync() and subsequent PPP initialization steps are executed.
Captures.zip