mirror of
https://github.com/esp8266/Arduino.git
synced 2026-10-23 19:08:55 +03:00
LwipIntfDev<RawDev> calls RawDev::end() from LwipIntfDev::end() and from the two error paths of LwipIntfDev::begin(). Wiznet5500 provides end(), ENC28J60 does not, so LwipIntfDev<ENC28J60> - i.e. ENC28J60lwIP - no longer compiles: LwipIntfDev.h:280:20: error: 'end' is not a member of 'ENC28J60' LwipIntfDev.h:294:24: error: 'end' is not a member of 'ENC28J60' The calls came in with #9023, which only touched cores/esp8266/LwipIntfDev.h. Wiznet5500::end() closes socket 0 and leaves the chip powered and configured, since a following begin() resets and reopens it anyway. The ENC28J60 equivalent of closing the socket is clearing ECON1.RXEN, the bit that reset() sets last to enable reception. ECON1 is mapped into every bank, so no bank switch is needed, and no frame can be in flight because sendFrame() polls ECON1.TXRTS until the frame has left.