-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Ping Library fails in main branch, works in 3.0.2 and 2.7.4 #8555
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
Comments
I think this was only briefly discussed in gitter Library depends on the internal behaviour of esp_yeild(), which previously just suspended our USER task without doing anything else You should probably have notified the author first, since this is an external code and not something we maintain. |
This makes me wonder what is your process for various types of “smoke testing” to be done to qualify a version for release? Is the process described somewhere?
Thanks
…Sent from my iPhone
David Duehren
On May 5, 2022, at 6:30 AM, Max Prokhorov ***@***.***> wrote:
I think this was only briefly discussed in gitter
https://gitter.im/esp8266/Arduino?at=621609b3257a357825faa98a
Library depends on the internal behaviour of esp_yeild(), which previously just suspended our USER task without doing anything else
https://github.com/dancol90/ESP8266Ping/blob/master/src/ESP8266Ping.impl.h#L51
However, since 3.0.0 it will also call esp_schedule(), so the logic it implements that waits on it's own esp_schedule() no longer works
You should probably have notified the author first, since this is an external code and not something we maintain.
I also wonder if we should just import the library here and clean up it a bit, so it uses our helpers that handle both situations. Meaning, when esp_schedule() is called, it will yield until ping either fails or succeeds.
(similarly to what we have done with garp ping helper)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.
|
Where is the documentation on esp_schedule and I will notify the author. |
Not documented Effectively it is ets_post() / system_os_post(), see Espressif website and NONOS documentation for more info about that.
CI here builds every example and also has a set of tests for our internal code. Tests are implemented for both 'device' and 'host' (done through mocking), but only 'host' is ran automatically. See Feature wise, see https://github.com/esp8266/Arduino/milestone/24 for what was tagged so far for the next release. |
What is the relationship between the NONOS and the Arduino development environment? Can I access NON)S calls from C++? And should yield() be used? If not is there another way to achieve similar functionality? Thanks, David |
The problem I'm really trying to solve is described here: https://www.esp8266.com/viewtopic.php?f=29&t=23679 And I don't know if it's on the sending or receiving side, the connection fails, yet both sender and receiver succeed independently. I can send http commands to the receiver from a browser, and I can send http GETs to my raspberry Pi running a python server. |
I'm about to open another issue. httpClient is causing an Exception 9 |
NONOS is SDK provided by Espressif, ESP* chip maker. Arduino side is built on top of it. I meant something like while (ping_task_is_done) {
yield(); // or, delay(100), so we jump back here every 100ms
} |
The ping library works in 3.0.2 so something changed with the current code. |
I will try to fix it.
|
I appreciate that. My other issues were mainly my own code problems, and I'm looking into the environment where it still fails. |
fixes #8555 related to dancol90/ESP8266Ping#42
sorry to bother but it seems 3.1.2 is not pinging (dancol90) "again", while 3.0.2 works good ... I won't have "the machine" and the compiler under my hands for some days, but very reliable information was received about this problem. |
fixes esp8266#8555 related to dancol90/ESP8266Ping#42
----------------------------- Delete below -----------------------------
Basic Infos
Platform
Settings in IDE
Problem Description
This example sketch for ping functionality works on 3.0.2 and 2.7.4 but does not work in Master Branch I downloaded yesterday (5/2/22)
MCVE Sketch
This is a section of output from the library running in a small app of my own. on 3.0.2 Note "ping succeeded).
The text was updated successfully, but these errors were encountered: