SDK version 1.3.1
This release contains numerous bug fixes and documentation improvements which are not all listed here; you can see the full list of individual commits here.
New Board Support
The following boards have been added and may be specified via PICO_BOARD
:
adafruit_kb2040
adafruit_macropad_rp2040
eetree_gamekit_rp2040
garatronic_pybstick26_rp2040
(renamed frompybstick26_rp2040
)pimoroni_badger2040
pimoroni_motor2040
pimoroni_servo2040
pimoroni_tiny2040_2mb
seeed_xiao_rp2040
solderparty_rp2040_stamp_carrier
solderparty_rp2040_stamp
wiznet_w5100s_evb_pico
Notable Library Changes/Improvements
hardware_dma
- New documentation has been added to the
dma_channel_abort()
function describing errata RP2040-E13, and how to work around it.
hardware_irq
- Fixed a bug related to removing and then re-adding shared IRQ handlers. It is now possible to add/remove handlers as documented.
- Added new documentation clarifying the fact the shared IRQ handler ordering "priorities" have values that increase with higher priority vs Cortex M0+ IRQ priorites which have values that decrease with priority!
hardware_pwm
- Added a
pwm_config_set_clkdiv_int_frac()
method to complementpwm_config_set_clkdiv_int()
andpwm_config_set_clkdiv()
.
hardware_pio
- Fixed the
pio_set_irqn_source_mask_enabled()
method which previously affected the wrong IRQ.
hardware_rtc
- Added clarification to
rtc_set_datetime()
documentation that the new value may not be visible to artc_get_datetime()
very soon after, due to crossing of clock domains.
pico_platform
- Added a
busy_wait_at_least_cycles()
method as a convenience method for a short tight-loop counter-based delay.
pico_stdio
- Fixed a bug related to removing stdio "drivers".
stdio_set_driver_eabled()
can now be used freely to dynamically enable and disable drivers during runtime.
pico_time
- Added an
is_at_the_end_of_time()
method to check if a given time matches the SDK's maximum time value.
Runtime
- A bug in
__ctzdi2()
aka__builtin_ctz(uint64_t)
was fixed.
Build
- Compilation with GCC 11 is now supported.
PIOASM_EXTRA_SOURCE_FILES
is now actually respected.
pioasm
- Input files with Windows (CRLF) line endings are now accepted.
- A bug in the python output was fixed.
elf2uf2
- Extra padding was added to the UF2 output of misaligned or non-contiguous binaries to work around errata RP2040-E14.
Note the 1.3.0 release of the SDK incorrectly squashed the history of the changes. A new merge commit has been added to restore the full history, and the 1.3.0 tag has been updated