mirror of
https://github.com/embassy-rs/embassy.git
synced 2025-09-27 04:10:25 +00:00

DS18B20 sensors require a strong pullup to be applied for the duration of the temperature conversion, within 10us of the command. The rp2xxx pins have sufficient drive strength to use as the pullup (no external mosfet needed). Add a new write_bytes_pullup() that will apply the pullup after bytes are written. Existing read_bytes()/write_bytes() has no change to onewire timing. A pio_onewire_parasite example reads multiple sensors individually, applying the strong pullup.
6.6 KiB
6.6 KiB
Changelog for embassy-rp
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased - ReleaseDate
- Add PIO SPI
- Add PIO I2S input
- Add PIO onewire parasite power strong pullup
0.8.0 - 2025-08-26
0.7.1 - 2025-08-26
- add
i2c
internal pullup options (#4564)
0.7.0 - 2025-08-04
- changed: update to latest embassy-time-queue-utils
0.6.0 - 2025-07-16
- update to latest embassy-usb-driver
0.5.0 - 2025-07-15
- Fix wrong
funcsel
on RP2350 gpout/gpin (#3975) - Fix potential race condition in
ADC::wait_for_ready
(#4012) flash
: renameBOOTROM_BASE
toBOOTRAM_BASE
(#4014)- Remove
Peripheral
trait & renamePeripheralRef
toPeri
(#3999) - Fix watchdog count on RP235x (#4021)
- I2C: ensure that wakers are registered before checking status of
wait_on
helpers (#4043) - Modify
Uarte
andBufferedUarte
initialization to take pins before interrupts (#3983) uart
: increase RX FIFO watermark from 1/8 to 7/8 (#4055)- Add
spinlock_mutex
(#4017) - Enable input mode for PWM pins on RP235x and disable it on drop (#4093)
- Add
impl rand_core::CryptoRng for Trng
(#4096) pwm
: enable pull-down resistors for pins inDrop
implementation (#4115)- Rewrite PIO onewire implementation (#4128)
- Implement RP2040 overclocking (#4150)
- Implement RP235x overclocking (#4187)
trng
: improve error handling (#4139)- Remove
<T: Instance>
fromUart
andBufferedUart
(#4155) - Make bit-depth of I2S PIO program configurable (#4193)
- Add the possibility to document
bind_interrupts
struct
s (#4206) - Add missing
Debug
anddefmt::Format
derive
s for ADC &AnyPin
(#4205) - Add
rand-core
v0.9 support (#4217) - Update
embassy-sync
to v0.7.0 (#4234) - Add compatibility with ws2812 leds that have 4 addressable lights (#4236)
- Implement input/output inversion (#4237)
- Add
multicore::current_core
API (#4362)
0.4.0 - 2025-03-09
- Add PIO functions. (#3857)
The functions added in this change areget_addr
get_tx_threshold
,set_tx_threshold
,get_rx_threshold
,set_rx_threshold
,set_thresholds
. - Expose the watchdog reset reason. (#3877)
- Update pio-rs, reexport, move instr methods to SM. (#3865)
- rp235x: add ImageDef features. (#3890)
- doc: Fix "the the" (#3903)
- pio: Add access to DMA engine byte swapping (#3935)
- Modify BufferedUart initialization to take pins before interrupts (#3983)
0.3.1 - 2025-02-06
Small release fixing a few gnarly bugs, upgrading is strongly recommended.
- Fix a race condition in the time driver that could cause missed interrupts. (#3758, #3763)
- rp235x: Make atomics work across cores. (#3851)
- rp235x: add workaround "SIO spinlock stuck after reset" bug, same as RP2040 (#3851)
- rp235x: Ensure core1 is reset if core0 resets. (#3851)
- rp235xb: correct ADC channel numbers. (#3823)
- rp235x: enable watchdog tick generator. (#3777)
- Relax I2C address validity check to allow using 7-bit addresses that would be reserved for 10-bit addresses. (#3809, #3810)
0.3.0 - 2025-01-05
- Updated
embassy-time
to v0.4 - Initial rp235x support
- Setup timer0 tick when initializing clocks
- Allow separate control of duty cycle for each channel in a pwm slice by splitting the Pwm driver.
- Implement
embedded_io::Write
for Uart<'d, T: Instance, Blocking> and UartTx<'d, T: Instance, Blocking> - Add
set_pullup()
to OutputOpenDrain.
0.2.0 - 2024-08-05
- Add read_to_break_with_count
- add option to provide your own boot2
- Add multichannel ADC
- Add collapse_debuginfo to fmt.rs macros.
- Use raw slices .len() method instead of unsafe hacks.
- Add missing word "pin" in rp pwm documentation
- Add Clone and Copy to Error types
- fix spinlocks staying locked after reset.
- wait until read matches for PSM accesses.
- Remove generics
- fix drop implementation of BufferedUartRx and BufferedUartTx
- implement
embedded_storage_async::nor_flash::MultiwriteNorFlash
- rp usb: wake ep-wakers after stalling
- rp usb: add stall implementation
- Add parameter for enabling pull-up and pull-down in RP PWM input mode
- rp: remove mod sealed.
- rename pins data type and the macro
- rename pwm channels to pwm slices, including in documentation
- rename the Channel trait to Slice and the PwmPin to PwmChannel
- i2c: Fix race condition that appears on fast repeated transfers.
- Add a basic "read to break" function