Releases: rp-rs/rp-hal
Releases · rp-rs/rp-hal
rp235x-hal 0.4.0
MSRV
The Minimum-Supported Rust Version (MSRV) for the next release is 1.82
- Bump MSRV to 1.82 because the crate
indexmap(an indirect build-depencency) requires it.
Added
- Implement core::fmt::Display and core::err:Error for ReadErrorType per the requirements of embedded-io 0.7.1
Changed
- Update
pioto 0.3.0 - #923 #918 @jannic - Update
rand_coreto 0.9.3 - #941 @jannic - Update
embedded-ioto 0.7.1 - #967 @Gip-Gip - Update
rp235x-pacto 0.2.0 - #982 @9names - Update
rp-binary-infoto 0.1.1 - #911 @jannic - Breaking change: ADC now reports conversion errors - #740 @jannic
- Add additional pins for RP2350B - #920 @cantudo
- Add interrupt support to RP235x riscv - #847 @thejpster
- Add support for PIO2 on RP235x - #931 #933 @horazont @KewlKris
- Add support for PIO PUT and GET FIFO modes - #926 @KewlKris
- Fix
embedded-hal::i2c::transactionsupport by removing automatic generation of i2c restart between transactions - #827 @jannic - Fix handling of flags in
RebootKind::BootSelreboot - #957 @iwanders - Fix
rp_binary_end- #932 @jannic - Fix new clippy warnings - #930 @jannic
- Fix
manual_div_ceilclippy lints - #902 @jannic - Allow 4 alarms per timer - #925 @McBandaska and @thejpster
- Implement
SetDutyCyclegenerically on PWM ChannelId - #909 @jannic - Update number of DMA channels to 16 on RP235x - #919 #927 @KewlKris
- Improve docs by replacing use of "Raspberry Silicon" with "Raspberry Pi", and "RP2350" with "RP235x" - #956 @thejpster
- Improve docs around GPIO proc_int[sef] functions - #908 @jannic
rp2040-hal v0.12.0
MSRV
The Minimum-Supported Rust Version (MSRV) for the next release is 1.82
- Bump MSRV to 1.82 because the crate
indexmap(an indirect build-dependency) requires it.
Added
- Implement core::fmt::Display and core::err:Error for ReadErrorType per the requirements of embedded-io 0.7.1 - #967 @Gip-Gip
Changed
- Update
pioto 0.3.0 - #923 #918 @jannic - Update
rand_coreto 0.9.3 - #941 @jannic - Update
embedded-ioto 0.7.1 - #967 @Gip-Gip - Breaking change: ADC now reports conversion errors - #740 @jannic
- Fix
rp-binary-end- #932 @jannic - Fix new clippy warnings - #930 @jannic
- Fix
manual_div_ceilclippy lints - #902 @jannic - Fix implementations of
embedded_io::WriteforUartPeripheral- #895 @jannic - Fix
embedded-hal::i2c::transactionsupport by removing automatic generation of i2c restart between transactions - #827 @jannic - Implement
SetDutyCyclegenerically on PWM ChannelId - #909 @jannic - Improve docs around GPIO proc_int[sef] functions - #908 @jannic
rp-binary-info v0.1.2
What's Changed
- Bump MSRV to 1.81 by @jannic in #924
- Fix rp_binary_end by @jannic in #932
- Fix 1.89 builds by @thejpster in #949
Full Changelog: rp-binary-info-0.1.1...rp-binary-info-0.1.2
rp-binary-info v0.1.1
Added:
rp_cargo_homepage_url!rp_cargo_bin_name!
(These macros have been used by rp235x-hal-examples for a while, but were actually missing from rp-binary-info v0.1.0)
rp235x-hal v0.3.0
MSRV
The Minimum-Supported Rust Version (MSRV) for the next release is 1.79
- Bump MSRV to 1.79 to enable inline_const, used for static asserts.
Changed
- Enable co-processors when spawning on core1 - #900 @jannic
- Set EXTEXCLALL when enabling multi-core operation, fixing atomics - #898 @jannic
- Fix implementations of embedded_io::Write for UartPeripheral - #895 @jannic
- Copy implementation of PinGroup::set_u32 from rp2040-hal - #893 @jannic
- Derive Debug and defmt::Format for StackAllocation - #889 @jannic
- Implement support for XipCS1 pin function - #873 @Altaflux
- Add a nice wrapper for get_sys_info - #877 @nahla-nee
- feat: add support for PIO
in_count- #867 @allexoll - implement Debug support for the GPIO structures - #866 @jannic
- Fix clippy warnings reported by rust beta - #865 #887 @jannic
- Update critical-section dependency to version 1.2.0 - #862 @jannic
- spi: port
set_formatchanges to rp235x - #842 @jannic
rp2040-hal v0.11.0
0.11.0 - 2024-12-22
MSRV
The Minimum-Supported Rust Version (MSRV) for the next release is 1.79
- Bump MSRV to 1.77, because binary info examples need C-Strings.
- Bump MSRV to 1.79 to enable inline_const, used for static asserts.
Added
- Support for binary info, which is metadata that
picotoolcan read from your binary. - #824 @thejpster - Enable transfer size of PIO DMA to be specified - #788 @jsgf
- Implement embedded_io traits for Reader/Writer - #781 @jannic
- Implement
send_breaksupport - #700 @ithinuel - Support for aborting DMA transfers - #803 @EliseZeroTwo
- Gpio: add PinGroup::set_u32 to allow setting each pin to a different state - #811 @ithinuel @jannic
- Derive
defmt::FormatforRtcError, fix doc typo - #818 @hfly0 - Implement
embedded_ioReadReadyandWriteReadytraits for uart - #837 @antbern - Provide arch module on RP2040 - #845 @jannic
- Implement Debug support for the GPIO structures - #861 @robamu
Fixed
- Let UART embedded_io::Write::write return if some bytes were written. - #838 @jannic
- Fix unsoundness in definition of stack for spawning core1. - #874 @jannic
- Fix float_to_fix64 return value & docs for f32 trig functions - #787 @Text-Input
- Fix debugging after halt() - #785 @jannic
- Fix oneshot adc read waiting indefinitely - #799 @mjptree
- Fix several broken
transmutecalls - #805 @jannic - Fix set_low() and set_high() implementation for OutputPin - #807 @martinsp
- Fix some warnings and clippy lints - #802 #813 #849 #865 @jannic
- Fix writing to pin groups - #812 @jannic
- Fixed some UART driver bugs - #841 @thejpster
- spi: remove undesired parameter to set_format - #860 @ithinuel
- Update RP2040-hal example urls - #878 @flinguenheld
Changed
- Simplify ceiling division in delay calculation - #783 @jannic
- Base CountDown on Timer instead of &Timer - #815 @jannic
- UART: Avoid discarding already read bytes on error - #798 @jannic
- Rationalise all the license files and copyright notices. - #829 @thejpster
- spi: move set_format to all states - #831 @ithinuel
- Extract picotool binary info to a separate
rp-binary-infocrate. - #830 @Dirbaio - Restructure repository layout in preparation of RP2350 support - #828 #834 @thejpster
- Update critical-section dependency to version 1.2.0 - #862 @jannic
rp-binary-info v0.1.0
First release of rp-binary-info.
rp2040-hal v0.10.2
rp2040-hal v0.10.1
rp2040-hal v0.10.0
0.10.0 - 2024-03-10
Added
- Implement i2c-write-iter traits - #765 @ithinuel
- Add categories and keywords to Cargo.toml - #769 @rursprung
- Add getters to the various pad overrides - #768 @ithinuel
- Add an example for using embedded-alloc - #306 @umgefahren @jannic
- Introduce async.await i2c implementation - #747 @ithinuel
- Support embedded_hal 1.0.0 - #734 #736 #753 @jannic @jonathanpallant
- Implement defmt formatting and Debug for clocks::InitError - #751 @jannic
- Implement embedded-io Read + Write for UartPeripheral - #727 @Sympatron
- Add from_installed_program with correct shift direction - #715 @jannic
- Add derive(defmt::Format) to i2c::peripheral::I2CEvent - #726 @ithinuel
- Make PIO IRQ IDs into ZSTs - #723 @9ary
- Add RTC examples & expand RealTimeClock & ClockManager capabilities - #676 @ithinuel
- Allow to use ADC free-running mode without FIFO - #739 @jannic
- Add on-chip voltage regulator (VREG) voltage setting function - #757 @AkiyukiOkayasu
- Support for entering and exiting DORMANT mode - #701 @andrewh42
Changed
- Update lower VCO frequency limit according to datasheet update - #773 @ithinuel
- Bump MSRV to 1.75 - #761 @ithinuel
- Move on-target-tests back to the work space - #762 @ithinuel
- Set startup_delay_multiplier of XOSC to 64, and make it configurable.
This should increase compatibility with boards where the oscillator starts up
more slowly than on the Raspberry Pico. - #746 @jannic - Replace asm macros by rust macros - #730 @jannic
- Update usb-device implementation - #584 @ithinuel
- Update rp2040-pac to v0.6.0 and apply required changes - #770 @AkiyukiOkayasu
- Some reorganization of ADC code, making sure that AdcPin can only
be created for pins that can actually be used as ADC channels - #739 @jannic - Breaking change: Clear the input-enable flag of all pins on bank 0 in
Pins::new.
They will automatically be enabled when setting a pin function, so most users
won't be affected by that change. Notable exception: If you rely on the fact that
PIO can read all pins as input even if the pin is not configured to the PIO function,
you may need to set the input-enable flag manually. - #755 @jannic
Fixed
- Properly report UART break conditions - #712 @jannic
- Ensure that i2c pins have PullUp activated - #708 @jannic
- PWM: Set TOP to 0xfffe by default and fix get_max_duty - #744 @jannic
- Add missing ValidFunction implementation for DynFunction - #738 @ithinuel
- Fix RealTimeClock & UsbBus ownership - #725 @jnthbdn
- Make Spi::free also free up the pins - #719 @SCingolani
- Add safety comments to unsafe rom function - #721 @jannic
- Several cleanups and documentation updates - #716 #718 #720 #743 #763 #767 #776 #777 #778 #779 @jannic @ithinuel