Skip to content

SDK version 1.3.1

Compare
Choose a tag to compare
@kilograham kilograham released this 18 May 20:50
· 441 commits to master since this release

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 from pybstick26_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 complement pwm_config_set_clkdiv_int() and pwm_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 a rtc_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