-
Notifications
You must be signed in to change notification settings - Fork 13.3k
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
unblobbing commit #7121
unblobbing commit #7121
Conversation
@dok-net This commit is only the recompilation of lwIP precompiled libraries. |
Why are you telling me this? The simple fact of the matter is that 0554d39 works just fine, but c61b70d doesn't. The binary diff between these commits is huge. I can't fix and verify everything, but I can manage to point out if something breaks, what's broken it. Forget about the timings in my waveform PR, but WDT'ing is serious. |
By the words I'm telling you, it is meant that
Please try the
|
I can't just make install, it's not working on my system. I can only repeat, I've now retested, the commit with "blob" doesn't WDT reset, but master HEAD as of now resets every few seconds. |
Here's an MCVE. Download to target and hit the webserver at least once, it starts WDT resetting: #include <ESP8266WebServer.h>
#include <core_esp8266_waveform.h>
#include <ArduinoOTA.h>
#include <Servo.h>
//const char* ssid = "";
//const char* password = "";
// Create an instance of the server
// specify the port to listen on as an argument
ESP8266WebServer server(80);
Servo servo;
// 25kHz cycle == 40µs cycle time
const uint32_t TCYCLE = 40;
uint32_t fanspeed0 = 0;
uint32_t fanspeed1 = 0;
bool ota_started = false;
void StartOTAIfRequired()
{
if (ota_started)
return;
// Port defaults to 8266
// ArduinoOTA.setPort(8266);
// Hostname defaults to esp8266-[ChipID]
//if (ArduinoOTA.getHostname() && ArduinoOTA.getHostname().length())
// No authentication by default
ArduinoOTA.setPassword("abc");
ArduinoOTA.onStart([]() {
Serial.println("OTA Start");
});
ArduinoOTA.onEnd([]() {
Serial.println("\nOTA End");
});
ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
Serial.printf("Progress: %u%%\r\n", (progress / (total / 100)));
});
ArduinoOTA.onError([](ota_error_t error) {
Serial.printf("Error[%u]: ", error);
if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");
else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");
else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");
else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
else if (error == OTA_END_ERROR) Serial.println("End Failed");
});
ArduinoOTA.begin();
ota_started = true;
delay(500);
}
void HandleOTA()
{
StartOTAIfRequired();
ArduinoOTA.handle();
}
// The setup() function runs once each time the micro-controller starts
void setup()
{
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.begin();
Serial.println("");
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
StartOTAIfRequired();
pinMode(D3, OUTPUT_OPEN_DRAIN);
digitalWrite(D3, HIGH);
pinMode(D7, OUTPUT_OPEN_DRAIN);
digitalWrite(D7, HIGH);
servo.attach(D8, 1000, 2000);
uint32_t duty = 1 + (TCYCLE - 2) * fanspeed0 / 100;
startWaveform(D3, duty, TCYCLE - duty, 0);
duty = 1 + (TCYCLE - 2) * fanspeed1 / 100;
startWaveform(D7, duty, TCYCLE - duty, 0);
servo.write(90);
server.on("/", []() {
String content = "";
content += "<html><body>\
Hello</body></html>";
server.send(200, "text/html", content.c_str());
delay(100);
});
server.begin();
Serial.println("HTTP server started");
tone(D5, 440, 500);
}
// Add the main program code into the continuous loop() function
void loop()
{
HandleOTA();
// Listen for http requests
server.handleClient();
} |
Note that I had to $ while true; do curl 10.0.1.101; echo;echo "another request:"; done
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
another request:
<html><body> Hello</body></html>
... ESP is still running fine:
That being weird, I suggest you try with another git master cloned from scratch. |
An |
Glad you sorted this out. |
No idea what "with timestamp enabled" means :-( |
All it takes to make my MCVE work well s to revert the *.a, tcp_priv.h, and lwip-git-hash.h files. |
That was USB Serial. Timestamp is added by arduino console. The output is your sketch's.
Sorry for the misunderstanding. $ md5sum liblwip2-536-feat.a
f27b0c56379610ffc24a92a0e3f8aad7 liblwip2-536-feat.a
I understand that. |
@dok-net |
|
Just very short test durations (1-2min), the one with IPv6 seems to be better. |
Also tested
|
Can you give the md5 sum of your liblwip2-536-feat.a ? |
For the |
For what it's worth, these are the options: |
This is the +19th message after your first one to learn that
I would be glad to know where I missed this capital information in the above messages. This is a merged PR. |
fixes 2c435b1#commitcomment-37529995
Sorry for that @progtronix