github earlephilhower/arduino-pico 5.2.0
Release 5.2.0 - Dynamic add/remove USB, cleanups

12 hours ago

Overview

Medium-sized update which adds the capability of adding and removing USB devices on-the-fly. Sketches with only Keyboard or Mouse and no Serial are now possible. Also allows forcing the USB product ID from within a sketch, removing the need to set defines or create one-off variants.

NOTE: With this change, devices don't register on the USB port until you ::begin them. Make sure you call Keyboard.begin(), etc. as appropriate in your setup if you're not doing so already.

Lots of very pedantic warnings cleared up, minor SerialPIO/SoftwareSerial bugfix, and unidirectional SPI support rolled in.

USB

  • Move statics into SerialUSB object (#3150)
  • Support dynamic USB reconfiguration (#3139)

Memory Savings

  • Only allocate MFIFO queue in multicore, 32B saved (#3149)
  • Bitmask for IRQ stack, save ~112B RAM (#3148)

SerialPIO/SoftwareSerial/SPI/PWMAudio

  • Fix SerialPIO::available during wraparound (#3143)
  • Allow SPI to disable RX or TX pins (#3141)
  • Fix PWMAudio speed when over/underclocking (#3135)

Libraries

  • Update Adafruit TinyUSB to 3.7.2 (#3147)

New Boards

  • Add Soldered NULA RP2350 board (#3138)

Extra-pedantic Warnings

  • Remove unneeded includes SerialPIO (#3130)
  • Run CI with add'l warning -Wdouble-promotion (#3128)
  • Remove unneeded includes from SerialUART (#3129)
  • Double promotion warning fix. (#3127)
  • Fix double promotion warnings. (#3126)

Don't miss a new arduino-pico release

NewReleases is sending notifications on new releases.