Skip to content

Release 5.0.0 - FreeRTOS + WiFi support and audio available/write fixes

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 25 Aug 18:49
· 1 commit to master since this release

Overview

This release allows multiple FreeRTOS tasks to perform WiFi/Ethernet ops in parallel. It moves FreeRTOS from a library to the core itself, and adds a single LWIP task which handles all wrapped LWIP calls. This means core 0 and core 1 and multiple tasks can use WiFiClient/WiFiServers.

To use FreeRTOS you noiw need to use a new menu item or a new define in platform.ini, as documented in the RTD. Bluetooth is also supported

For bare-metal, this is a moderate release focusing on bug fixes in the audio libraries. Now available/availableForWrite/write/read should always return the number of bytes, not 32-bit frames. Previously sometimes you got bytes, sometimes you got 32b frames, depending on the device and call. Apps which worked around this will need to undo those workarounds.

USB VID:PID will now always change depending on the peripherals exposed. Before it would sometimes change or not because it would set an individual bit in the PID per device. If that bit was already a 1 then there would be no VID change. Now, the USB PID will have be XOR'd, ensuring it changes. For Windows this may require some Zadig work, but Linux and Mac should not see an end user difference.

Bare metal (no OS) is still the default and fully supported.

FreeRTOS + WiFi/BT

  • BREAKING: FreeRTOS as a define, allow full multithread/core TCP/IP (#3063)
  • Make LWIP task priority configurable, document (#3100)
  • Make LWIP debug also collect stats (#3099)
  • Only make an EtherPoll task if we need to poll (#3098)
  • Support Bluetooth under FreeRTOS (#3095)
  • Move cyw43_driver override to SDKOverrides (#3093)
  • Clean up unused FreeRTOS arch init code/vars (#3092)
  • Clean up LWIP header, fix missing listen_backlog

USB PID:VID Update

  • BREAKING: USB PID will vary depending on devices (#3091)

Audio I/O read/written/available bytes fixes

  • BREAKING: PWMAudio availableForWrite report bytes (#3090)
  • Fix I2S::read/write(buffer, cnt) to return bytes (#3086)

Libraries and Examples

  • Update to SdFat 2.3.1 (#3077)
  • Rescan if first scan fails in HIDMaster examples (#3089)

New Boards

  • Added GeeekPi RP2040 Plus (#3085)