From b726ef1886c65ab76b01f2c54ad559573e19083d Mon Sep 17 00:00:00 2001 From: Jacob Rosenthal Date: Wed, 3 Nov 2021 18:37:54 -0700 Subject: make SequenceConfig struct is consistent with other Config structs, that are always non_exhaustive and have a Default --- examples/nrf/src/bin/pwm_sequence.rs | 25 ++++++++++++------------- examples/nrf/src/bin/pwm_simple_sin.rs | 24 +++++++++++------------- 2 files changed, 23 insertions(+), 26 deletions(-) (limited to 'examples') diff --git a/examples/nrf/src/bin/pwm_sequence.rs b/examples/nrf/src/bin/pwm_sequence.rs index 82575d703..3f8b051dd 100644 --- a/examples/nrf/src/bin/pwm_sequence.rs +++ b/examples/nrf/src/bin/pwm_sequence.rs @@ -7,9 +7,7 @@ mod example_common; use defmt::*; use embassy::executor::Spawner; use embassy::time::{Duration, Timer}; -use embassy_nrf::pwm::{ - CounterMode, Prescaler, SequenceConfig, SequenceLoad, SequenceMode, SequencePwm, -}; +use embassy_nrf::pwm::{Prescaler, SequenceConfig, SequenceLoad, SequenceMode, SequencePwm}; use embassy_nrf::Peripherals; #[embassy::main] @@ -18,18 +16,19 @@ async fn main(_spawner: Spawner, p: Peripherals) { 0x8000, 0, 0, 0, 0, 0x8000, 0, 0, 0, 0, 0x8000, 0, 0, 0, 0, 0x8000, ]; - let config = SequenceConfig { - counter_mode: CounterMode::Up, - top: 15625, - prescaler: Prescaler::Div128, - sequence: &seq_values, - sequence_load: SequenceLoad::Individual, - refresh: 0, - end_delay: 0, - }; + let mut config = SequenceConfig::default(); + config.top = 15625; + config.prescaler = Prescaler::Div128; + config.sequence_load = SequenceLoad::Individual; let pwm = unwrap!(SequencePwm::new( - p.PWM0, p.P0_13, p.P0_15, p.P0_16, p.P0_14, config + p.PWM0, + p.P0_13, + p.P0_15, + p.P0_16, + p.P0_14, + config, + &seq_values, )); let _ = pwm.start(SequenceMode::Times(5)); info!("pwm started!"); diff --git a/examples/nrf/src/bin/pwm_simple_sin.rs b/examples/nrf/src/bin/pwm_simple_sin.rs index afafb5d96..33fa6dcfe 100644 --- a/examples/nrf/src/bin/pwm_simple_sin.rs +++ b/examples/nrf/src/bin/pwm_simple_sin.rs @@ -9,9 +9,7 @@ use defmt::*; use embassy::executor::Spawner; use embassy::time::{Duration, Timer}; use embassy_nrf::gpio::NoPin; -use embassy_nrf::pwm::{ - CounterMode, Prescaler, SequenceConfig, SequenceLoad, SequenceMode, SequencePwm, -}; +use embassy_nrf::pwm::{CounterMode, SequenceConfig, SequenceMode, SequencePwm}; use embassy_nrf::Peripherals; use micromath::F32Ext; @@ -22,18 +20,18 @@ async fn main(_spawner: Spawner, p: Peripherals) { // probably not best use of resources to create the table at runtime, but makes testing fast let seq_values: [u16; 220] = core::array::from_fn(|n| ((W1 * n as f32).sin() * 10000.0) as u16); - let config = SequenceConfig { - counter_mode: CounterMode::UpAndDown, - top: 12000, - prescaler: Prescaler::Div16, - sequence: &seq_values, - sequence_load: SequenceLoad::Common, - refresh: 0, - end_delay: 0, - }; + let mut config = SequenceConfig::default(); + config.counter_mode = CounterMode::UpAndDown; + config.top = 12000; let pwm = unwrap!(SequencePwm::new( - p.PWM0, p.P0_13, NoPin, NoPin, NoPin, config + p.PWM0, + p.P0_13, + NoPin, + NoPin, + NoPin, + config, + &seq_values )); let _ = pwm.start(SequenceMode::Infinite); info!("pwm started!"); -- cgit