martin-ger / esp-open-lwip

ESP8266 lwIP library with NAT, SLIP, ENC28j60 Ethernet, and routing support
67 stars 25 forks source link

Use IRQ mode, works here! #13

Closed xxxajk closed 5 years ago

xxxajk commented 5 years ago

Use latest SDK from my repo for success.

xxxajk commented 5 years ago

BTW, would be handy to have that "voodoo" fix. That seems to make it run best.

martin-ger commented 5 years ago

Think, I have another explanation, what might be wrong with the enc-driver under high load:

It would be much nicer to have real TX interrupt handling in the driver - polling is ugly anyway. Better: enc28j60_link_output() tests, whether there is an ongoing TX. If so it queues the packet. If not it starts TX and returns.

TX interrupt clears status, checks, whether there is a waiting packet, if so starts sending and returns