Skip to content

0.20.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@ssilverman ssilverman released this 10 Apr 08:23
· 875 commits to master since this release

Added

  • Added EthernetFrameClass::size(), for parity with EthernetUDP.
  • Added internal entropy functions to remove the Entropy library dependency.
  • New QNETHERNET_ENABLE_CUSTOM_WRITE macro for enabling the inclusion of the expanded stdio output behaviour.
  • Added a bunch of unit tests. These use the Unity test framework from within PlatformIO.
  • Added sections to the README that describe how to configure compiler options for both the Arduino IDE and PlatformIO.
  • Added an AltcpTemplate example.
  • Added a BroadcastChat example that implements a simple chat over UDP.

Changed

  • Updated StdioPrint adapter to use errors better. errno is set for the "write error" value and the stdio error state is cleared appropriately when the functions detect that "write error" is back to zero.
  • Changed default stdio output behaviour to use the new system default. (This exists as of Teensyduino 1.58-beta4.) See: QNETHERNET_ENABLE_CUSTOM_WRITE.
  • Added a timeout parameter to the callback version of DNSClient::getHostByName(). This helps prevent any references from going out of scope before the callback is called.
  • Changed EthernetUDP::send() functions back to returning a Boolean value.
  • There's now Print objects for each of stdout and stderr: stdoutPrint and stderrPrint.
  • Improved RawFrameMonitor and SNTPClient examples.
  • Changed "tcp" calls to "altcp" calls so that it's easier to add things like TLS and proxy support. There's accompanying qnethernet_get_allocator(...) and qnethernet_free_allocator(...) functions that need to be defined by the application code if the LWIP_ALTCP option is enabled.

Removed

  • QNETHERNET_WEAK_WRITE macro in favour of the new way to enable the library's internal _write() definition. See: QNETHERNET_ENABLE_CUSTOM_WRITE.
  • Removed sending a DHCP INFORM message when setting a static IP. It seemed to interfere with any first subsequent DHCP requests.

Fixed

  • Fixed EthernetClass::end() to call clearEvent() before detaching the event responder.
  • Fixed DNS client to be aware of lookup failures.
  • Added set-no-address and link-down calls to EthernetClass::end() before bringing the interface down. This ensures all the callbacks are called.
  • Fixed EthernetUDP::parsePacket() to also call Ethernet.loop() when there's no packet available.
  • Increased PHY reset pulse and reset-to-MDIO times. Hopefully this fixes slow traffic after restarting the system via Ethernet.end().