embassy-stm32: Simplify time
- Remove unused `MilliSeconds`, `MicroSeconds`, and `NanoSeconds` types - Remove `Bps`, `KiloHertz`, and `MegaHertz` types that were only used for converting to `Hertz` - Replace all instances of `impl Into<Hertz>` with `Hertz` - Add `hz`, `khz`, and `mhz` methods to `Hertz`, as well as free function shortcuts - Remove `U32Ext` extension trait
This commit is contained in:
@ -6,7 +6,7 @@ use defmt::{panic, *};
|
||||
use embassy::executor::Spawner;
|
||||
use embassy::time::{Duration, Timer};
|
||||
use embassy_stm32::gpio::{Level, Output, Speed};
|
||||
use embassy_stm32::time::U32Ext;
|
||||
use embassy_stm32::time::mhz;
|
||||
use embassy_stm32::usb::{Driver, Instance};
|
||||
use embassy_stm32::{interrupt, Config, Peripherals};
|
||||
use embassy_usb::driver::EndpointError;
|
||||
@ -18,10 +18,10 @@ use {defmt_rtt as _, panic_probe as _};
|
||||
fn config() -> Config {
|
||||
let mut config = Config::default();
|
||||
|
||||
config.rcc.hse = Some(8.mhz().into());
|
||||
config.rcc.sysclk = Some(48.mhz().into());
|
||||
config.rcc.pclk1 = Some(24.mhz().into());
|
||||
config.rcc.pclk2 = Some(24.mhz().into());
|
||||
config.rcc.hse = Some(mhz(8));
|
||||
config.rcc.sysclk = Some(mhz(48));
|
||||
config.rcc.pclk1 = Some(mhz(24));
|
||||
config.rcc.pclk2 = Some(mhz(24));
|
||||
config.rcc.pll48 = true;
|
||||
|
||||
config
|
||||
|
@ -7,7 +7,7 @@ use embassy::executor::Spawner;
|
||||
use embassy::time::{Duration, Timer};
|
||||
use embassy_stm32::pwm::simple_pwm::SimplePwm;
|
||||
use embassy_stm32::pwm::Channel;
|
||||
use embassy_stm32::time::U32Ext;
|
||||
use embassy_stm32::time::khz;
|
||||
use embassy_stm32::Peripherals;
|
||||
use {defmt_rtt as _, panic_probe as _};
|
||||
|
||||
@ -15,7 +15,7 @@ use {defmt_rtt as _, panic_probe as _};
|
||||
async fn main(_spawner: Spawner, p: Peripherals) {
|
||||
info!("Hello World!");
|
||||
|
||||
let mut pwm = SimplePwm::new_1ch(p.TIM1, p.PE9, 10000.hz());
|
||||
let mut pwm = SimplePwm::new_1ch(p.TIM1, p.PE9, khz(10));
|
||||
let max = pwm.get_max_duty();
|
||||
pwm.enable(Channel::Ch1);
|
||||
|
||||
|
@ -5,13 +5,13 @@
|
||||
use defmt::*;
|
||||
use embassy::executor::Spawner;
|
||||
use embassy_stm32::sdmmc::Sdmmc;
|
||||
use embassy_stm32::time::U32Ext;
|
||||
use embassy_stm32::time::mhz;
|
||||
use embassy_stm32::{interrupt, Config, Peripherals};
|
||||
use {defmt_rtt as _, panic_probe as _};
|
||||
|
||||
fn config() -> Config {
|
||||
let mut config = Config::default();
|
||||
config.rcc.sys_ck = Some(48.mhz().into());
|
||||
config.rcc.sys_ck = Some(mhz(48));
|
||||
config
|
||||
}
|
||||
|
||||
@ -32,7 +32,7 @@ async fn main(_spawner: Spawner, p: Peripherals) -> ! {
|
||||
// Should print 400kHz for initialization
|
||||
info!("Configured clock: {}", sdmmc.clock().0);
|
||||
|
||||
unwrap!(sdmmc.init_card(25.mhz()).await);
|
||||
unwrap!(sdmmc.init_card(mhz(25)).await);
|
||||
|
||||
let card = unwrap!(sdmmc.card());
|
||||
|
||||
|
@ -12,7 +12,7 @@ use embassy_stm32::eth::generic_smi::GenericSMI;
|
||||
use embassy_stm32::eth::{Ethernet, State};
|
||||
use embassy_stm32::peripherals::ETH;
|
||||
use embassy_stm32::rng::Rng;
|
||||
use embassy_stm32::time::U32Ext;
|
||||
use embassy_stm32::time::mhz;
|
||||
use embassy_stm32::{interrupt, Config, Peripherals};
|
||||
use embedded_io::asynch::Write;
|
||||
use rand_core::RngCore;
|
||||
@ -35,7 +35,7 @@ async fn net_task(stack: &'static Stack<Device>) -> ! {
|
||||
|
||||
fn config() -> Config {
|
||||
let mut config = Config::default();
|
||||
config.rcc.sys_ck = Some(200.mhz().into());
|
||||
config.rcc.sys_ck = Some(mhz(200));
|
||||
config
|
||||
}
|
||||
|
||||
|
@ -5,13 +5,13 @@
|
||||
use defmt::*;
|
||||
use embassy::executor::Spawner;
|
||||
use embassy_stm32::sdmmc::Sdmmc;
|
||||
use embassy_stm32::time::U32Ext;
|
||||
use embassy_stm32::time::mhz;
|
||||
use embassy_stm32::{interrupt, Config, Peripherals};
|
||||
use {defmt_rtt as _, panic_probe as _};
|
||||
|
||||
fn config() -> Config {
|
||||
let mut config = Config::default();
|
||||
config.rcc.sys_ck = Some(200.mhz().into());
|
||||
config.rcc.sys_ck = Some(mhz(200));
|
||||
config
|
||||
}
|
||||
|
||||
@ -32,7 +32,7 @@ async fn main(_spawner: Spawner, p: Peripherals) -> ! {
|
||||
// Should print 400kHz for initialization
|
||||
info!("Configured clock: {}", sdmmc.clock().0);
|
||||
|
||||
unwrap!(sdmmc.init_card(25.mhz()).await);
|
||||
unwrap!(sdmmc.init_card(mhz(25)).await);
|
||||
|
||||
let card = unwrap!(sdmmc.card());
|
||||
|
||||
|
@ -7,7 +7,7 @@ use embassy::executor::Spawner;
|
||||
use embassy::time::{Duration, Timer};
|
||||
use embassy_stm32::pwm::simple_pwm::SimplePwm;
|
||||
use embassy_stm32::pwm::Channel;
|
||||
use embassy_stm32::time::U32Ext;
|
||||
use embassy_stm32::time::khz;
|
||||
use embassy_stm32::Peripherals;
|
||||
use {defmt_rtt as _, panic_probe as _};
|
||||
|
||||
@ -15,7 +15,7 @@ use {defmt_rtt as _, panic_probe as _};
|
||||
async fn main(_spawner: Spawner, p: Peripherals) {
|
||||
info!("Hello World!");
|
||||
|
||||
let mut pwm = SimplePwm::new_1ch(p.TIM2, p.PA5, 10000.hz());
|
||||
let mut pwm = SimplePwm::new_1ch(p.TIM2, p.PA5, khz(10));
|
||||
let max = pwm.get_max_duty();
|
||||
pwm.enable(Channel::Ch1);
|
||||
|
||||
|
@ -7,15 +7,15 @@ use embassy::executor::Spawner;
|
||||
use embassy::time::{Delay, Duration, Timer};
|
||||
use embassy_stm32::adc::{Adc, SampleTime};
|
||||
use embassy_stm32::rcc::AdcClockSource;
|
||||
use embassy_stm32::time::U32Ext;
|
||||
use embassy_stm32::time::mhz;
|
||||
use embassy_stm32::{Config, Peripherals};
|
||||
use {defmt_rtt as _, panic_probe as _};
|
||||
|
||||
pub fn config() -> Config {
|
||||
let mut config = Config::default();
|
||||
config.rcc.sys_ck = Some(400.mhz().into());
|
||||
config.rcc.hclk = Some(200.mhz().into());
|
||||
config.rcc.per_ck = Some(64.mhz().into());
|
||||
config.rcc.sys_ck = Some(mhz(400));
|
||||
config.rcc.hclk = Some(mhz(200));
|
||||
config.rcc.per_ck = Some(mhz(64));
|
||||
config.rcc.adc_clock_source = AdcClockSource::PerCk;
|
||||
config
|
||||
}
|
||||
|
@ -8,20 +8,20 @@ use embassy_stm32::dcmi::{self, *};
|
||||
use embassy_stm32::gpio::{Level, Output, Speed};
|
||||
use embassy_stm32::i2c::I2c;
|
||||
use embassy_stm32::rcc::{Mco, Mco1Source, McoClock};
|
||||
use embassy_stm32::time::U32Ext;
|
||||
use embassy_stm32::time::{khz, mhz};
|
||||
use embassy_stm32::{interrupt, Config, Peripherals};
|
||||
use {defmt_rtt as _, panic_probe as _};
|
||||
|
||||
#[allow(unused)]
|
||||
pub fn config() -> Config {
|
||||
let mut config = Config::default();
|
||||
config.rcc.sys_ck = Some(400.mhz().into());
|
||||
config.rcc.hclk = Some(400.mhz().into());
|
||||
config.rcc.pll1.q_ck = Some(100.mhz().into());
|
||||
config.rcc.pclk1 = Some(100.mhz().into());
|
||||
config.rcc.pclk2 = Some(100.mhz().into());
|
||||
config.rcc.pclk3 = Some(100.mhz().into());
|
||||
config.rcc.pclk4 = Some(100.mhz().into());
|
||||
config.rcc.sys_ck = Some(mhz(400));
|
||||
config.rcc.hclk = Some(mhz(400));
|
||||
config.rcc.pll1.q_ck = Some(mhz(100));
|
||||
config.rcc.pclk1 = Some(mhz(100));
|
||||
config.rcc.pclk2 = Some(mhz(100));
|
||||
config.rcc.pclk3 = Some(mhz(100));
|
||||
config.rcc.pclk4 = Some(mhz(100));
|
||||
config
|
||||
}
|
||||
|
||||
@ -39,7 +39,7 @@ async fn main(_spawner: Spawner, p: Peripherals) {
|
||||
|
||||
let mut led = Output::new(p.PE3, Level::High, Speed::Low);
|
||||
let i2c_irq = interrupt::take!(I2C1_EV);
|
||||
let cam_i2c = I2c::new(p.I2C1, p.PB8, p.PB9, i2c_irq, p.DMA1_CH1, p.DMA1_CH2, 100u32.khz());
|
||||
let cam_i2c = I2c::new(p.I2C1, p.PB8, p.PB9, i2c_irq, p.DMA1_CH1, p.DMA1_CH2, khz(100));
|
||||
|
||||
let mut camera = Ov7725::new(cam_i2c, mco);
|
||||
|
||||
|
@ -5,15 +5,15 @@
|
||||
use cortex_m_rt::entry;
|
||||
use defmt::*;
|
||||
use embassy_stm32::dac::{Channel, Dac, Value};
|
||||
use embassy_stm32::time::U32Ext;
|
||||
use embassy_stm32::time::mhz;
|
||||
use embassy_stm32::Config;
|
||||
use {defmt_rtt as _, panic_probe as _};
|
||||
|
||||
pub fn config() -> Config {
|
||||
let mut config = Config::default();
|
||||
config.rcc.sys_ck = Some(400.mhz().into());
|
||||
config.rcc.hclk = Some(200.mhz().into());
|
||||
config.rcc.pll1.q_ck = Some(100.mhz().into());
|
||||
config.rcc.sys_ck = Some(mhz(400));
|
||||
config.rcc.hclk = Some(mhz(200));
|
||||
config.rcc.pll1.q_ck = Some(mhz(100));
|
||||
config
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,7 @@ use embassy_stm32::eth::generic_smi::GenericSMI;
|
||||
use embassy_stm32::eth::{Ethernet, State};
|
||||
use embassy_stm32::peripherals::ETH;
|
||||
use embassy_stm32::rng::Rng;
|
||||
use embassy_stm32::time::U32Ext;
|
||||
use embassy_stm32::time::mhz;
|
||||
use embassy_stm32::{interrupt, Config, Peripherals};
|
||||
use embedded_io::asynch::Write;
|
||||
use rand_core::RngCore;
|
||||
@ -35,9 +35,9 @@ async fn net_task(stack: &'static Stack<Device>) -> ! {
|
||||
|
||||
pub fn config() -> Config {
|
||||
let mut config = Config::default();
|
||||
config.rcc.sys_ck = Some(400.mhz().into());
|
||||
config.rcc.hclk = Some(200.mhz().into());
|
||||
config.rcc.pll1.q_ck = Some(100.mhz().into());
|
||||
config.rcc.sys_ck = Some(mhz(400));
|
||||
config.rcc.hclk = Some(mhz(200));
|
||||
config.rcc.pll1.q_ck = Some(mhz(100));
|
||||
config
|
||||
}
|
||||
|
||||
|
@ -6,15 +6,15 @@ use defmt::*;
|
||||
use embassy::executor::Spawner;
|
||||
use embassy::time::{Delay, Duration, Timer};
|
||||
use embassy_stm32::fmc::Fmc;
|
||||
use embassy_stm32::time::U32Ext;
|
||||
use embassy_stm32::time::mhz;
|
||||
use embassy_stm32::{Config, Peripherals};
|
||||
use {defmt_rtt as _, panic_probe as _};
|
||||
|
||||
pub fn config() -> Config {
|
||||
let mut config = Config::default();
|
||||
config.rcc.sys_ck = Some(400.mhz().into());
|
||||
config.rcc.hclk = Some(200.mhz().into());
|
||||
config.rcc.pll1.q_ck = Some(100.mhz().into());
|
||||
config.rcc.sys_ck = Some(mhz(400));
|
||||
config.rcc.hclk = Some(mhz(200));
|
||||
config.rcc.pll1.q_ck = Some(mhz(100));
|
||||
config
|
||||
}
|
||||
|
||||
|
@ -10,19 +10,19 @@ use embassy::time::{Duration, Timer};
|
||||
use embassy_stm32::gpio::low_level::AFType;
|
||||
use embassy_stm32::gpio::Speed;
|
||||
use embassy_stm32::pwm::*;
|
||||
use embassy_stm32::time::{Hertz, U32Ext};
|
||||
use embassy_stm32::time::{khz, mhz, Hertz};
|
||||
use embassy_stm32::{unborrow, Config, Peripherals, Unborrow};
|
||||
use {defmt_rtt as _, panic_probe as _};
|
||||
|
||||
pub fn config() -> Config {
|
||||
let mut config = Config::default();
|
||||
config.rcc.sys_ck = Some(400.mhz().into());
|
||||
config.rcc.hclk = Some(400.mhz().into());
|
||||
config.rcc.pll1.q_ck = Some(100.mhz().into());
|
||||
config.rcc.pclk1 = Some(100.mhz().into());
|
||||
config.rcc.pclk2 = Some(100.mhz().into());
|
||||
config.rcc.pclk3 = Some(100.mhz().into());
|
||||
config.rcc.pclk4 = Some(100.mhz().into());
|
||||
config.rcc.sys_ck = Some(mhz(400));
|
||||
config.rcc.hclk = Some(mhz(400));
|
||||
config.rcc.pll1.q_ck = Some(mhz(100));
|
||||
config.rcc.pclk1 = Some(mhz(100));
|
||||
config.rcc.pclk2 = Some(mhz(100));
|
||||
config.rcc.pclk3 = Some(mhz(100));
|
||||
config.rcc.pclk4 = Some(mhz(100));
|
||||
config
|
||||
}
|
||||
|
||||
@ -30,7 +30,7 @@ pub fn config() -> Config {
|
||||
async fn main(_spawner: Spawner, p: Peripherals) {
|
||||
info!("Hello World!");
|
||||
|
||||
let mut pwm = SimplePwm32::new(p.TIM5, p.PA0, p.PA1, p.PA2, p.PA3, 10000.hz());
|
||||
let mut pwm = SimplePwm32::new(p.TIM5, p.PA0, p.PA1, p.PA2, p.PA3, khz(10));
|
||||
let max = pwm.get_max_duty();
|
||||
pwm.enable(Channel::Ch1);
|
||||
|
||||
@ -54,13 +54,13 @@ pub struct SimplePwm32<'d, T: CaptureCompare32bitInstance> {
|
||||
}
|
||||
|
||||
impl<'d, T: CaptureCompare32bitInstance> SimplePwm32<'d, T> {
|
||||
pub fn new<F: Into<Hertz>>(
|
||||
pub fn new(
|
||||
tim: impl Unborrow<Target = T> + 'd,
|
||||
ch1: impl Unborrow<Target = impl Channel1Pin<T>> + 'd,
|
||||
ch2: impl Unborrow<Target = impl Channel2Pin<T>> + 'd,
|
||||
ch3: impl Unborrow<Target = impl Channel3Pin<T>> + 'd,
|
||||
ch4: impl Unborrow<Target = impl Channel4Pin<T>> + 'd,
|
||||
freq: F,
|
||||
freq: Hertz,
|
||||
) -> Self {
|
||||
unborrow!(tim, ch1, ch2, ch3, ch4);
|
||||
|
||||
@ -115,7 +115,7 @@ impl<'d, T: CaptureCompare32bitInstance> SimplePwm32<'d, T> {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn set_freq<F: Into<Hertz>>(&mut self, freq: F) {
|
||||
pub fn set_freq(&mut self, freq: Hertz) {
|
||||
<T as embassy_stm32::timer::low_level::GeneralPurpose32bitInstance>::set_frequency(&mut self.inner, freq);
|
||||
}
|
||||
|
||||
|
@ -7,19 +7,19 @@ use embassy::executor::Spawner;
|
||||
use embassy::time::{Duration, Timer};
|
||||
use embassy_stm32::pwm::simple_pwm::SimplePwm;
|
||||
use embassy_stm32::pwm::Channel;
|
||||
use embassy_stm32::time::U32Ext;
|
||||
use embassy_stm32::time::{khz, mhz};
|
||||
use embassy_stm32::{Config, Peripherals};
|
||||
use {defmt_rtt as _, panic_probe as _};
|
||||
|
||||
pub fn config() -> Config {
|
||||
let mut config = Config::default();
|
||||
config.rcc.sys_ck = Some(400.mhz().into());
|
||||
config.rcc.hclk = Some(400.mhz().into());
|
||||
config.rcc.pll1.q_ck = Some(100.mhz().into());
|
||||
config.rcc.pclk1 = Some(100.mhz().into());
|
||||
config.rcc.pclk2 = Some(100.mhz().into());
|
||||
config.rcc.pclk3 = Some(100.mhz().into());
|
||||
config.rcc.pclk4 = Some(100.mhz().into());
|
||||
config.rcc.sys_ck = Some(mhz(400));
|
||||
config.rcc.hclk = Some(mhz(400));
|
||||
config.rcc.pll1.q_ck = Some(mhz(100));
|
||||
config.rcc.pclk1 = Some(mhz(100));
|
||||
config.rcc.pclk2 = Some(mhz(100));
|
||||
config.rcc.pclk3 = Some(mhz(100));
|
||||
config.rcc.pclk4 = Some(mhz(100));
|
||||
config
|
||||
}
|
||||
|
||||
@ -27,7 +27,7 @@ pub fn config() -> Config {
|
||||
async fn main(_spawner: Spawner, p: Peripherals) {
|
||||
info!("Hello World!");
|
||||
|
||||
let mut pwm = SimplePwm::new_1ch(p.TIM3, p.PA6, 10000.hz());
|
||||
let mut pwm = SimplePwm::new_1ch(p.TIM3, p.PA6, khz(10));
|
||||
let max = pwm.get_max_duty();
|
||||
pwm.enable(Channel::Ch1);
|
||||
|
||||
|
@ -5,13 +5,13 @@
|
||||
use defmt::*;
|
||||
use embassy::executor::Spawner;
|
||||
use embassy_stm32::sdmmc::Sdmmc;
|
||||
use embassy_stm32::time::U32Ext;
|
||||
use embassy_stm32::time::mhz;
|
||||
use embassy_stm32::{interrupt, Config, Peripherals};
|
||||
use {defmt_rtt as _, panic_probe as _};
|
||||
|
||||
fn config() -> Config {
|
||||
let mut config = Config::default();
|
||||
config.rcc.sys_ck = Some(200.mhz().into());
|
||||
config.rcc.sys_ck = Some(mhz(200));
|
||||
config
|
||||
}
|
||||
|
||||
@ -31,7 +31,7 @@ async fn main(_spawner: Spawner, p: Peripherals) -> ! {
|
||||
// Should print 400kHz for initialization
|
||||
info!("Configured clock: {}", sdmmc.clock().0);
|
||||
|
||||
unwrap!(sdmmc.init_card(25.mhz()).await);
|
||||
unwrap!(sdmmc.init_card(mhz(25)).await);
|
||||
|
||||
let card = unwrap!(sdmmc.card());
|
||||
|
||||
|
@ -11,16 +11,16 @@ use embassy::executor::Executor;
|
||||
use embassy::util::Forever;
|
||||
use embassy_stm32::dma::NoDma;
|
||||
use embassy_stm32::peripherals::SPI3;
|
||||
use embassy_stm32::time::U32Ext;
|
||||
use embassy_stm32::time::mhz;
|
||||
use embassy_stm32::{spi, Config};
|
||||
use heapless::String;
|
||||
use {defmt_rtt as _, panic_probe as _};
|
||||
|
||||
pub fn config() -> Config {
|
||||
let mut config = Config::default();
|
||||
config.rcc.sys_ck = Some(400.mhz().into());
|
||||
config.rcc.hclk = Some(200.mhz().into());
|
||||
config.rcc.pll1.q_ck = Some(100.mhz().into());
|
||||
config.rcc.sys_ck = Some(mhz(400));
|
||||
config.rcc.hclk = Some(mhz(200));
|
||||
config.rcc.pll1.q_ck = Some(mhz(100));
|
||||
config
|
||||
}
|
||||
|
||||
@ -54,7 +54,7 @@ fn main() -> ! {
|
||||
p.PB4,
|
||||
NoDma,
|
||||
NoDma,
|
||||
1.mhz(),
|
||||
mhz(1),
|
||||
spi::Config::default(),
|
||||
);
|
||||
|
||||
|
@ -10,16 +10,16 @@ use defmt::*;
|
||||
use embassy::executor::Executor;
|
||||
use embassy::util::Forever;
|
||||
use embassy_stm32::peripherals::{DMA1_CH3, DMA1_CH4, SPI3};
|
||||
use embassy_stm32::time::U32Ext;
|
||||
use embassy_stm32::time::mhz;
|
||||
use embassy_stm32::{spi, Config};
|
||||
use heapless::String;
|
||||
use {defmt_rtt as _, panic_probe as _};
|
||||
|
||||
pub fn config() -> Config {
|
||||
let mut config = Config::default();
|
||||
config.rcc.sys_ck = Some(400.mhz().into());
|
||||
config.rcc.hclk = Some(200.mhz().into());
|
||||
config.rcc.pll1.q_ck = Some(100.mhz().into());
|
||||
config.rcc.sys_ck = Some(mhz(400));
|
||||
config.rcc.hclk = Some(mhz(200));
|
||||
config.rcc.pll1.q_ck = Some(mhz(100));
|
||||
config
|
||||
}
|
||||
|
||||
@ -50,7 +50,7 @@ fn main() -> ! {
|
||||
p.PB4,
|
||||
p.DMA1_CH3,
|
||||
p.DMA1_CH4,
|
||||
1.mhz(),
|
||||
mhz(1),
|
||||
spi::Config::default(),
|
||||
);
|
||||
|
||||
|
@ -11,7 +11,7 @@ use embassy_lora::LoraTimer;
|
||||
use embassy_stm32::exti::ExtiInput;
|
||||
use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed};
|
||||
use embassy_stm32::rng::Rng;
|
||||
use embassy_stm32::time::U32Ext;
|
||||
use embassy_stm32::time::khz;
|
||||
use embassy_stm32::{spi, Peripherals};
|
||||
use lorawan::default_crypto::DefaultFactory as Crypto;
|
||||
use lorawan_device::async_device::{region, Device, JoinMode};
|
||||
@ -34,7 +34,7 @@ async fn main(_spawner: embassy::executor::Spawner, p: Peripherals) {
|
||||
p.PA6,
|
||||
p.DMA1_CH3,
|
||||
p.DMA1_CH2,
|
||||
200_000.hz(),
|
||||
khz(200),
|
||||
spi::Config::default(),
|
||||
);
|
||||
|
||||
|
Reference in New Issue
Block a user