Skip to content

Release v0.7.0

Compare
Choose a tag to compare
@Sh3Rm4n Sh3Rm4n released this 18 Jun 20:07
· 350 commits to master since this release

Added

  • Make Clocks ppre1() and ppre2() methods public, to get the current
    Prescaler value. ([#210])
  • Support for more CAN bit rates and modes. ([#186])
  • Implement into_xxx methods for partially erased pins ([#189])
  • Enable better GPIO internal resistor configuration ([#189])
  • Support for GPIO output slew rate configuration ([#189])
  • Support for GPIO interrupts ([#189])
  • ld feature, which enables the memory.x generation ([#216])
  • Implement DelayMs for Milliseconds and DelayUs for Microseconds ([#234])
  • ADC can now be free()'d ([#212])
  • Serial does now implement embedded_hal::serial::{Read, Write}.
    No split() necessary. ([#232])
  • Serial can now listen for the "Transmission Complete" Tc interrupt event ([#232])
  • Serial can now listen for the Idle interrupt event ([#238])

Changed

  • The structure of gpio.rs is greatly changed. Generic Pin struct is used
    for every GPIO pin now ([#189])

Fixed

  • Delay based on systick no longer panics ([#203]) for to high values
    and support longer delays ([#208])
  • Long delay during ADC initialization ([#217])

Breaking Changes

  • The MSRV was bumped to 1.51 ([#227])
  • Replace custom time based units with types defined in the [embedded-time][]
    crate ([#192])
  • The rcc public API now expects time based units in Megahertz.
    If the supplied frequency cannot be converted to Hertz the code
    will panic. This will occur if the supplied Megahertz frequency
    cannot fit into u32::MAX when converting to Hertz ([#192])
// The supplied frequencies must be in `MHz`.
let clocks = rcc
    .cfgr
    .use_hse(8.MHz())
    .hclk(48.MHz())
    .sysclk(48.MHz())
    .pclk1(12.MHz())
    .pclk2(12.MHz())
  • You always required to select a sub-target for target chips ([#216])
  • Bump dependencies: ([#229])
    • cortex-m to 0.7.2
    • cortex-m-rt to 0.6.4
    • defmt to 0.2.2
    • embedded-hal to 0.2.5
    • nb to 1.0.0
    • stm32f3 to 0.13.2
    • stm32-usbd to 0.6.0
  • into_afx methods are splitted into into_afx_push_pull and
    into_afx_open_drain ([#189])
  • GPIO output mode (PushPull or OpenDrain) is encoded into pin typestate
    in alternate function mode ([#189])
  • GPIO internal resistor configuration is no longer encoded into pin typestate
    in input mode ([#189])
  • Remove stm32 module. Use use stm32f3xx_hal::pac instead.
    This module was a deprecated in [v0.5.0][] and is now subject for
    removal. ([#220])
  • Serial::uart1 ... functions are renamed to Serial::new. ([#212])