mirror of
https://github.com/esp-rs/esp-idf-hal.git
synced 2025-09-29 21:31:17 +00:00
* fix: #180 Remove redundant info in LedcDriver::new This is an implementation of one of the possible solutions to the issue. Signed-off-by: Raphael Höser <raphael@hoeser.info> * Remove speed_mode method from LedcTimerDriver as it's not needed. * Fix rustfmt issues Signed-off-by: Raphael Höser <raphael@hoeser.info>
This commit is contained in:
parent
2270ebed79
commit
bf13eee9a2
@ -9,12 +9,13 @@ fn main() -> anyhow::Result<()> {
|
||||
println!("Configuring output channel");
|
||||
|
||||
let peripherals = Peripherals::take().unwrap();
|
||||
let config = config::TimerConfig::new().frequency(25.kHz().into());
|
||||
let mut channel = LedcDriver::new(
|
||||
peripherals.ledc.channel0,
|
||||
LedcTimerDriver::new(peripherals.ledc.timer0, &config)?,
|
||||
LedcTimerDriver::new(
|
||||
peripherals.ledc.timer0,
|
||||
&config::TimerConfig::new().frequency(25.kHz().into()),
|
||||
)?,
|
||||
peripherals.pins.gpio4,
|
||||
&config,
|
||||
)?;
|
||||
|
||||
println!("Starting duty-cycle loop");
|
||||
|
@ -20,14 +20,8 @@ fn main() -> anyhow::Result<()> {
|
||||
peripherals.ledc.channel0,
|
||||
timer.clone(),
|
||||
peripherals.pins.gpio4,
|
||||
&config,
|
||||
)?;
|
||||
let channel1 = LedcDriver::new(
|
||||
peripherals.ledc.channel1,
|
||||
timer,
|
||||
peripherals.pins.gpio5,
|
||||
&config,
|
||||
)?;
|
||||
let channel1 = LedcDriver::new(peripherals.ledc.channel1, timer, peripherals.pins.gpio5)?;
|
||||
|
||||
println!("Spawning PWM threads");
|
||||
|
||||
|
@ -10,12 +10,13 @@
|
||||
//!
|
||||
//! Create a 25 kHz PWM signal with 75 % duty cycle on GPIO 1
|
||||
//! ```
|
||||
//! use esp_idf_hal::ledc::{config::TimerConfig, Channel, LedcDriver, Timer};
|
||||
//! use esp_idf_hal::ledc::{config::TimerConfig, Channel, LedcDriver, LedcTimerDriver, Timer};
|
||||
//! use esp_idf_hal::peripherals::Peripherals;
|
||||
//! use esp_idf_hal::prelude::*;
|
||||
//!
|
||||
//! let peripherals = Peripherals::take().unwrap();
|
||||
//! let mut driver = LedcDriver::new(peripherals.ledc.channel0, peripherals.ledc.timer0, peripherals.pins.gpio1, &TimerConfig::default().frequency(25.kHz().into()))?;
|
||||
//! let timer_driver = LedcTimerDriver::new(peripherals.ledc.timer0, &TimerConfig::default().frequency(25.kHz().into()));
|
||||
//! let mut driver = LedcDriver::new(peripherals.ledc.channel0, timer_driver, peripherals.pins.gpio1)?;
|
||||
//!
|
||||
//! let max_duty = driver.get_max_duty()?;
|
||||
//! driver.set_duty(max_duty * 3 / 4)?;
|
||||
@ -179,7 +180,6 @@ impl<'d> LedcDriver<'d> {
|
||||
_channel: impl Peripheral<P = C> + 'd,
|
||||
timer_driver: B,
|
||||
pin: impl Peripheral<P = impl OutputPin> + 'd,
|
||||
config: &config::TimerConfig,
|
||||
) -> Result<Self, EspError> {
|
||||
crate::into_ref!(pin);
|
||||
|
||||
@ -187,7 +187,7 @@ impl<'d> LedcDriver<'d> {
|
||||
let hpoint = 0;
|
||||
|
||||
let channel_config = ledc_channel_config_t {
|
||||
speed_mode: config.speed_mode.into(),
|
||||
speed_mode: timer_driver.borrow().speed_mode.into(),
|
||||
channel: C::channel(),
|
||||
timer_sel: timer_driver.borrow().timer(),
|
||||
intr_type: ledc_intr_type_t_LEDC_INTR_DISABLE,
|
||||
|
Loading…
x
Reference in New Issue
Block a user