Skip to content

0.19.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@ssilverman ssilverman released this 20 Mar 03:49
· 959 commits to master since this release

Added

  • Added Ethernet.loop() calls to the EthernetClient::write() functions when the send buffer is full.
  • Added Ethernet hardware detection to support (well, "non-support") the Teensy 4.1 NE.

Changed

  • Updated lwipopts.h to examine LWIP_MDNS_RESPONDER when setting certain values.
  • Ethernet.loop() calls are now attached/detached to/from yield in Ethernet.begin(...)/end().
  • Improved pin configurations and comments.
  • Disabled LWIP_STATS option by default. Saves a little memory.
  • Updated Arduino Ethernet API links in keywords.txt.
  • Only add 1 to MEMP_NUM_SYS_TIMEOUT option for mDNS instead of 3.
  • Updated examples to use both address and link state on network changes. This accommodates when a static IP is used.
  • Changed UDP and TCP PCB creation to use an appropriate ip_addr_t type instead of the unspecified default.
  • Changed CRC-32 function for multicast lookup to not use a lookup table. This saves 1KiB of flash but makes the calculation about 4.7x slower but still in the microsecond range (~0.090µs -> ~0.42µs).
  • Moved EthernetClass, EthernetFrameClass, and MDNSClass constructors and destructors to FLASHMEM (where possible). This saves a little RAM1 space.
  • Moved lwIP's memory pools into 4-byte aligned DMAMEM (RAM2). This saves a lot of RAM1 space, about 27KiB with the current configuration.
  • Changed the promiscuous mode macro name from QNETHERNET_PROMISCUOUS_MODE to QNETHERNET_ENABLE_PROMISCUOUS_MODE.
  • Changed all the DHCP timeouts in the examples to 15 seconds.
  • Changed EthernetUDP::send() functions to return an lwIP error code instead of a 1-or-0 Boolean value. Zero (ERR_OK) means no error. This makes it easier to diagnose any problems.

Fixed

  • Reverted how interrupts were being cleared to use assignment instead of OR'ing the bits. This seemed to fix an apparent freeze. (See this issue: #26)
  • Fixed a signedness comparison warning in OSCPrinter example.
  • Addressed "extra" (-Wextra) and pedantic (-Wpedantic) warnings.