From 1574a36f7e2971665fecf53cce98eadfa1fe9adf Mon Sep 17 00:00:00 2001 From: 9names <60134748+9names@users.noreply.github.com> Date: Tue, 14 Jun 2022 18:04:00 +1000 Subject: [PATCH] Prep for HAL 0.5.0 release (#351) * Update changelog, readme and version number for HAL 0.5.0 release * Bump HAL version in BSP deps * Point ws2812-pio and i2c-pio-rs at hal_0.5.0 branches * Update changelog with latest commits and release date --- boards/adafruit-feather-rp2040/Cargo.toml | 4 +-- boards/adafruit-itsy-bitsy-rp2040/Cargo.toml | 4 +-- boards/adafruit-kb2040/Cargo.toml | 4 +-- boards/adafruit-macropad/Cargo.toml | 2 +- boards/adafruit-qt-py-rp2040/Cargo.toml | 4 +-- boards/adafruit-trinkey-qt2040/Cargo.toml | 4 +-- boards/arduino_nano_connect/Cargo.toml | 2 +- boards/pimoroni-pico-explorer/Cargo.toml | 2 +- boards/pimoroni-pico-lipo-16mb/Cargo.toml | 2 +- boards/pimoroni-plasma-2040/Cargo.toml | 4 +-- boards/pimoroni-tiny2040/Cargo.toml | 2 +- boards/rp-pico/Cargo.toml | 6 ++-- boards/solderparty-rp2040-stamp/Cargo.toml | 4 +-- boards/sparkfun-pro-micro-rp2040/Cargo.toml | 4 +-- boards/sparkfun-thing-plus-rp2040/Cargo.toml | 4 +-- rp2040-hal/CHANGELOG.md | 32 ++++++++++++++++++-- rp2040-hal/Cargo.toml | 2 +- rp2040-hal/README.md | 2 +- 18 files changed, 58 insertions(+), 30 deletions(-) diff --git a/boards/adafruit-feather-rp2040/Cargo.toml b/boards/adafruit-feather-rp2040/Cargo.toml index b28a83b..419091a 100644 --- a/boards/adafruit-feather-rp2040/Cargo.toml +++ b/boards/adafruit-feather-rp2040/Cargo.toml @@ -13,7 +13,7 @@ repository = "https://github.com/rp-rs/rp-hal.git" [dependencies] cortex-m = "0.7.2" rp2040-boot2 = { version = "0.2.0", optional = true } -rp2040-hal = { path = "../../rp2040-hal", version = "0.4.0"} +rp2040-hal = { path = "../../rp2040-hal", version = "0.5.0" } cortex-m-rt = { version = "0.7", optional = true } embedded-time = "0.12.0" @@ -22,7 +22,7 @@ panic-halt= "0.2.0" embedded-hal ="0.2.5" nb = "1.0.0" smart-leds = "0.3.0" -ws2812-pio = { git = "https://github.com/ithinuel/ws2812-pio-rs", rev = "fd6b6604d65a66242b52ccf7f24a95ca325991dd" } +ws2812-pio = { git = "https://github.com/rp-rs/ws2812-pio-rs", branch = "hal_0.5.0" } [features] default = ["boot2", "rt"] diff --git a/boards/adafruit-itsy-bitsy-rp2040/Cargo.toml b/boards/adafruit-itsy-bitsy-rp2040/Cargo.toml index 41359d7..bcc88c3 100644 --- a/boards/adafruit-itsy-bitsy-rp2040/Cargo.toml +++ b/boards/adafruit-itsy-bitsy-rp2040/Cargo.toml @@ -13,7 +13,7 @@ repository = "https://github.com/rp-rs/rp-hal.git" [dependencies] cortex-m = "0.7.2" rp2040-boot2 = { version = "0.2.0", optional = true } -rp2040-hal = { path = "../../rp2040-hal", version = "0.4.0"} +rp2040-hal = { path = "../../rp2040-hal", version = "0.5.0" } cortex-m-rt = { version = "0.7", optional = true } embedded-time = "0.12.0" @@ -22,7 +22,7 @@ panic-halt= "0.2.0" embedded-hal ="0.2.5" smart-leds = "0.3" nb = "1.0.0" -ws2812-pio = { git = "https://github.com/ithinuel/ws2812-pio-rs", rev = "fd6b6604d65a66242b52ccf7f24a95ca325991dd" } +ws2812-pio = { git = "https://github.com/rp-rs/ws2812-pio-rs", branch = "hal_0.5.0" } [features] default = ["rt", "boot2"] diff --git a/boards/adafruit-kb2040/Cargo.toml b/boards/adafruit-kb2040/Cargo.toml index b3223ff..dfd182c 100644 --- a/boards/adafruit-kb2040/Cargo.toml +++ b/boards/adafruit-kb2040/Cargo.toml @@ -12,7 +12,7 @@ repository = "https://github.com/rp-rs/rp-hal.git" [dependencies] cortex-m = "0.7.2" -rp2040-hal = { path = "../../rp2040-hal", version = "0.4.0" } +rp2040-hal = { path = "../../rp2040-hal", version = "0.5.0" } cortex-m-rt = { version = "0.7.0", optional = true } embedded-hal = { version = "0.2.4", features = ["unproven"] } rp2040-boot2 = { version = "0.2.0", optional = true } @@ -28,4 +28,4 @@ rp2040-boot2 = "0.2" smart-leds = "0.3.0" embedded-time = "0.12.0" nb = "1.0.0" -ws2812-pio = { git = "https://github.com/ithinuel/ws2812-pio-rs", rev = "fd6b6604d65a66242b52ccf7f24a95ca325991dd" } +ws2812-pio = { git = "https://github.com/rp-rs/ws2812-pio-rs", branch = "hal_0.5.0" } diff --git a/boards/adafruit-macropad/Cargo.toml b/boards/adafruit-macropad/Cargo.toml index 8260135..8150b2f 100644 --- a/boards/adafruit-macropad/Cargo.toml +++ b/boards/adafruit-macropad/Cargo.toml @@ -13,7 +13,7 @@ repository = "https://github.com/rp-rs/rp-hal.git" [dependencies] cortex-m = "0.7.2" rp2040-boot2 = { version = "0.2.0", optional = true } -rp2040-hal = { path = "../../rp2040-hal", version = "0.4.0"} +rp2040-hal = { path = "../../rp2040-hal", version = "0.5.0" } cortex-m-rt = { version = "0.7", optional = true } [dev-dependencies] embedded-time = "0.12.0" diff --git a/boards/adafruit-qt-py-rp2040/Cargo.toml b/boards/adafruit-qt-py-rp2040/Cargo.toml index ac44e43..3a37aef 100644 --- a/boards/adafruit-qt-py-rp2040/Cargo.toml +++ b/boards/adafruit-qt-py-rp2040/Cargo.toml @@ -12,7 +12,7 @@ repository = "https://github.com/rp-rs/rp-hal.git" [dependencies] cortex-m = "0.7.2" -rp2040-hal = { path = "../../rp2040-hal", version = "0.4.0"} +rp2040-hal = { path = "../../rp2040-hal", version = "0.5.0" } cortex-m-rt = { version = "0.7", optional = true } embedded-time = "0.12.0" rp2040-boot2 = { version = "0.2.0", optional = true } @@ -22,7 +22,7 @@ panic-halt= "0.2.0" embedded-hal ="0.2.5" smart-leds = "0.3" nb = "1.0.0" -ws2812-pio = { git = "https://github.com/ithinuel/ws2812-pio-rs", rev = "fd6b6604d65a66242b52ccf7f24a95ca325991dd" } +ws2812-pio = { git = "https://github.com/rp-rs/ws2812-pio-rs", branch = "hal_0.5.0" } [features] default = ["boot2", "rt"] diff --git a/boards/adafruit-trinkey-qt2040/Cargo.toml b/boards/adafruit-trinkey-qt2040/Cargo.toml index 3cc30f1..cfdf038 100644 --- a/boards/adafruit-trinkey-qt2040/Cargo.toml +++ b/boards/adafruit-trinkey-qt2040/Cargo.toml @@ -11,7 +11,7 @@ repository = "https://github.com/rp-rs/rp-hal.git" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -rp2040-hal = { path = "../../rp2040-hal", version = "0.4.0" } +rp2040-hal = { path = "../../rp2040-hal", version = "0.5.0" } cortex-m-rt = { version = "0.7.0", optional = true } rp2040-boot2 = { version = "0.2.0", optional = true } @@ -21,7 +21,7 @@ embedded-hal ="0.2.5" embedded-time = "0.12.0" smart-leds = "0.3" nb = "1.0.0" -ws2812-pio = { git = "https://github.com/ithinuel/ws2812-pio-rs", rev = "fd6b6604d65a66242b52ccf7f24a95ca325991dd" } +ws2812-pio = { git = "https://github.com/rp-rs/ws2812-pio-rs", branch = "hal_0.5.0" } [features] default = ["boot2", "rt"] diff --git a/boards/arduino_nano_connect/Cargo.toml b/boards/arduino_nano_connect/Cargo.toml index c1ee2b7..5fe37d9 100644 --- a/boards/arduino_nano_connect/Cargo.toml +++ b/boards/arduino_nano_connect/Cargo.toml @@ -13,7 +13,7 @@ repository = "https://github.com/rp-rs/rp-hal.git" [dependencies] cortex-m = "0.7.3" rp2040-boot2 = { version = "0.2.0", optional = true } -rp2040-hal = { path = "../../rp2040-hal", version = "0.4.0" } +rp2040-hal = { path = "../../rp2040-hal", version = "0.5.0" } cortex-m-rt = { version = "0.7.0", optional = true } embedded-hal = { version = "0.2.4", features = ["unproven"] } panic-probe = { version = "0.2.0", features = ["print-defmt"] } diff --git a/boards/pimoroni-pico-explorer/Cargo.toml b/boards/pimoroni-pico-explorer/Cargo.toml index a1f9916..1b91725 100644 --- a/boards/pimoroni-pico-explorer/Cargo.toml +++ b/boards/pimoroni-pico-explorer/Cargo.toml @@ -12,7 +12,7 @@ repository = "https://github.com/rp-rs/rp-hal.git" [dependencies] cortex-m = "0.7.2" -rp2040-hal = { path = "../../rp2040-hal", version = "0.4.0"} +rp2040-hal = { path = "../../rp2040-hal", version = "0.5.0" } cortex-m-rt = { version = "0.7", optional = true } embedded-hal = { version = "0.2.4", features = ["unproven"] } st7789 = "0.6.1" diff --git a/boards/pimoroni-pico-lipo-16mb/Cargo.toml b/boards/pimoroni-pico-lipo-16mb/Cargo.toml index c503985..9f06972 100644 --- a/boards/pimoroni-pico-lipo-16mb/Cargo.toml +++ b/boards/pimoroni-pico-lipo-16mb/Cargo.toml @@ -12,7 +12,7 @@ repository = "https://github.com/rp-rs/rp-hal.git" [dependencies] cortex-m = "0.7.2" -rp2040-hal = { path = "../../rp2040-hal", version = "0.4.0"} +rp2040-hal = { path = "../../rp2040-hal", version = "0.5.0" } cortex-m-rt = { version = "0.7", optional = true } rp2040-boot2 = { version = "0.2.0", optional = true } diff --git a/boards/pimoroni-plasma-2040/Cargo.toml b/boards/pimoroni-plasma-2040/Cargo.toml index a962e6e..6d634ff 100644 --- a/boards/pimoroni-plasma-2040/Cargo.toml +++ b/boards/pimoroni-plasma-2040/Cargo.toml @@ -13,7 +13,7 @@ repository = "https://github.com/rp-rs/rp-hal.git" [dependencies] cortex-m = "0.7.2" rp2040-boot2 = { version = "0.2.0", optional = true } -rp2040-hal = { path = "../../rp2040-hal", version = "0.4.0"} +rp2040-hal = { path = "../../rp2040-hal", version = "0.5.0" } cortex-m-rt = { version = "0.7", optional = true } embedded-time = "0.12.0" @@ -21,7 +21,7 @@ embedded-time = "0.12.0" panic-halt= "0.2.0" embedded-hal ="0.2.5" smart-leds = "0.3.0" -ws2812-pio = { git = "https://github.com/ithinuel/ws2812-pio-rs", rev = "fd6b6604d65a66242b52ccf7f24a95ca325991dd" } +ws2812-pio = { git = "https://github.com/rp-rs/ws2812-pio-rs", branch = "hal_0.5.0" } defmt = "0.2.0" defmt-rtt = "0.2.0" diff --git a/boards/pimoroni-tiny2040/Cargo.toml b/boards/pimoroni-tiny2040/Cargo.toml index 1f7b52c..01150dc 100644 --- a/boards/pimoroni-tiny2040/Cargo.toml +++ b/boards/pimoroni-tiny2040/Cargo.toml @@ -13,7 +13,7 @@ repository = "https://github.com/rp-rs/rp-hal.git" [dependencies] cortex-m = "0.7.2" rp2040-boot2 = { version = "0.2.0", optional = true } -rp2040-hal = { path = "../../rp2040-hal", version = "0.4.0"} +rp2040-hal = { path = "../../rp2040-hal", version = "0.5.0" } cortex-m-rt = { version = "0.7", optional = true } embedded-time = "0.12.0" diff --git a/boards/rp-pico/Cargo.toml b/boards/rp-pico/Cargo.toml index 187bd64..35fd56f 100644 --- a/boards/rp-pico/Cargo.toml +++ b/boards/rp-pico/Cargo.toml @@ -13,7 +13,7 @@ repository = "https://github.com/rp-rs/rp-hal.git" [dependencies] cortex-m = "0.7.2" rp2040-boot2 = { version = "0.2.0", optional = true } -rp2040-hal = { path = "../../rp2040-hal", version = "0.4.0"} +rp2040-hal = { path = "../../rp2040-hal", version = "0.5.0" } cortex-m-rt = { version = "0.7", optional = true } embedded-time = "0.12.0" usb-device= "0.2.8" @@ -26,11 +26,11 @@ panic-halt= "0.2.0" embedded-hal ="0.2.5" cortex-m-rtic = "0.6.0-rc.4" nb = "1.0" -i2c-pio = { git = "https://github.com/rp-rs/i2c-pio-rs", branch = "pio_write_widths" } +i2c-pio = { git = "https://github.com/rp-rs/i2c-pio-rs", branch = "hal_0.5.0" } heapless = "0.7.9" embedded-sdmmc = { git = "https://github.com/rust-embedded-community/embedded-sdmmc-rs.git" } smart-leds = "0.3.0" -ws2812-pio = { git = "https://github.com/ithinuel/ws2812-pio-rs", rev = "fd6b6604d65a66242b52ccf7f24a95ca325991dd" } +ws2812-pio = { git = "https://github.com/rp-rs/ws2812-pio-rs", branch = "hal_0.5.0" } ssd1306 = "0.7.0" embedded-graphics = "0.7.1" hd44780-driver = "0.4.0" diff --git a/boards/solderparty-rp2040-stamp/Cargo.toml b/boards/solderparty-rp2040-stamp/Cargo.toml index 9ebe18c..47a2e0d 100644 --- a/boards/solderparty-rp2040-stamp/Cargo.toml +++ b/boards/solderparty-rp2040-stamp/Cargo.toml @@ -13,7 +13,7 @@ repository = "https://github.com/rp-rs/rp-hal.git" [dependencies] cortex-m = "0.7.2" rp2040-boot2 = { version = "0.2.0", optional = true } -rp2040-hal = { path = "../../rp2040-hal", version = "0.4.0"} +rp2040-hal = { path = "../../rp2040-hal", version = "0.5.0" } cortex-m-rt = { version = "0.7", optional = true } [features] @@ -27,5 +27,5 @@ embedded-hal ="0.2.5" nb = "1.0.0" smart-leds = "0.3.0" pio = "0.1.0" -ws2812-pio = { git = "https://github.com/ithinuel/ws2812-pio-rs", rev = "fd6b6604d65a66242b52ccf7f24a95ca325991dd" } +ws2812-pio = { git = "https://github.com/rp-rs/ws2812-pio-rs", branch = "hal_0.5.0" } embedded-time = "0.12.0" diff --git a/boards/sparkfun-pro-micro-rp2040/Cargo.toml b/boards/sparkfun-pro-micro-rp2040/Cargo.toml index 3fe87bb..8221dcb 100644 --- a/boards/sparkfun-pro-micro-rp2040/Cargo.toml +++ b/boards/sparkfun-pro-micro-rp2040/Cargo.toml @@ -12,7 +12,7 @@ repository = "https://github.com/rp-rs/rp-hal.git" [dependencies] cortex-m = "0.7.2" -rp2040-hal = { path = "../../rp2040-hal", version = "0.4.0" } +rp2040-hal = { path = "../../rp2040-hal", version = "0.5.0" } cortex-m-rt = { version = "0.7.0", optional = true } embedded-hal = { version = "0.2.4", features = ["unproven"] } rp2040-boot2 = { version = "0.2.0", optional = true } @@ -23,7 +23,7 @@ smart-leds = "0.3.0" embedded-time = "0.12.0" nb = "1.0.0" pio = "0.1.0" -ws2812-pio = { git = "https://github.com/ithinuel/ws2812-pio-rs", rev = "fd6b6604d65a66242b52ccf7f24a95ca325991dd" } +ws2812-pio = { git = "https://github.com/rp-rs/ws2812-pio-rs", branch = "hal_0.5.0" } [features] default = ["boot2", "rt"] diff --git a/boards/sparkfun-thing-plus-rp2040/Cargo.toml b/boards/sparkfun-thing-plus-rp2040/Cargo.toml index 1f758e9..042b7de 100644 --- a/boards/sparkfun-thing-plus-rp2040/Cargo.toml +++ b/boards/sparkfun-thing-plus-rp2040/Cargo.toml @@ -12,7 +12,7 @@ repository = "https://github.com/rp-rs/rp-hal.git" [dependencies] cortex-m = "0.7.2" -rp2040-hal = { path = "../../rp2040-hal", version = "0.4.0" } +rp2040-hal = { path = "../../rp2040-hal", version = "0.5.0" } cortex-m-rt = { version = "0.7.0", optional = true } embedded-hal = { version = "0.2.4", features = ["unproven"] } rp2040-boot2 = { version = "0.2.0", optional = true } @@ -23,7 +23,7 @@ smart-leds = "0.3.0" embedded-time = "0.12.0" nb = "1.0.0" pio = "0.1.0" -ws2812-pio = { git = "https://github.com/ithinuel/ws2812-pio-rs", rev = "fd6b6604d65a66242b52ccf7f24a95ca325991dd" } +ws2812-pio = { git = "https://github.com/rp-rs/ws2812-pio-rs", branch = "hal_0.5.0" } [features] default = ["boot2", "rt"] diff --git a/rp2040-hal/CHANGELOG.md b/rp2040-hal/CHANGELOG.md index 9bd6e45..3a9c251 100644 --- a/rp2040-hal/CHANGELOG.md +++ b/rp2040-hal/CHANGELOG.md @@ -7,9 +7,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.5.0] - 2022-06-13 + +### MSRV + +The Minimum-Supported Rust Version (MSRV) for this release is 1.61 + +### Added + +- RP2040 specific #[entry] macro that releases spinlocks - @jannic +- Start multiple state machines in sync with each other - @astraw +- Unsafe fn for freeing all spinlocks when you can't use the RP2040 entry macro (eg RTIC) - @9names +- Optional feature for enabling defmt formatting for i2c errors - @ithinuel +- Accessor for getting the offset of an installed PIO program - @fenax + +### Changed + +- Use thread send safe UART* marker when splitting, improves UART ergonmics - @marius-meissner +- Improve performance for hardware division instrinsics. Internal intrinsics cleanup - @Sizurka +- Provide a better alarm abstraction - @ithinuel +- Update Multicore::spawn to be able to take a closure without requiring alloc. + Improve Multicore ergonomics and add example for how to use new API - @Liamolucko +- Allow PIO program to be 32 instructions long, was previously limited to 31 - @jannic +- Fix Typos - @mqy, @danbev +- Replace generic pio::Tx::write with write_u8_replicated, write_u16_replicated, and update + write to take a u32. The generic version was too easy to misuse. - @9names + ### Removed -- removed i2c embassy driver prototype +- I2c async driver. Use new one at https://github.com/ithinuel/rp2040-async-i2c/ - @ithinuel +- Unused fields from UartPeripheral and Reader - @jannic ## [0.4.0] - 2022-03-09 @@ -98,7 +125,8 @@ The Minimum-Supported Rust Version (MSRV) for this release is 1.54. - Initial release -[Unreleased]: https://github.com/rp-rs/rp-hal/compare/v0.4.0...HEAD +[Unreleased]: https://github.com/rp-rs/rp-hal/compare/v0.5.0...HEAD +[0.5.0]: https://github.com/rp-rs/rp-hal/compare/v0.4.0...v0.5.0 [0.4.0]: https://github.com/rp-rs/rp-hal/compare/v0.3.0...v0.4.0 [0.3.0]: https://github.com/rp-rs/rp-hal/compare/v0.2.0...v0.3.0 [0.2.0]: https://github.com/rp-rs/rp-hal/compare/v0.1.0...v0.2.0 diff --git a/rp2040-hal/Cargo.toml b/rp2040-hal/Cargo.toml index 0e112b2..7b5f62b 100644 --- a/rp2040-hal/Cargo.toml +++ b/rp2040-hal/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rp2040-hal" -version = "0.4.0" +version = "0.5.0" authors = ["The rp-rs Developers"] edition = "2018" homepage = "https://github.com/rp-rs/rp-hal" diff --git a/rp2040-hal/README.md b/rp2040-hal/README.md index 9b46007..acc79d0 100644 --- a/rp2040-hal/README.md +++ b/rp2040-hal/README.md @@ -68,7 +68,7 @@ https://github.com/rp-rs/rp-hal/ for more details. To include this crate in your project, amend your `Cargo.toml` file to include ```toml -rp2040-hal = "0.4.0" +rp2040-hal = "0.5.0" ``` To obtain a copy of the source code (e.g. if you want to propose a bug-fix or