Commit graph

1300 commits

Author SHA1 Message Date
Pontus Oldberg
91240567ce
Fixed incorrect AVR compatibility macros. (#2249)
* Fixed incorrect AVR compatibility macros.

---------

Co-authored-by: Pontus Oldberg <pontus.oldberg@non.se.com>
2024-07-03 08:01:20 -07:00
chungsoftvn-tuannguyen
247e48fa85
Add board BridgeTek IDM2040-43A (#2246)
- Board information brtchip.com/product/idm2040-43a

Signed-off-by: Tuan Nguyen <tuan.nguyen@brtchip.com>
Co-authored-by: Tuan Nguyen <tuan.nguyen@brtchip.com>
2024-06-27 11:30:53 -07:00
Earle F. Philhower, III
268d0aa1c5
On Timer::once execution, delete the alarm_id (#2245)
A Timer is not active after the alarm fires once, so clear the
alarm ID so we know we're not running.
2024-06-24 16:07:19 -07:00
Earle F. Philhower, III
553f7604ea
Add ESP32-compatible Ticker library (#2244)
Uses the Pico SDK alarms and repeated-timers to provide for IRQ-level
periodic tasks to be scheduled.
2024-06-24 14:47:46 -07:00
Earle F. Philhower, III
1357e4a37b
Receive GATT characteristic updates in BTStackLib (#2241)
Fixes #2231
2024-06-24 08:48:07 -07:00
Earle F. Philhower, III
fdc361aff9
Remove old ESP8266 files from AsyncUDP (#2238) 2024-06-19 15:51:34 -07:00
Earle F. Philhower, III
7df8c35e81
Use built-in LWIP call to determine NetBIOS IP (#2235)
Instead of manually iterating over netifs to find the one a packet came
in over for NetBIOS name lookup, use a built-in LWIP macro that's
available for udp_recv callbacks.  Shrinks and simplifies NetBIOS code.
2024-06-18 13:42:23 -07:00
Earle F. Philhower, III
2297d61d92 Update version 2024-06-18 09:44:58 -07:00
Limor "Ladyada" Fried
6d601250d6
Add Adafruit Adalogger Feather (#2229)
Co-authored-by: hathach <thach@tinyusb.org>
2024-06-17 21:00:45 -07:00
Earle F. Philhower, III
c99614c1f5
Add AsyncUDP and simple NetBIOS name lookup server (#2234)
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.
2024-06-17 17:46:53 -07:00
Mete K. Atay
352d363463
Add METE HOCA Akana R1 (#2230) 2024-06-17 09:53:02 -07:00
Ayush Sharma
1775fedf44
Webserver: Add support for filters and removable routes (#2225)
This PR implements filters and removable routes in RP2040 arduino core, making it API compatible with recent changes to ESP32 & ESP8266 WebServer API.
2024-06-13 15:32:17 -07:00
Earle F. Philhower, III
4ab0ba6133
Fix crash on SD.end() without initial SD.begin() (#2222)
Fixes #2220
2024-06-11 13:40:27 -07:00
Earle F. Philhower, III
eb0badd817
Avoid malloc/free while in HCI callbacks (#2219)
Bluetooth operates at IRQ level, so using std::list (which needs to
new and delete objects) is not legal.  Use a fixed, preallocated
vector instead.
2024-06-10 16:38:50 -07:00
Earle F. Philhower, III
f272995536
For consistency, BTHID Joypad->Joystick (#2218)
Matches existing library names and nomenclature
2024-06-10 13:34:59 -07:00
Earle F. Philhower, III
db13d3c1f8
Add basic A2DP BluetoothAudio documentation (#2217) 2024-06-09 17:47:13 -07:00
Earle F. Philhower, III
f8c1ec100f
Add BluetoothHIDMaster documentation (#2216)
Also link in FatFSUSB docs, d'oh!
2024-06-09 16:51:35 -07:00
Earle F. Philhower, III
1fd66bf9c2
Add joypad HID master support (#2214)
Play games on your Pico using Bluetooth gamepads!
2024-06-09 11:47:13 -07:00
Earle F. Philhower, III
151c52c1a0
Remove leftover LWIP debug/redefines (#2213)
Fixes #2211
2024-06-09 10:10:20 -07:00
Earle F. Philhower, III
bde21e5ae1
Add BLE support to BluetoothHIDMaster (#2208)
Support Bluetooth BLE keyboard and mice using the same HID master
infrastructure as the BT Classic.
2024-06-07 14:52:52 -07:00
Earle F. Philhower, III
c104c6717c
Upgrade to Adafruit TinyUSB 3.1.5 (#2206) 2024-06-05 22:36:30 -07:00
Michael Rangen
b0ffd89dbb
Added Raspberry Breadstick (#2205)
https://shop.breadstick.ca/products/raspberry-breadstick-rp2040
I think I did the pin definitions correctly... other boards used generic pin numbers based on the GPIO pins but I've mapped GPIO to the silkscreen pin labels on our board.
2024-06-05 22:15:05 -07:00
Earle F. Philhower, III
0f05ad1cc2
Use block writes for BT audio consumers (#2204)
Around 2x the performance, and every bit is needed w/BT SBC compression
and decompression.
2024-06-05 16:03:35 -07:00
Zillion
0ec12aa49f
Add GroundStudio Marble Pico board (#2203) 2024-06-05 15:18:21 -07:00
Earle F. Philhower, III
f997a9c3bd
Update README.md 2024-06-05 13:51:03 -07:00
Earle F. Philhower, III
9039089067
Fix PWMAudio::write(buffer, len) (#2202)
PWMAudio was only ever writing one half the buffer passed in because
of an off-by-2 error.  Fixes the sine output in KeyboardPiano.
2024-06-05 13:08:08 -07:00
Earle F. Philhower, III
8bc8c824d3 Update version 2024-06-05 12:03:10 -07:00
Earle F. Philhower, III
f08ba6bd42
Rebuild OTA bootloader for newer LittleFS version (#2199)
The LittleFS folks changed the on-flash format in 2.6.0, making
it unmountable with earlier precompiled code.

Rebuild the OTA bootloader using the 2.9.3 LittleFS release,
matching the core version.

Fixes #2198
2024-06-05 11:48:16 -07:00
Earle F. Philhower, III
1ef61d725b
Clean up OTA example references to ESP8266 (#2200) 2024-06-05 11:40:37 -07:00
Earle F. Philhower, III
b42083f20a
Add "Needs Bluetooth" compile warning (#2197) 2024-06-05 11:08:20 -07:00
Earle F. Philhower, III
f820dc134a Update version 2024-06-04 14:46:13 -07:00
Earle F. Philhower, III
f6d13d2b70
Bluetooth Master HID and musical keyboard example (#2195)
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.
2024-06-04 14:09:28 -07:00
Earle F. Philhower, III
f786583986
Split out BluetoothHCI for shared usage (#2194) 2024-06-03 15:09:55 -07:00
Earle F. Philhower, III
5f6fb75505
Move to LittleFS 2.9.3. (#2193)
On-flash format changed after 2.5.1, but this can read prior versions
and will upgrade on-device to the later version.
2024-06-03 09:32:52 -07:00
Christian Halter
962dedad21
Fix folder name for Archi board (#2191)
* fix: Changed folder name to match build.variant property
* Added GPIO definitions for Archi board
Co-authored-by: Christian Halter <christian.halter@newsan.com.ar>
2024-06-03 09:20:59 -07:00
Earle F. Philhower, III
ce45c65568
Make LittleFS filenames support full size (#2192)
Support 255 character names, not just 32, in LittleFS filesystems.
2024-06-03 09:11:01 -07:00
Earle F. Philhower, III
6d6433f256
Add track info support for BT audio sink (#2190) 2024-05-31 13:08:41 -07:00
Earle F. Philhower, III
bf385490d3
Fix crash on audio end from IRQ, refactor A2DP (#2189)
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.
2024-05-31 12:14:57 -07:00
Earle F. Philhower, III
919a754ef8
Add double-mem LWIP option (#2187)
Add a "-32K" option to all the IP stack options that doubles the PCB and memory
pools from default.  For most use cases this is not necessary, but it could be
helpful in cases where large numbers of TCP clients are connected or high
bandwidth applications.

Fixes #2050
2024-05-30 18:30:50 -07:00
Earle F. Philhower, III
0a2b616c8a
Add Cookies to HTTPClient (#2186)
From:
https://github.com/espressif/arduino-esp32/pull/6216
https://github.com/espressif/arduino-esp32/pull/6280
https://github.com/espressif/arduino-esp32/pull/7112
2024-05-30 13:27:43 -07:00
Earle F. Philhower, III
56bd539528
Webserver Ignore extra headers in multipart forms (#2184)
From https://github.com/espressif/arduino-esp32/pull/9253
2024-05-30 13:16:15 -07:00
Earle F. Philhower, III
3839f07afe
HTTPClient - Fix case sensitivity for header keys (#2185)
From https://github.com/espressif/arduino-esp32/pull/8713
2024-05-30 13:05:49 -07:00
Earle F. Philhower, III
2043623ce6
Fix POST form parser edge cases (#2182)
From https://github.com/espressif/arduino-esp32/pull/9167
2024-05-30 12:19:44 -07:00
Earle F. Philhower, III
a3dba8be5d
Fix AdvancedWebServer.ino uptime conversion (#2183)
From https://github.com/espressif/arduino-esp32/pull/9224
2024-05-30 12:07:28 -07:00
Earle F. Philhower, III
1f9350dc2a
Allow setting SerialBT advertised name (#2181)
Trivial fix #2179
2024-05-30 11:40:40 -07:00
Earle F. Philhower, III
361b4e0862
Allow uploading huge files to WebServer (#2180)
From https://github.com/espressif/arduino-esp32/pull/9440
2024-05-30 11:24:18 -07:00
Earle F. Philhower, III
fa2bfdc2ba
Small RAM savings (128b) in WebServer (#2178)
From https://github.com/espressif/arduino-esp32/pull/9594
2024-05-30 10:38:50 -07:00
Earle F. Philhower, III
679be8520f Update version 2024-05-29 14:54:32 -07:00
Earle F. Philhower, III
01e9dc99f2
Add A2DP sink (speaker) support (#2177)
Provide direct connection from BT audio to I2S and PWM audio outputs.
Example included showing play/pause operation.
2024-05-29 14:53:06 -07:00
Earle F. Philhower, III
ec5e62e533
Add Bluetooth audio out (A2DP) on the PicoW (#2174)
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.
2024-05-26 14:30:40 -07:00