0.20.0
Pre-release
Pre-release
Added
- Added
EthernetFrameClass::size()
, for parity withEthernetUDP
. - Added internal entropy functions to remove the Entropy library dependency.
- New
QNETHERNET_ENABLE_CUSTOM_WRITE
macro for enabling the inclusion of the expandedstdio
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 ofstdout
andstderr
:stdoutPrint
andstderrPrint
. - Improved
RawFrameMonitor
andSNTPClient
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(...)
andqnethernet_free_allocator(...)
functions that need to be defined by the application code if theLWIP_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 callclearEvent()
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 callEthernet.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()
.