diff --git a/libraries/lwIP_enc28j60/src/utility/enc28j60.cpp b/libraries/lwIP_enc28j60/src/utility/enc28j60.cpp index 0ee3096486..98c51e5f5c 100644 --- a/libraries/lwIP_enc28j60/src/utility/enc28j60.cpp +++ b/libraries/lwIP_enc28j60/src/utility/enc28j60.cpp @@ -546,6 +546,14 @@ boolean ENC28J60::begin(const uint8_t* address) /*---------------------------------------------------------------------------*/ +void ENC28J60::end() +{ + // stop reception. ECON1 is mirrored into every bank, so no bank switch is needed + clearregbitfield(ECON1, ECON1_RXEN); +} + +/*---------------------------------------------------------------------------*/ + uint16_t ENC28J60::sendFrame(const uint8_t* data, uint16_t datalen) { uint16_t dataend; diff --git a/libraries/lwIP_enc28j60/src/utility/enc28j60.h b/libraries/lwIP_enc28j60/src/utility/enc28j60.h index e6c65d7759..0c21e76041 100644 --- a/libraries/lwIP_enc28j60/src/utility/enc28j60.h +++ b/libraries/lwIP_enc28j60/src/utility/enc28j60.h @@ -62,6 +62,12 @@ class ENC28J60 */ boolean begin(const uint8_t* address); + /** + Shut down the Ethernet controller + Stops the reception of Ethernet frames until the next ::begin() + */ + void end(); + /** Send an Ethernet frame @param data a pointer to the data to send