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.
- Add
f469disc-lcd-test
with color/BER test pattern LCD output [#789] - Port
dsihost
implementation from stm32h7xx-hal [#786] - I2C 10-bit address support for I2c #772 #783
i2c_scanner
example #758- Enable
sdio
for stm32f446 #764 - port LTDC implementation and example from stm32f7xx-hal #731
- port
stm32-fmc
support and example from stm32f7xx-hal #759 - IrDA mode for USARTs #761
- initial
SAI
support #248 - initial
embedded-io
support #725
- RTC:
ClockSource
enum instead of generic #785 - Bump MSRV to 1.62 #778
- Use
stm32f4-staging
untilstm32f4
is released #706 - use GPIO pac fields instead of raw write #777
- RTIC2 monotonics fix: CC1 instead of CC3 #771
- Allow different lengths of buffers in hal_1 SpiBus impl #566
- Clean SPI write impls #774
- move
ptr()
toPtr
trait #773 - make
I2sFreq
trait similar toBusClock
, refactorrcc::Pll
#796 #798 steal
UART peripheral onRx::new
#768
v0.21.0 - 2024-05-30
- add trait bound
RegisterBlockImpl
to typeRegisterBlock
associated withserial::Instance
#732 - remove unneeded trait bound for methods that take in a
serial::Instance
and use the associatedRegisterBlock
- bump
sdio-host
to 0.9.0, refactor SDIO initialization #734 - Added non-blocking serial based on DMA #738
- use RTCCLK for RTC wakeup timer for short durations #746
- Enable DMA for DualI2sDriver main() and ext() respectively #684
- Support 8-bit FMC data bus
- Port
rtic-time::Monotonic
implementations fromrtic-monotonics
for TIMx #756
- Fix transmission termination in I2C master DMA read #736
- Prevent starting a new I2C transmission before previous stop finishes #737
- Fix complementary output polarity for PWM #754
v0.20.0 - 2024-01-14
- shorten gpio ptr access #719
- bump embedded-hal to
1.0
(no more RC!) #723 - make
embedded-hal
1.0
main implementation #720 - add
embedded-hal-nb::serial
#726 - rename
rtic
feature tortic1
, addrtic2
#727 - rename
stm32_i2s_v12x
feature toi2s
#718 - Check features enabled in
build-rs
#718
v0.19.0 - 2023-12-11
- Added an example to show how to do DMA with UART (Rx only) [#698]
- bump embedded-hal to
1.0-rc2
#704 - Use
as_ptr
for register address casting #703 - Updated
synopsys-usb-otg
to0.4.0
#699 - use
repr(u32)
for flags, revertspi::CrcError
clean #709 - revert
spi::check_read
/check_write
#712
- Wait at least given time in
embedded-hal
delay
#704
v0.18.0 - 2023-11-19
- bump embedded-hal to
1.0-rc1
(removeserial
part) #694 - complete and rework Dma Stream API #666
- Use
enumflags2::BitFlags
for interrupt flags and events #673 - SPI bidi takes 2 pins #526
Fast Read Quad I/O (EBh)
inqspi-w25q
example now matches W25QXX datasheet. #682embedded-storage
version bumped to 0.3 #693
- fix serial RxN & TxN alises #680
v0.17.1 - 2023-07-24
- implement
embedded_hal::blocking::i2c::Transactional
forI2c
#671
- reset timer interrupt in
Counter::start
#670
v0.17.0 - 2023-07-11
rcc::Enable
,rcc::LPEnable
traits, timclk inClocks
instead of prescalers #665- move gpio, dma impls, adc pins in subdir, remove unused
From
impls #658 #664 - Bump
embedded-hal
to1.0.0-alpha.11
. See their changelog for further details. Note that this included breaking changes to the previous alpha APIs. #663,#668 - Fix race condition in sending start condition in I2C. #662
v0.16.2 - 2023-06-27
- enable
defmt
feature for VSCode,set_alarm
takesInto<AlarmDay>
#660 - Optimize watchdog setup calculation #657
- Compilation with
defmt
feature enabled
v0.16.1 - 2023-06-24
- bors bot replaced with GH merge queue #652
- Integrate new version of stm32_i2s (v0.5) to enable full-duplex operation #637
- Add a rtic example to show how to do full-duplex i2s #637
- Set
Speed::VeryHigh
default for FMC, SDIO & OTG_HS_ULPI pins, clean into_alternate in examples #632 - Join
Serial
,Rx
,Tx
forUSART
andUART
again. Make inner traits with different implementation for USART and UART. #636
into_mode
forErasedPin
andPartiallyErasedPin
#647- Extended 64-bit monotonic timer #640
- Basic blocking QSPI interface #645
- Rtc: add subsecond reading, add interrupts #446
v0.16.0 - 2023-05-07
- Use
enum
s for alternate peripheral pins (generic over otype) #594 #596 #600 #610 #617 - Add
ReadPin
,PinSpeed
&PinPull
traits #623 - Split USART and UART implementations #608
- Split SPI master and slave implementations #609
- Simplify
gpio::Outport
#611 - Add autoimplementations of
DMASet
#614 ws2812::prerendered
in example #615- Integrate new version of stm32_i2s (v0.4) #626
- Improve SPI::new* docs #587
- Add advanced timer dead time insertion example #585
- Added missing U(S)ART DMA traits for HAL serial types #593
- I2c dma can now use single DMA channel for TX or RX only #598
- Improve SPI::new* docs #587
- Implement
serial::RxISR
fordma::Transfer<..., PERIPHERAL, ...>
wherePERIPHERAL: serial::RxISR
, addrtic-serial-dma-rx-idle
example #588 - Add
lapce
editor settings #601 - rcc
enable_unchecked
, timer features #618
- Cleanups #595
- Fix comlementary for independent channels #599 #603
- Fix mstr bit for SPI Master/Slave #625
v0.15.0 - 2023-03-13
- Bump
nb
to 1.1 - Bump
synopsys-usb-otg
to 0.3.2 (bug fix) #575 - Update readme, clippy fixes
- Added possibility to pass complementary pins to
Pwm
and change pwm channel polarity #571, set dead time and idle state for advanced timers #578 #581
- Docs in
rtic-adc-dma
example #532 OutPortX
(X = 2..8) andOutPortArray
structures which can handle several pins at once #426restore
forErasedPin
andPartiallyErasedPin
#563- Added a public method to set SSI bit in SPI. #543
spi-dma
example pins speed- Fix alternate function pin definitions for FMPI2C1 #572
- Fix SDIO hardware flow control errata #577
v0.14.0 - 2022-12-12
- Add missing timer pins #536
- Revised temperature sensor input pins for all MCUs #529
- Support
u16
read/write for SPI - Use
bool
for BIDI mode type PwmHz::get_period
: fix computation of return value, prevent division by zero- apply #[inline] attribute to bitbanding functions #517
- update
stm32f4
to 0.15.1 #481 - use
stm32_i2s_v12x
version 0.3, reexport it, and implements requirement for it #490 - i2s module don't reuse marker from spi module and define its own #490
i2s-audio-out
example updated and now use pcm5102 dac module instead one from discovery board #490- extend visibility of gpio/marker to crate since i2s module require it #490
- Bump
synopsys-usb-otg
to0.3.0
#508 - Bump
embedded-hal
to1.0.0-alpha.8
#510 - Update
bxcan
,rtic
and other dependencies #519 - Bump
synopsys-usb-otg
to0.3.1
#535 - Renamed and updated rtic-button example (was rtic) #551
- Rename adc_dma_rtic to rtic-adc-dma and move it to defmt #552
- Rename spi_slave_dma_rtic to rtic-spi-slave-dma and unbroke it #552
- Rename i2s-rtic-audio-in-out to rtic-i2s-audio-in-out #552
i2s-audio-out-dma.rs
example, too difficult to fix.
- use register.modify instead of register.write to start PWM #501
- add missing generic param for Spi::release implementation.
- build rtic-usb-cdc-echo example #554
- reset timer cnt register when changing pwm period #555
- Trait typo preventing ADC2 being used with DMA2 #557
-
example of using ft6x06 touchscreen driver for stm32f412 and stm32f413 #527
-
Implementation of From trait for Pin-to-PartiallyErasedPin #507
-
Implementation of From trait for Pin-to-ErasedPin #507
-
Implementation of From trait for PartiallyErasedPin-to-ErasedPin #507
-
SysMonoTimerExt
helper trait,Pwm::(get/set)_duty_time
#497 -
example of using i2s in out with rtic and interrupt.
-
example of using USB CDC with interrupts.
-
Added non-blocking I2C based on DMA #534
-
Added Transactional I2C API #542
-
Added rtic-usart-shell example #551
-
Added rtic-usart-shell-ssd1306 example #551
-
Added rtic-usb-cdc-echo example #553
-
Add possibility to clear a Serial
Rx
idle interrupt from a DMATransfer
#556 -
Implementation of From trait for Pin-to-PartiallyErasedPin #507
-
Implementation of From trait for Pin-to-ErasedPin #507
-
Implementation of From trait for PartiallyErasedPin-to-ErasedPin #507
-
SysMonoTimerExt
helper trait,Pwm::(get/set)_duty_time
#497 -
example of using i2s in out with rtic and interrupt.
-
example of using USB CDC with interrupts.
-
Added non-blocking I2C based on DMA #534
-
Added Transactional I2C API #542
-
Added wait method for DMA Transfer.
v0.13.2 - 2022-05-16
Pin::with_mode
#489
Spi
can be operated asSlave
#487
v0.13.1 - 2022-04-20
- Fix
embedded_hal 1.0-alpha.7
version, publicPinMode
, update deps #485 - Remove the defmt feature/dependency name workaround #479
v0.13.0 - 2022-04-04
DmaSet
&Transfer
take channel after stream generic, then other #477- Depracate "rt" feature as enabled by-default in
pac
#476 - Add
Pin::interrupt()
helper method #476 - Add restriction for setting pins in alternate mode (
IntoAF
), add docs #474 - Explicit order for PINS, more smart aliases for peripherals #472
- Add
AFn
type aliases forAlternate<n>
#471 - CI updates + cache #468
- Add missing
embedded-hal 1.0
forDynamicPin
#470 - Remove pull resistor from
Input
mode, usePull
enum instead, add universalinto_mode
pin converter #467 - Move pin mode at the end of generics, add defaults for modes, bump MSRV to 1.59 #418
- Move hd44780-driver to dev-dependencies #465
- Fixed RCC example #473
- Enable the defmt feature on fugit when the defmt feature on the crate is enabled #465
- Support eMMC peripherals using SDIO module #458
defmt::Format
derive on enums behinddefmt
feature #460- SPI transactional impl #464
v0.12.0 - 2022-02-23
- Make
Monotonic
implementation generic foru32
timers, fixPwmExt
trait #454 - Rename
Delay<SYST>
to SysDelay, remove oldDelay<TIM2>
- Extend timers to 32bit on
Delay
- Move
MonoTimer
fromtimer
to dwt mode #448 - Unify serial trait impls for embedded-hal 0.2 & 1.0 #447
- Add possibility to select Timer master mode
- Add inherent impl of
embedded_hal::Pwm
methods onPwm
s #439 - Use
embedded-dma
v0.2 #440 - Add LSI support for
Rtc
#438 - Use
time
forRtc
instead ofrtcc
, addrtc
example #436 - Move
i2c
embedded-hal
trait impls toI2c
methods #431 - Reexport pins in
gpio
module - Pwm channels now constants #432
- Use fugit rate types instead of custom #430
- Add channel events, make Event use bitflags (simplify interrupt handling) #425
- reexport
digital::v2::PinState
again #428 - Timer impls with time based on
fugit::Duration
same asHertz
moved totimer
module, added appropriateExt
traits implemented on peripherals directly, addedPwm
andfugit-timer
impls #423 #449
- Incorrect values of autoreload in
CountDown::start
,Pwm::new
,Delay
and prescaler inDelay
#422
- Missing
DelayMs<u8>
/DelayUs<u8>
impls for fugit::Delay - Support of embedded-hal 1.0.0-alpha.7 #443
hd44780
example #441- Aliases for peripheral wrappers #434
WithPwm
trait implemented for timers with channels (internals) #425Pwm
struct withsplit
method and implementation of embedded-hal::Pwm (similar to f1xx-hal) #425- VSCode setting file
- Add CAN1 PB8/PB9 and SPI3 MOSI PC1 pin mappings for F446 #421
- Add embedded-storage traits for flash #429
Debug
&defmt::Format
impls for some structures and enums #385
- Fix Width of TIM5 F410 #409
- up
cortex-m
to 0.7.4, usecycle_count
instead ofget_cycle_count
on DWT #415
v0.11.1 - 2021-12-30
- Remove optional
atat
dependency #408
v0.11.0 - 2021-12-29
- Added
Counter
withCountDown<Time=fugit::TimerDuration>
andatat::Clock
implementations #381 Into<serial::Config>
forBps
#387- Added the missing DMA implementations for USART3 #373
DynamicPin
with dynamically changed mode, removeAF
constants #372count_down
constructor forTimer
->CountDownTimer
without start #382- Implementation of RTIC Monotonic for TIM2 & TIM5 under
rtic
feature #380 #390 IoPin
forOutput<OpenDrain>> <-> Input<Floating>>
#374IoPin
forOutput<PushPull>> <-> Input<PullUp>> and Input<PullDown>>
#389- Add
internal_pull_down
toPin<Output<OpenDrain>>
andPin<Alternate<PushPull>>
for symmetry withinternal_pull_up
#399 - Added
peripheral
for DMA read access to peripheral #396 - Added ADC2+ADC3 implementations to DMA Transfer #396
- Added
reference_voltage
to Adc #396
- Correct default mode for debugger pins #405
- Move
embedded-hal
implementations to subdirs #404 - Qei macro cleanups #403
- Update RTIC to 1.0 #401
- Finish SDIO data transmission before querying card status in
write_block
#395 - SDIO: Rewrite loop conditions to silence clippy
- Unify alternate pin constraints #393
- Prevent overflow when optimizing SAI PLL #419
- [breaking-change] Use
&Clocks
instead ofClocks
#387 - Split and rename
GetBusFreq
->BusClock
,BusTimerClock
#386 - [breaking-change] Remove
Can::new_unchecked
. AddCan::tx
andCan::rx
#384 - [breaking-change] Make
Alternate
generic overOtype
instead of separateAlternate
andAlternateOD
#383 - [breaking-change] Bump
stm32f4
to 0.14. Update RTIC based examples to usertic
0.6 #367 - [breaking-change] Bump
bxcan
to 0.6 #371 - fix #362: ADC voltage conversion might be incorrect #397
- [breaking-change] Change
Pin<Output<OpenDrain>>::internal_pull_up
signature from(&mut self, _: bool) -> ()
to(self, _: bool) -> Self
. #399
v0.10.1 - 2021-10-26
- Fix
cortex-m-rt
dependency
v0.10.0 - 2021-09-22
- PWM channels for timers 9-14 #364
ws2812_spi
example #363AsRef/AsMut<Rx/Tx
for Serial #355spi::Transactional
#356IoPin
forOutput<OpenDrain>
andOutput<PushPull>> <-> Input<Floating>>
#356- I2c
Mode
with duty_cycle #353 - Simple docs in gpio.
into_<output>_in_state
,with_<output>_in_state
#351 - Weaker constrains for examples #351
- Deprecate
stm32
alias. #351 - Temporary change pin mode #346
- More badges in README #345
RccBus
&GetBusFreq
traits.AHBx
,APBx
structures #342- Filler
NoPin
type #340 - Add inherent impl of
PwmPin
methods onPwmChannel
s. Serial:tx
andSerial::rx
that take only 1 pin #332- Instead of
Alternate<AF1>
you can just useAlternate<1>
#328 PinState
andget/set_state
#325- Inherent methods for infallible digital operations #325
- Generic
into_alternate
andinto_alternate_open_drain
. Non-generic ones are deprecated #266 PinExt
trait. MakeExtiPin
implementation generic #323Enable
,LPEnable
andReset
traits inrcc
. Implemented for all used peripherals #311- Features corresponding to peripherals #311
- Improved documentation of rng and prelude #303
- Added an example of integration with RTIC #295
- Added internal pullup configuration for the AlternateOD pin type #298
- Added USART support for sending and receiving 9-bit words #299
- Added support for I2S communication using SPI peripherals, and two examples #265
- Added support for some LCD controllers using the Flexible Static Memory Controller / Flexible Memory Controller #297
- Added
DelayMs
/DelayUs
impls for TIM2/TIM5 #309 - Added an example for using the new FSMC interface with the provided
display-interface
driver and thest7789
driver on a F413Discovery board #302 - Derive
Eq
,PartialEq
,Copy
andClone
for error types #306 - Added open-drain pin mode support for PWM output #313
- Added missing error flags for dma streams #318
- Added PWM input capability to all compatible timers #271
- Bidi mode support for SPI #349
- Added
listen
andunlisten
for RX- and TX-only USART #357 - Added function for clearing the idle line interrupt in USART #357
- Added flash driver #347
- Added
gpio::gpiox::Pxi::downgrade2
method #323 - Added DMA support for SPI #319
- Bumped a few dependencies and fixed example fallout #365
- Uncommented two TIM5 channels for STM32F410 #364
- Update examples with
embedded-graphics
, remove deprecatedI2s::i2sx
#358 into_alternate()
may be omitted now forSerial
,Spi
,I2s
,I2c
#359- [breaking-change] 115_200 bps for Serial by default #355
- Move
Tx
,Rx
structures intoSerial
#355 - Update
embedded-hal
dependendency #356 - [breaking-change]
into_<output>
fns set pin inLow
state by default #351 - Use manual impls for blocking spi instead of
Default
#356 - Split
Stream
trait onStream
andStreamISR
, use const generics forStream
andChannel
#341 - [breaking-change]
Timer::new
now just initializes peripheral, use.start_count_down
to start count,pwm
ordelay
onTimer
struct #337 - Add
Spi::new
,I2s::new,
spi::Instanceand deprecate
Spi:spix, deprecate
Serial::usartx, remove deprecated
I2c::i2cx` #330 - Deprecate
free
in favour ofrelease
#333 - Clean features in
serial
,spi
,i2c
,timer
#331, #334 - Internal implementation of GPIO Pin API changed to use Const Generics #266
- Update the sdio driver to match the changes in the PAC #294
- Update README.md with current information #293
- Updated serial driver to use 32-bit reads and writes when accessing the USART data register #299
- Add possibility to use DMA with the ADC abstraction, add example for ADC with DMA #258
- Remove unsafe code from ADC DMA example #301
- [breaking-change] DMA: Memory to peripheral transfers now only require
StaticReadBuffer
#257. - Rename erased
Pin
toEPin
, partially erasedPXx
toPEPin
,PX
toPin
#339 - [breaking-change]
gpio::Edge::{RISING, FALLING, RISING_FALLING}
are renamed toRising
,Falling
,RisingFalling
, respectively #343
- Fixed typo in string representation in DMAError type #305
- Corrected pin definitions for the Flexible Static Memory Controller / Flexible Memory Controller LCD interface #312
- Eliminated
channel_impl
macro warnings caused by unused ident #323
v0.9.0 - 2021-04-04
- [breaking-change] Bump
rand_core
dependency to 0.6. - [breaking-change] Bump main crate dependencies
cortex-m
,bare-metal
andnb
- [breaking-change] Bump
stm32f4
version to 0.13. - Removing error on I2C bus errors due to errata workaround.
- [breaking-change] Updated synopsys-usb-otg dependency to v0.2.0.
- Cleanups to the Sdio driver, some hw independent functionality moved to the new sdio-host library.
- [breaking-change] Sdio is disabled by default, enable with the
sdio
feature flag. - Move SDIO card power handling to its own function.
- [breaking-change] Add a 2 ms delay after changing SDIO card power setting.
- [breaking-change] Changed sdio::{read, write}_block buf argument to &[u8; 512].
- Voltage regulator overdrive is enabled where supported and required for selected HCLK.
- I2C driver updated to detect and clear all error condition flags.
- Allow for skipping an ongoing DMA transfer if not using double buffering.
- Change DMA traits to
embedded-dma
. - Use bitbanding during clock enabling and peripheral reset to avoid data races.
- Add missing
Write
implementation forSerial
and implemented better error handling. - [breaking-change] ADC2 and ADC3 no longer allow access to VREF, VBAT, or the internal temperature measurement (ADC2 and ADC3 do not have an internal connection for these channels)
- Improved Serial baudrate calculation to be correct for higher baudrates or lower PCLKs
- Added
SysCfg
wrapper to enforce clock enable forSYSCFG
- [breaking-change] gpio::ExtiPin now uses
SysCfg
wrapper instead ofSYSCFG
- Change
WriteBuffer + 'static
toStaticWriteBuffer
in the DMA module. - Fixed a race condition where SPI writes could get stuck in an error state forever (PR #269).
- Implement generics on the serial module.
- Implement generics on the i2c module, not including fast i2c.
- Updated SDIO_D0 pin to PB7 for stm32f411 [#277]
- Address ST erratum 2.1.13 (DM00037591) #278
- Implement generics on the qei module.
- Bump ssd1306 dev-dependency and cleanup examples
- Reexport PAC as
pac
for consistency with other crates, considerstm32
virtually deprecated - Added external interrupt (EXTI) support for output pins
- Added
check_interrupt
method for GPIO pins - Basic support for DAC
- Add initial DMA support
- Allow specification of ADC reference voltage in ADC configuration structure
- Added support for hardware-based CRC32 functionality
- Add
MonoTimer
andInstant
structs for basic time measurement. - Added support for I2S and SAI clocks
- Added support for canbus with the bxcan crate.#273 The version range is
<=0.4, <0.6
. (Currently the latest version is0.5.0
) #286 - Added a
freeze_unchecked
method #231 - Added support for the Real Time Clock (RTC)
- Added option to bypass the HSE oscillator and use a clock input #263
- Added support for CAN on additional models: STM32F412, STM32F413, STM32F415, STM32F417, STM32F423, STM32F427, STM32F429, STM32F437, STM32F439, STM32F469, and STM32F479 #262
- Stability fixes related to SD card write
- Fixed issue where timer generated a spurious interrupt after start
- Allow implementations for DMASet from outside the crate #237
- DMA: Make it possible to create the wrapper types for the timers #237
- DMA: Fix some
compiler_fences
#237 - DMA: Fix docs #237
- RCC for F412, F413, F423, F446: Add missing configuration of PLLI2SCFGR.PLLI2SN #261
- RCC for F411: Add missing configuration of PLLI2SCFGR.PLLI2SM #264
- CRC: Fixed CRC clock not being enabled #283
v0.8.3 - 2020-06-12
- Make sure that I2C writes are concluded with a STOP condition
v0.8.2 - 2020-05-29
- Added sdio driver
- Allow specifying the desired SDIO bus speed during initialization
v0.8.1 - 2020-05-10
- Implement
timer::Cancel
trait forTimer<TIM>
. - Added DWT cycle counter based delay and stopwatch, including an example.
v0.8.0 - 2020-04-30
- [breaking-change] Updated stm32f4 dependency to v0.11.
- Wait 16 cycles after setting prescalers for some clock domains to follow manual.
- Fixed
TIM9
pclk
andppre
.
- Implement
timer::Cancel
trait forTimer<SYST>
. - Added PWM support and example.
v0.7.0 - 2020-03-07
- Added more type states for open drain AF modes so we can prevent (potential fatal) I2C misuse
- [breaking-change] Updated stm32f4 dependency to v0.10.0.
- Added examples in the examples folder.
- Added USB driver.
- PLL48Clk configuration.
- Added bit-banding implementation.
- Added support for RNG peripheral and rand_core, and an example that uses it.
v0.6.0 - 2019-10-19
- [breaking-change] Updated embedded-hal dependency to v0.2.3 and switched to digtial::v2 traits.
- Implemented
Qei
trait - Implemented
clear_interrupt()
method for TIM timers
v0.5.0 - 2019-04-27
- [breaking-change] Updated stm32f4 dependency to v0.7.0.
- Replace macro by generic impl over spi1::RegisterBlock in SPI.
- Properly terminate I2C read with a NACK then a STOP.
v0.4.0 - 2019-04-12
-
API to enable and disable SPI interrupts
-
Hal ADC supporting one-shot and sequence conversion of regular channels.
-
Implement IndependentWatchdog for the IWDG peripheral
-
Implement reading the device electronic signature from flash
- [breaking-change] Updated cortex-m dependency to v0.6.0.
v0.3.0 - 2019-01-14
-
Support ToggleableOutputPin trait in GPIO to allow using toggle().
-
Possibility to configure GPIO pins into analog input mode.
-
Possibility to configure GPIO pins to generate external interrupts.
-
Support NoTx and NoRx in Serial to allow setting up a Rx only or Tx only port.
-
Support for stm32f405, stm32f410, stm32f413, stm32f415, stm32f417, stm32f423, stm32f427, stm32f437, stm32f439, stm32f446, stm32f469 and stm32f479.
-
Support for I2C2 and I2C3 in addition to I2C1.
-
Read and Write implementations for Serial.
-
More versatile RCC clocks configuration.
-
Allow using any pair of Pins for I2C rather than only a few hardcoded ones.
-
Allow using any pair of Pins for Serial rather than only a few hardcoded ones.
-
[breaking-change] Updated stm32f4 dependency to v0.6.0.
- Serial baud rate divisor fractional overflow.
v0.2.8 - 2018-12-16
- Documentation generation.
v0.2.7 - 2018-12-16
- Switched to Rust 2018 edition.
v0.2.6 - 2018-12-06
-
Support for GPIOH PH0 and PH1 on stm32f401.
-
Support for serial port Idle interrupt.
-
Basic
memory.x
linker script and default linking options.
- Changed repository URL.
-
I2C clock setting.
-
GPIO
set_open_drain
is now setting theotyper
register correctly.
v0.2.5 - 2018-11-17
-
Support for stm32f411.
-
Spi trait implementation.
-
Updated stm32f4 dependency to v0.4.0.
-
Simplified and improved RCC parameters selection.
v0.2.4 - 2018-11-05
- Support for Serial interrupt enable and disable.
- Made the
rt
feature of stm32f4 optional.
- Avoid overwriting the cache bits in
flash.acr
.
v0.2.3 - 2018-11-04
-
Support for stm32f412.
-
Gpio InputPin implementation for output pins to allow reading current value of open drain output pins.
-
Timer trait implementation.
- No default features selected for the stm32f4 crate. User must specify its specific device.
v0.2.2 - 2018-10-27
- Gpio
set_speed
.
v0.2.1 - 2018-10-13
- Removed unnecessary feature gates.
v0.2.0 - 2018-10-11
-
Support for stm32f401.
-
[breaking-change]. Support for setting serial port word length, parity and stop bits.
- Support longer Delay without asserting.
- Support for stm32f407 and stm32f429.