You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On a number of locations in Socket.cpp there is a delayMicroseconds() added while an SPI transaction is active. This can happen when a goto makesocket is executed in the lines above.
This delay might cause a context switch and another task trying to start a SPI transaction with a max-delay. This can cause wacthdog timers to trigger.
I think we should remove the delays to avoid this, as they are already marked as "is this needed?"
line 103:
makesocket:
//Serial.printf("W5000socket %d\n", s);
EthernetServer::server_port[s] = 0;
delayMicroseconds(250); // TODO: is this needed??
W5100.writeSnMR(s, protocol);
W5100.writeSnIR(s, 0xFF);
line 167:
makesocket:
//Serial.printf("W5000socket %d\n", s);
EthernetServer::server_port[s] = 0;
delayMicroseconds(250); // TODO: is this needed??
W5100.writeSnMR(s, protocol);
W5100.writeSnIR(s, 0xFF);