0.29.0
Pre-release
Pre-release
Added
- Added protected access to the internal
std::FILE*
stream in theStdioPrint
utility class. - Added more unit tests:
- test_ethernet:
- test_server_zero_port
- test_server_accept
- test_server_construct_int_port
- test_ethernet:
- Added
printf
format string checking forPrint
-derived classes. As of this writing, Teensyduino (1.59) and other platforms don't do compiler checking forPrint::printf
. - Added more support for
errno
. Appropriate functions will set this after encountering an error. - Added tests for the Arduino-API
begin(...)
functions. - Added a way to utilize an externally-defined driver.
- Added
driver_is_mac_settable()
to the driver API. This checks if the MAC address can be set.
Changed
- Updated and improved PixelPusherServer example.
- Call
qnethernet_hal_get_system_mac_address(mac)
in the unsupported driver'sdriver_get_system_mac(mac)
implementation. This enables MAC address retrieval for more platforms when communication isn't needed; Teensy 4.0, for example. - Turned the internal MAC address into an optional and simplified the
Ethernet
constructor. This change should make it easier to initialze a MAC address from a custom driver. - Changed Arduino-API non-DHCP
begin(...)
functions to returnbool
. - Improved driver logic so that lwIP options can be included in the driver headers.
- Improved
OSCPrinter
example to use the UDP data directly. - Renamed
driver_set_mac_address_allowed()
todriver_set_incoming_mac_address_allowed()
. - Changed
driver_proc_input(netif)
to return apbuf*
.
Fixed
- Fixed
EthernetServer::port()
to return the system-chosen port if a zero value was specified. - Fixed
EthernetUDP::stop()
to leave any multicast group joined when starting to listen on a multicast address. - Fixed MAC address restore if an Arduino-API non-DHCP
begin(...)
call fails. - Fixed
EthernetClient::read()
andpeek()
to return -1 instead of 0 when there's no internal state. - Properly initializing multicast filtering so that it happens before
igmp_start()
, which sets up the all-systems group.