Prep for 0.4.0 release (#312)

* Update changelog for 0.4.0 release

* Enable rt feature for irq example in Cargo.toml

* Bump pio/pio-proc deps to 0.2.0, update pio examples

* Update BSPs to latest ws2812-pio, remove unused pio dep

* Fix usage of pio_proc in doc comment

* Clean up pio doc-example

* Update rp-pico to latest i2c-pio

Co-authored-by: Jan Niehusmann <jan@gondor.com>
This commit is contained in:
9names 2022-03-11 22:37:34 +11:00 committed by GitHub
parent da2372b19c
commit b81955c2a8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 38 additions and 40 deletions

View file

@ -22,8 +22,7 @@ panic-halt= "0.2.0"
embedded-hal ="0.2.5" embedded-hal ="0.2.5"
nb = "1.0.0" nb = "1.0.0"
smart-leds = "0.3.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/ithinuel/ws2812-pio-rs", rev = "4f0d81e594ea9934f9c4c38ed9824ad0cce4ebb5" }
[features] [features]
default = ["boot2", "rt"] default = ["boot2", "rt"]

View file

@ -22,8 +22,7 @@ panic-halt= "0.2.0"
embedded-hal ="0.2.5" embedded-hal ="0.2.5"
smart-leds = "0.3" smart-leds = "0.3"
nb = "1.0.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/ithinuel/ws2812-pio-rs", rev = "4f0d81e594ea9934f9c4c38ed9824ad0cce4ebb5" }
[features] [features]
default = ["rt", "boot2"] default = ["rt", "boot2"]

View file

@ -28,5 +28,4 @@ rp2040-boot2 = "0.2"
smart-leds = "0.3.0" smart-leds = "0.3.0"
embedded-time = "0.12.0" embedded-time = "0.12.0"
nb = "1.0.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/ithinuel/ws2812-pio-rs", rev = "4f0d81e594ea9934f9c4c38ed9824ad0cce4ebb5" }

View file

@ -22,8 +22,7 @@ panic-halt= "0.2.0"
embedded-hal ="0.2.5" embedded-hal ="0.2.5"
smart-leds = "0.3" smart-leds = "0.3"
nb = "1.0.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/ithinuel/ws2812-pio-rs", rev = "4f0d81e594ea9934f9c4c38ed9824ad0cce4ebb5" }
[features] [features]
default = ["boot2", "rt"] default = ["boot2", "rt"]

View file

@ -21,7 +21,7 @@ embedded-hal ="0.2.5"
embedded-time = "0.12.0" embedded-time = "0.12.0"
smart-leds = "0.3" smart-leds = "0.3"
nb = "1.0.0" nb = "1.0.0"
ws2812-pio = { git = "https://github.com/ithinuel/ws2812-pio-rs", rev = "4f0d81e594ea9934f9c4c38ed9824ad0cce4ebb5" } ws2812-pio = { git = "https://github.com/ithinuel/ws2812-pio-rs", rev = "fd6b6604d65a66242b52ccf7f24a95ca325991dd" }
[features] [features]
default = ["boot2", "rt"] default = ["boot2", "rt"]

View file

@ -26,11 +26,11 @@ panic-halt= "0.2.0"
embedded-hal ="0.2.5" embedded-hal ="0.2.5"
cortex-m-rtic = "0.6.0-rc.4" cortex-m-rtic = "0.6.0-rc.4"
nb = "1.0" nb = "1.0"
i2c-pio = { git = "https://github.com/ithinuel/i2c-pio-rs", rev = "df06e4ac94a5b2c985d6a9426dc4cc9be0d535c0" } i2c-pio = { git = "https://github.com/ithinuel/i2c-pio-rs", rev = "fa155bbae4e8553b448a66cc47236db38b7524dd" }
heapless = "0.7.9" heapless = "0.7.9"
embedded-sdmmc = { git = "https://github.com/rust-embedded-community/embedded-sdmmc-rs.git" } embedded-sdmmc = { git = "https://github.com/rust-embedded-community/embedded-sdmmc-rs.git" }
smart-leds = "0.3.0" smart-leds = "0.3.0"
ws2812-pio = { git = "https://github.com/ithinuel/ws2812-pio-rs", rev = "4f0d81e594ea9934f9c4c38ed9824ad0cce4ebb5" } ws2812-pio = { git = "https://github.com/ithinuel/ws2812-pio-rs", rev = "fd6b6604d65a66242b52ccf7f24a95ca325991dd" }
ssd1306 = "0.7.0" ssd1306 = "0.7.0"
embedded-graphics = "0.7.1" embedded-graphics = "0.7.1"

View file

@ -27,5 +27,5 @@ embedded-hal ="0.2.5"
nb = "1.0.0" nb = "1.0.0"
smart-leds = "0.3.0" smart-leds = "0.3.0"
pio = "0.1.0" pio = "0.1.0"
ws2812-pio = { git = "https://github.com/ithinuel/ws2812-pio-rs", rev = "4f0d81e594ea9934f9c4c38ed9824ad0cce4ebb5" } ws2812-pio = { git = "https://github.com/ithinuel/ws2812-pio-rs", rev = "fd6b6604d65a66242b52ccf7f24a95ca325991dd" }
embedded-time = "0.12.0" embedded-time = "0.12.0"

View file

