Thanks to @me-no-dev's code. Lets Windows look up the PicoW by name
using NBNS and needs much less memory and code than mDNS.
AsyncUDP ported from the old ESP8266 version, only minimal changes. Will
probably only be valid in IPv4 environments and may not match current
ESP32 AsyncUDP interfaces.
Adds BluetoothHIDMaster and HIDKeyStream which let the PicoW connect to
and use Bluetooth Classic HID devices like keyboards and mice.
An example that lets the PicoW use a BT keyboard as a piano is
included and shows the use of the new classes.
Fixes#2188
We get a call to stop the audio channel from a timer/IRQ context, so can't
safely remove the IRQ handler for the AudioBufferManager. The SDK will panic.
Because the IRQ handler will be a noop if it's not uninstalled, we will
instead just leave our shared handler in place and let it do nothing.
Use a common BluetoothLock RAII in BluetoothAudio to clen up the code and
automatically lock BT for the AVRCP button methods.
Adds a library to run classic Bluetooth A2DP source (output) audio from
the PicoW. Simple example showing operation and callbacks.
Factor out multiple BT lock/unlock and place in the PicoW variant files.
Fixes#1730
Uses DMA operations to avoid the need to bit-bang or busy wait for I2C operations
that might be very slow. Optional, adds new API calls to enable. Simple example
included.
Fixes#1192
Uses DMA operations to avoid the need to bit-bang or busy wait for SPI
operations that might be very slow. Optional, adds new API calls to enable.
Simple example included.
When a ping is sent from the Pico, a raw_recv callback is added which
sees all raw incoming packets to detect the response from the ping target.
If while waiting for the target response an external ping packet arrives
this incoming ping request packet will be processed by the
LwipIntfDev<>::_pingCB which will return "0" not processed and which
*should* not change the payload unless it handles the actual packet.
Unfortunately, the 20 byte header was unconditionally stripped off of
the packet before checking if this was our response, changing the
payload address and causing an assertion in LWIP.
Fix by using absolute offsets inside the raw packet for the ping
response checks.
Fixes#2156Fixes#2149
As seen in debug of #2149, if the LwipIntfDev is already _started,
return false for a ::begin() call.
Also, protect netif_add/_remove on the very small possibilty of being
called by LwipIntfDev devices while the CYW43 driver is doing work.
If a file called `.ci.defines` is present in a directory, apply those
while building the specified sketch.
* Add an lwip_ESPHost test, like the wired Ethernet ones
* Add WINC1500 test and CI hook
* Remove 1 minor warning in WINC build
* Add FatFS for onboard flash use/sharing of FAT
* Move all to "fatfs" namespace
The FatFS library defines commonly used names like WORD which could conflict
with user code otherwise.
* Restyle
* FTL-based, wear-leveling FatFS with USB export
Allow using FAT filesystem with onboard flash in a safer, wear-leveled
way and to export the onboard flash to the host as a USB drive for easy
data transfer.
* Update documentation
* Fix submodule reference
* Don't spellehcek ChaN FatFS files
* Disable FTL debugging
* More codespell skips
* Move to latest SPIFTL library
* Allow using raw flash instead of FTL
* Remove unneeded static FIL 4k allocation
* Expose FAT FS format configuration options
* Update documentation
* Remove USB partial flash rewrites
* Remove unneeded dups of FatFS sources
Leave the LICENSE.md and README.md to point to upstream.
* Clean up comments