Skip to content

0.22.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@ssilverman ssilverman released this 25 Jun 19:25
· 769 commits to master since this release

Added

  • EthernetClass::setDHCPEnabled(flag) enables or disables the DHCP client. May be called either before or after Ethernet has started.
  • EthernetClass::isDHCPEnabled() returns whether the DHCP client is enabled. Valid whether Ethernet has been started or not.
  • New LinkWatcher example.
  • Added support for building for unsupported boards via a new bare lwIP driver.

Changed

  • Limit the number of times enet_proc_input() can loop to twice the ring size.
  • Limit UDP output size to the maximum possible (65535 - 28(total header)).
  • It's now possible to know when adding or removing a MAC address filter failed.
  • Make it possible to disable and exclude DHCP, DNS, IGMP, TCP, and UDP.
  • Changed EthernetClass::setMACAddress(mac) to use the built-in MAC address if the given array is NULL.
  • Changed EthernetClass::begin(mac) to wait for an IP address. The default is a 60-second timeout. There's also a new, optional, timeout parameter for specifying that timeout. This change makes the API match the Arduino Ethernet API.
  • Renamed enet_getmac(mac) to enet_get_mac(mac).
  • Better NULL argument checking.
  • Simplified ServerWithListeners example.
  • Changed enet_init(...) to return a bool for detecting init. failure.

Fixed

  • Fixed how EthernetClient functions work when there's a pending connect triggered by connectNoWait().
  • Fixed how raw frame size limits are checked. Padding is already handled by the MAC.
  • Fixed compilation if LWIP_IGMP is disabled, including making LWIP_MDNS_RESPONDER dependent on LWIP_IGMP (in addition to LWIP_UDP).
  • Improved trng_is_started() by adding an additional check for the "OK to stop" bit. It now works at system startup if the clock is already running.