0.30.0
Pre-release
Pre-release
Added
- Added a SimpleHTTPClient example.
- Added a way to get the driver capabilities:
EthernetClass::driverCapabilities()
anddriver_get_capabilities(dc)
. - Added a way to get the library version:
EthernetClass::libraryVersion()
. - New
QNETHERNET_DO_LOOP_IN_YIELD
configuration macro for indicating that the library should attempt to hook into or overrideyield()
to callEthernet.loop()
. - New version of
receiveQueueSize()
inEthernetUDP
andEthernetFrame
that returns the number of unprocessed packets or frames. - Added
droppedReceiveCount()
andtotalReceiveCount()
toEthernetUDP
andEthernetFrame
. - Added
driver_set_link_speed(speed)
anddriver_set_link_full_duplex(flag)
. - Added
EthernetClass::renewDHCP()
. - Added
EthernetClass::interfaceName()
. - Added
setOutgoingTTL(ttl)
andoutgoingTTL()
functions for modifying and accessing the TTL field, respectively, in the outgoing IP header, toEthernetClient
andEthernetUDP
. - Added
EthernetUDP::receivedTTL()
for retrieving the TTL value of the last received packet. - Added "Compatibility with other APIs" section to the README.
Changed
- Separated setting the MAC address from driver initialization.
- Changed the netif name to "en0".
- Added macro-gated calls to
Ethernet.loop()
after anyyield()
s in case an overridden version doesn't call this. This affects:DNSClient::getHostByName()
EthernetClass::waitForLink()
EthernetClass::waitForLocalIP()
EthernetClient::connect()
EthernetClient::stop()
- Updated example
yield()
implementation notes for non-EventResponder versions. - Changed
setReceiveQueueSize(size)
tosetReceiveQueueCapacity(capacity)
andreceiveQueueSize()
toreceiveQueueCapacity()
in bothEthernetUDP
andEthernetFrame
. - Updated
QNETHERNET_ENABLE_RAW_FRAME_LOOPBACK
behaviour to also check for the broadcast MAC addresses. - Added
FLASHMEM
to some driver functions. - Changed
EthernetClass
andMDNSClass
hostname()
function to return aconst char *
instead of aString
. - Now always setting the DNS in
EthernetClass::begin(ip, mask, gateway, dns)
, even if it's zero. - Use rename instead of end-then-start when the netif has already been added, in
MDNSClass::begin(hostname)
. - DHCP is started when just the IP address is the "any" address instead of all of the IP address, netmask, and gateway.
begin(ip, mask, gateway, dns)
now always sets the DNS address.Ethernet.broadcastIP()
now returns 255.255.255.255 if Ethernet is not initialized.
Removed
- Removed
EthernetClass::isLinkStateDetectable()
in favour of the driver capabilities. - Removed
get_uint32(ip)
utility function because astatic_cast<uint32_t>()
is sufficient.
Fixed
- Fixed iperf v2 tests by commenting out per-block settings compare.
- Fixed restarting the netif by also bringing the link down.
- Fixed a bug related to closing a TCP socket when using altcp.