@ -23,7 +23,7 @@ smart-leds = "0.3.0"
embedded-time = "0.12.0" embedded-time = "0.12.0"
nb = "1.0.0" nb = "1.0.0"
pio = "0.1.0" pio = "0.1.0"
ws2812-pio = { git = "https://github.com/ithinuel/ws2812-pio-rs", rev = "4f0d81e594ea9934f9c4c38ed9824ad0cce4ebb5" } ws2812-pio = { git = "https://github.com/ithinuel/ws2812-pio-rs", rev = "fd6b6604d65a66242b52ccf7f24a95ca325991dd" }
[features] [features]
default = ["boot2", "rt"] default = ["boot2", "rt"]

View file

@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
## [0.4.0] - 2022-03-09
### Added ### Added
- ROM function caching - ROM function caching
@ -17,6 +19,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- UART IRQ examples - UART IRQ examples
- PIO side-set example - PIO side-set example
- Stopped PIO state machines can change their clock divider - Stopped PIO state machines can change their clock divider
- Added HAL IRQ example
### Changed ### Changed
@ -32,6 +35,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Update critical_section to use new spinlock implementation - Update critical_section to use new spinlock implementation
- Update embedded-hal alpha support to version 1.0.0-alpha.7 - Update embedded-hal alpha support to version 1.0.0-alpha.7
- Avoid 64-bit division in clock calculations - Avoid 64-bit division in clock calculations
- Update pio and pio-proc to 0.2.0
## [0.3.0] - 2021-12-19 ## [0.3.0] - 2021-12-19
@ -90,7 +94,8 @@ The Minimum-Supported Rust Version (MSRV) for this release is 1.54.
- Initial release - Initial release
[Unreleased]: https://github.com/rp-rs/rp-hal/compare/v0.3.0...HEAD [Unreleased]: https://github.com/rp-rs/rp-hal/compare/v0.4.0...HEAD
[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.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 [0.2.0]: https://github.com/rp-rs/rp-hal/compare/v0.1.0...v0.2.0
[0.1.0]: https://github.com/rp-rs/rp-hal/releases/tag/v0.1.0 [0.1.0]: https://github.com/rp-rs/rp-hal/releases/tag/v0.1.0

View file

@ -18,7 +18,7 @@ itertools = { version = "0.10.1", default-features = false }
nb = "1.0" nb = "1.0"
rp2040-pac = "0.3.0" rp2040-pac = "0.3.0"
paste = "1.0" paste = "1.0"
pio = "0.1.0" pio = "0.2.0"
usb-device = "0.2.8" usb-device = "0.2.8"
vcell = "0.1" vcell = "0.1"
void = { version = "1.0.2", default-features = false } void = { version = "1.0.2", default-features = false }
@ -44,7 +44,7 @@ cortex-m-rt = "0.7"
panic-halt = "0.2.0" panic-halt = "0.2.0"
rp2040-boot2 = "0.2.0" rp2040-boot2 = "0.2.0"
hd44780-driver = "0.4.0" hd44780-driver = "0.4.0"
pio-proc = "0.1.0" pio-proc = "0.2.0"
dht-sensor = "0.2.1" dht-sensor = "0.2.1"
[features] [features]
@ -56,3 +56,8 @@ alloc = []
rom-func-cache = [] rom-func-cache = []
disable-intrinsics = [] disable-intrinsics = []
rom-v2-intrinsics = [] rom-v2-intrinsics = []
[[example]]
# irq example uses cortex-m-rt::interrupt, need rt feature for that
name = "gpio_irq_example"
required-features = ["rt"]

View file

@ -34,14 +34,11 @@ fn main() -> ! {
let led_pin_id = 25; let led_pin_id = 25;
// Define some simple PIO program. // Define some simple PIO program.
let program = pio_proc::pio!( let program = pio_proc::pio_asm!(
32, ".wrap_target",
" "set pins, 1 [31]",
.wrap_target "set pins, 0 [31]",
set pins, 1 [31] ".wrap"
set pins, 0 [31]
.wrap
"
); );
// Initialize and start PIO // Initialize and start PIO

View file

@ -36,15 +36,12 @@ fn main() -> ! {
let led_pin_id = 25; let led_pin_id = 25;
// Define some simple PIO program. // Define some simple PIO program.
let program = pio_proc::pio!( let program = pio_proc::pio_asm!(
32, ".side_set 1", // each instruction may set 1 bit
" ".wrap_target",
.side_set 1 ; each instruction may set 1 bit " nop side 1",
.wrap_target " nop side 0",
nop side 1 ".wrap",
nop side 0
.wrap
"
); );
// Initialize and start PIO // Initialize and start PIO

View file

@ -244,13 +244,11 @@ impl<P: PIOExt> PIO<P> {
/// let mut peripherals = pac::Peripherals::take().unwrap(); /// let mut peripherals = pac::Peripherals::take().unwrap();
/// let (mut pio, sm0, _, _, _) = peripherals.PIO0.split(&mut peripherals.RESETS); /// let (mut pio, sm0, _, _, _) = peripherals.PIO0.split(&mut peripherals.RESETS);
/// // Install a program in instruction memory. /// // Install a program in instruction memory.
/// let program = pio_proc::pio!( /// let program = pio_proc::pio_asm!(
/// 32, /// ".wrap_target",
/// ".wrap_target /// "set pins, 1 [31]",
/// set pins, 1 [31] /// "set pins, 0 [31]",
/// set pins, 0 [31] /// ".wrap"
/// .wrap
/// "
/// ).program; /// ).program;
/// let installed = pio.install(&program).unwrap(); /// let installed = pio.install(&program).unwrap();
/// // Configure a state machine to use the program. /// // Configure a state machine to use the program.