diff options
| author | Jacob Rosenthal <[email protected]> | 2021-11-03 18:37:54 -0700 |
|---|---|---|
| committer | Jacob Rosenthal <[email protected]> | 2021-11-03 18:37:54 -0700 |
| commit | b726ef1886c65ab76b01f2c54ad559573e19083d (patch) | |
| tree | 1be0d14f92e3b60c4088fe63853abfce6defb83b /examples/nrf | |
| parent | d961fd1015f7911dc1085035c37b0554b0184982 (diff) | |
make SequenceConfig struct is consistent with other Config structs, that are always non_exhaustive and have a Default
Diffstat (limited to 'examples/nrf')
| -rw-r--r-- | examples/nrf/src/bin/pwm_sequence.rs | 25 | ||||
| -rw-r--r-- | examples/nrf/src/bin/pwm_simple_sin.rs | 24 |
2 files changed, 23 insertions, 26 deletions
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; | |||
| 7 | use defmt::*; | 7 | use defmt::*; |
| 8 | use embassy::executor::Spawner; | 8 | use embassy::executor::Spawner; |
| 9 | use embassy::time::{Duration, Timer}; | 9 | use embassy::time::{Duration, Timer}; |
| 10 | use embassy_nrf::pwm::{ | 10 | use embassy_nrf::pwm::{Prescaler, SequenceConfig, SequenceLoad, SequenceMode, SequencePwm}; |
| 11 | CounterMode, Prescaler, SequenceConfig, SequenceLoad, SequenceMode, SequencePwm, | ||
| 12 | }; | ||
| 13 | use embassy_nrf::Peripherals; | 11 | use embassy_nrf::Peripherals; |
| 14 | 12 | ||
| 15 | #[embassy::main] | 13 | #[embassy::main] |
| @@ -18,18 +16,19 @@ async fn main(_spawner: Spawner, p: Peripherals) { | |||
| 18 | 0x8000, 0, 0, 0, 0, 0x8000, 0, 0, 0, 0, 0x8000, 0, 0, 0, 0, 0x8000, | 16 | 0x8000, 0, 0, 0, 0, 0x8000, 0, 0, 0, 0, 0x8000, 0, 0, 0, 0, 0x8000, |
| 19 | ]; | 17 | ]; |
| 20 | 18 | ||
| 21 | let config = SequenceConfig { | 19 | let mut config = SequenceConfig::default(); |
| 22 | counter_mode: CounterMode::Up, | 20 | config.top = 15625; |
| 23 | top: 15625, | 21 | config.prescaler = Prescaler::Div128; |
| 24 | prescaler: Prescaler::Div128, | 22 | config.sequence_load = SequenceLoad::Individual; |
| 25 | sequence: &seq_values, | ||
| 26 | sequence_load: SequenceLoad::Individual, | ||
| 27 | refresh: 0, | ||
| 28 | end_delay: 0, | ||
| 29 | }; | ||
| 30 | 23 | ||
| 31 | let pwm = unwrap!(SequencePwm::new( | 24 | let pwm = unwrap!(SequencePwm::new( |
| 32 | p.PWM0, p.P0_13, p.P0_15, p.P0_16, p.P0_14, config | 25 | p.PWM0, |
| 26 | p.P0_13, | ||
| 27 | p.P0_15, | ||
| 28 | p.P0_16, | ||
| 29 | p.P0_14, | ||
| 30 | config, | ||
| 31 | &seq_values, | ||
| 33 | )); | 32 | )); |
| 34 | let _ = pwm.start(SequenceMode::Times(5)); | 33 | let _ = pwm.start(SequenceMode::Times(5)); |
| 35 | info!("pwm started!"); | 34 | 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::*; | |||
| 9 | use embassy::executor::Spawner; | 9 | use embassy::executor::Spawner; |
| 10 | use embassy::time::{Duration, Timer}; | 10 | use embassy::time::{Duration, Timer}; |
| 11 | use embassy_nrf::gpio::NoPin; | 11 | use embassy_nrf::gpio::NoPin; |
| 12 | use embassy_nrf::pwm::{ | 12 | use embassy_nrf::pwm::{CounterMode, SequenceConfig, SequenceMode, SequencePwm}; |
| 13 | CounterMode, Prescaler, SequenceConfig, SequenceLoad, SequenceMode, SequencePwm, | ||
| 14 | }; | ||
| 15 | use embassy_nrf::Peripherals; | 13 | use embassy_nrf::Peripherals; |
| 16 | use micromath::F32Ext; | 14 | use micromath::F32Ext; |
| 17 | 15 | ||
| @@ -22,18 +20,18 @@ async fn main(_spawner: Spawner, p: Peripherals) { | |||
| 22 | // probably not best use of resources to create the table at runtime, but makes testing fast | 20 | // probably not best use of resources to create the table at runtime, but makes testing fast |
| 23 | let seq_values: [u16; 220] = core::array::from_fn(|n| ((W1 * n as f32).sin() * 10000.0) as u16); | 21 | let seq_values: [u16; 220] = core::array::from_fn(|n| ((W1 * n as f32).sin() * 10000.0) as u16); |
| 24 | 22 | ||
| 25 | let config = SequenceConfig { | 23 | let mut config = SequenceConfig::default(); |
| 26 | counter_mode: CounterMode::UpAndDown, | 24 | config.counter_mode = CounterMode::UpAndDown; |
| 27 | top: 12000, | 25 | config.top = 12000; |
| 28 | prescaler: Prescaler::Div16, | ||
| 29 | sequence: &seq_values, | ||
| 30 | sequence_load: SequenceLoad::Common, | ||
| 31 | refresh: 0, | ||
| 32 | end_delay: 0, | ||
| 33 | }; | ||
| 34 | 26 | ||
| 35 | let pwm = unwrap!(SequencePwm::new( | 27 | let pwm = unwrap!(SequencePwm::new( |
| 36 | p.PWM0, p.P0_13, NoPin, NoPin, NoPin, config | 28 | p.PWM0, |
| 29 | p.P0_13, | ||
| 30 | NoPin, | ||
| 31 | NoPin, | ||
| 32 | NoPin, | ||
| 33 | config, | ||
| 34 | &seq_values | ||
| 37 | )); | 35 | )); |
| 38 | let _ = pwm.start(SequenceMode::Infinite); | 36 | let _ = pwm.start(SequenceMode::Infinite); |
| 39 | info!("pwm started!"); | 37 | info!("pwm started!"); |
