Skip to content

Commit f9099f8

Browse files
committed
HRTIM - Update examples
1 parent dd918b4 commit f9099f8

File tree

10 files changed

+43
-76
lines changed

10 files changed

+43
-76
lines changed

examples/hrtim/adc-trigger.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ fn main() -> ! {
2525
},
2626
delay::SYSTDelayExt,
2727
dma::{self, config::DmaConfig, stream::DMAExt, TransferExt},
28-
gpio::{gpioa::PA8, gpioa::PA9, Alternate, GpioExt, AF13},
28+
gpio::GpioExt,
2929
hrtim::compare_register::HrCompareRegister,
3030
hrtim::control::HrControltExt,
3131
hrtim::output::HrOutput,
@@ -50,7 +50,7 @@ fn main() -> ! {
5050
let pwr = dp.PWR.constrain().freeze();
5151
let mut rcc = dp.RCC.freeze(
5252
rcc::Config::pll().pll_cfg(rcc::PllConfig {
53-
mux: rcc::PLLSrc::HSI,
53+
mux: rcc::PllSrc::HSI,
5454
n: rcc::PllNMul::MUL_15,
5555
m: rcc::PllMDiv::DIV_1,
5656
r: Some(rcc::PllRDiv::DIV_2),
@@ -72,8 +72,8 @@ fn main() -> ! {
7272
let gpioa = dp.GPIOA.split(&mut rcc);
7373
let pa0 = gpioa.pa0.into_analog();
7474

75-
let pin_a: PA8<Alternate<AF13>> = gpioa.pa8.into_alternate();
76-
let pin_b: PA9<Alternate<AF13>> = gpioa.pa9.into_alternate();
75+
let pin_a = gpioa.pa8;
76+
let pin_b = gpioa.pa9;
7777

7878
// ...with a prescaler of 4 this gives us a HrTimer with a tick rate of 960MHz
7979
// With max the max period set, this would be 960MHz/2^16 ~= 15kHz...
@@ -140,7 +140,7 @@ fn main() -> ! {
140140
out1.enable();
141141
out2.enable();
142142

143-
timer.start(&mut hr_control);
143+
timer.start(&mut hr_control.control);
144144

145145
loop {
146146
let mut b = [0_u16; 4];

examples/hrtim/capture-dma.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ fn main() -> ! {
1919

2020
use hal::{
2121
dma::{config::DmaConfig, stream::DMAExt, TransferExt},
22-
gpio::{gpioa::PA8, Alternate, GpioExt, AF13},
22+
gpio::{GpioExt, AF13},
2323
hrtim::{
2424
capture, compare_register::HrCompareRegister, control::HrControltExt, external_event,
2525
external_event::ToExternalEventSource, output::HrOutput, timer::HrSlaveTimerCpt,
@@ -56,7 +56,7 @@ fn main() -> ! {
5656
let gpiob = dp.GPIOB.split(&mut rcc);
5757

5858
// PA8 (D7 on Nucleo G474RE)
59-
let pin_a: PA8<Alternate<AF13>> = gpioa.pa8.into_alternate();
59+
let pin_a = gpioa.pa8;
6060

6161
// PB5 (D4 on Nucleo G474RE)
6262
let input = gpiob.pb5.into_pull_down_input();
@@ -98,7 +98,7 @@ fn main() -> ! {
9898
cr1.set_duty(period / 2);
9999

100100
let (mut timer, mut capture, _capture_ch2) = timer.split_capture();
101-
timer.start(&mut hr_control);
101+
timer.start(&mut hr_control.control);
102102
out1.enable();
103103

104104
capture.enable_interrupt(true, &mut hr_control);

examples/hrtim/capture.rs

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ fn main() -> ! {
1818
use stm32g4xx_hal as hal;
1919

2020
use hal::{
21-
gpio::{gpioa::PA8, Alternate, GpioExt, AF13},
21+
gpio::GpioExt,
2222
hrtim::{
2323
capture::HrCapture, compare_register::HrCompareRegister, control::HrControltExt,
2424
external_event, external_event::ToExternalEventSource, output::HrOutput,
@@ -40,7 +40,7 @@ fn main() -> ! {
4040
let pwr = dp.PWR.constrain().freeze();
4141
let mut rcc = dp.RCC.freeze(
4242
rcc::Config::pll().pll_cfg(rcc::PllConfig {
43-
mux: rcc::PLLSrc::HSI,
43+
mux: rcc::PllSrc::HSI,
4444
n: rcc::PllNMul::MUL_15,
4545
m: rcc::PllMDiv::DIV_1,
4646
r: Some(rcc::PllRDiv::DIV_2),
@@ -55,7 +55,7 @@ fn main() -> ! {
5555
let gpiob = dp.GPIOB.split(&mut rcc);
5656

5757
// PA8 (D7 on Nucleo G474RE)
58-
let pin_a: PA8<Alternate<AF13>> = gpioa.pa8.into_alternate();
58+
let pin_a = gpioa.pa8;
5959

6060
// PB5 (D4 on Nucleo G474RE)
6161
let input = gpiob.pb5.into_pull_down_input();
@@ -94,7 +94,7 @@ fn main() -> ! {
9494
out1.enable_set_event(&timer); // Set high at new period
9595

9696
cr1.set_duty(period / 2);
97-
timer.start(&mut hr_control);
97+
timer.start(&mut hr_control.control);
9898
out1.enable();
9999

100100
let capture = timer.capture_ch1();
@@ -104,19 +104,16 @@ fn main() -> ! {
104104
let mut old_duty = 0;
105105
loop {
106106
for duty in (u32::from(period) / 10)..(9 * u32::from(period) / 10) {
107-
if !capture.is_pending() {
108-
continue;
107+
if let Some(value) = capture.get_signed(period) {
108+
info!(
109+
"Capture: {:?}, duty: {}, diff: {}",
110+
value,
111+
old_duty,
112+
value - old_duty as i32
113+
);
114+
cr1.set_duty(duty as u16);
115+
old_duty = duty;
109116
}
110-
let value = capture.get_signed();
111-
cr1.set_duty(duty as u16);
112-
capture.clear_interrupt();
113-
info!(
114-
"Capture: {:?}, duty: {}, diff: {}",
115-
value,
116-
old_duty,
117-
value - old_duty as i32
118-
);
119-
old_duty = duty;
120117
}
121118
}
122119
}

examples/hrtim/eev-comp.rs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,7 @@ fn main() -> ! {
1919
use hal::comparator;
2020
use hal::comparator::{ComparatorExt, ComparatorSplit, Hysteresis};
2121
use hal::dac::{self, DacExt, DacOut};
22-
use hal::gpio::gpioa::PA8;
23-
use hal::gpio::Alternate;
2422
use hal::gpio::SignalEdge;
25-
use hal::gpio::AF13;
2623
use hal::hrtim::compare_register::HrCompareRegister;
2724
use hal::hrtim::external_event::{self, ToExternalEventSource};
2825
use hal::hrtim::timer::HrTimer;
@@ -45,7 +42,7 @@ fn main() -> ! {
4542

4643
let mut rcc = dp.RCC.freeze(
4744
rcc::Config::pll().pll_cfg(rcc::PllConfig {
48-
mux: rcc::PLLSrc::HSI,
45+
mux: rcc::PllSrc::HSI,
4946
n: rcc::PllNMul::MUL_75,
5047
m: rcc::PllMDiv::DIV_4,
5148
r: Some(rcc::PllRDiv::DIV_2),
@@ -61,7 +58,7 @@ fn main() -> ! {
6158
let gpioa = dp.GPIOA.split(&mut rcc);
6259

6360
let input = gpioa.pa1.into_analog();
64-
let pin_a: PA8<Alternate<AF13>> = gpioa.pa8.into_alternate();
61+
let pin_a = gpioa.pa8;
6562

6663
let dac1ch1 = dp.DAC1.constrain(dac::Dac1IntSig1, &mut rcc);
6764
let mut dac = dac1ch1.calibrate_buffer(&mut delay).enable();
@@ -128,7 +125,7 @@ fn main() -> ! {
128125
cr1.set_duty(timer.get_period() / 3);
129126

130127
out1.enable();
131-
timer.start(&mut hr_control);
128+
timer.start(&mut hr_control.control);
132129

133130
info!("Started");
134131

examples/hrtim/eev.rs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@ use utils::logger::info;
1616

1717
#[entry]
1818
fn main() -> ! {
19-
use hal::gpio::gpioa::PA8;
20-
use hal::gpio::Alternate;
21-
use hal::gpio::AF13;
2219
use hal::hrtim::compare_register::HrCompareRegister;
2320
use hal::hrtim::external_event;
2421
use hal::hrtim::external_event::ToExternalEventSource;
@@ -41,7 +38,7 @@ fn main() -> ! {
4138

4239
let mut rcc = dp.RCC.freeze(
4340
rcc::Config::pll().pll_cfg(rcc::PllConfig {
44-
mux: rcc::PLLSrc::HSI,
41+
mux: rcc::PllSrc::HSI,
4542
n: rcc::PllNMul::MUL_75,
4643
m: rcc::PllMDiv::DIV_4,
4744
r: Some(rcc::PllRDiv::DIV_2),
@@ -70,7 +67,7 @@ fn main() -> ! {
7067
// With max the max period set, this would be 1.2GHz/2^16 ~= 18kHz...
7168
let prescaler = Pscl4;
7269

73-
let pin_a: PA8<Alternate<AF13>> = gpioa.pa8.into_alternate();
70+
let pin_a = gpioa.pa8;
7471

7572
// . . * .
7673
// . 33% . * . . .
@@ -100,7 +97,7 @@ fn main() -> ! {
10097
cr1.set_duty(timer.get_period() / 3);
10198

10299
out1.enable();
103-
timer.start(&mut hr_control);
100+
timer.start(&mut hr_control.control);
104101

105102
info!("Started");
106103

examples/hrtim/flt-comp.rs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,13 @@ use utils::logger::info;
1818
fn main() -> ! {
1919
use hal::comparator::{ComparatorExt, ComparatorSplit, Config, Hysteresis};
2020
use hal::dac::{Dac3IntSig1, DacExt, DacOut};
21-
use hal::gpio::gpioa::PA8;
22-
use hal::gpio::Alternate;
23-
use hal::gpio::AF13;
2421
use hal::hrtim::compare_register::HrCompareRegister;
25-
use hal::hrtim::fault::FaultAction;
22+
use hal::hrtim::fault::{FaultAction, FaultMonitor};
2623
use hal::hrtim::timer::HrTimer;
2724
use hal::hrtim::HrPwmAdvExt;
2825
use hal::hrtim::Pscl4;
2926
use hal::hrtim::{control::HrControltExt, output::HrOutput};
3027
use hal::prelude::*;
31-
use hal::pwm::FaultMonitor;
3228
use hal::rcc;
3329
use hal::stm32;
3430
use stm32g4xx_hal as hal;
@@ -42,7 +38,7 @@ fn main() -> ! {
4238
let pwr = dp.PWR.constrain().freeze();
4339
let mut rcc = dp.RCC.freeze(
4440
rcc::Config::pll().pll_cfg(rcc::PllConfig {
45-
mux: rcc::PLLSrc::HSI,
41+
mux: rcc::PllSrc::HSI,
4642
n: rcc::PllNMul::MUL_15,
4743
m: rcc::PllMDiv::DIV_1,
4844
r: Some(rcc::PllRDiv::DIV_2),
@@ -100,7 +96,7 @@ fn main() -> ! {
10096
// With max the max period set, this would be 1.2GHz/2^16 ~= 18kHz...
10197
let prescaler = Pscl4;
10298

103-
let pin_a: PA8<Alternate<AF13>> = gpioa.pa8.into_alternate();
99+
let pin_a = gpioa.pa8;
104100

105101
// . . . *
106102
// . 33% . . * . .
@@ -131,7 +127,7 @@ fn main() -> ! {
131127
cr1.set_duty(timer.get_period() / 3);
132128
//unsafe {((HRTIM_COMMON::ptr() as *mut u8).offset(0x14) as *mut u32).write_volatile(1); }
133129
out1.enable();
134-
timer.start(&mut hr_control);
130+
timer.start(&mut hr_control.control);
135131

136132
info!("Started");
137133

examples/hrtim/flt.rs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,13 @@ use utils::logger::info;
1616

1717
#[entry]
1818
fn main() -> ! {
19-
use hal::gpio::gpioa::PA8;
20-
use hal::gpio::Alternate;
21-
use hal::gpio::AF13;
2219
use hal::hrtim::compare_register::HrCompareRegister;
23-
use hal::hrtim::fault::FaultAction;
20+
use hal::hrtim::fault::{FaultAction, FaultMonitor};
2421
use hal::hrtim::timer::HrTimer;
2522
use hal::hrtim::HrPwmAdvExt;
2623
use hal::hrtim::Pscl4;
2724
use hal::hrtim::{control::HrControltExt, output::HrOutput};
2825
use hal::prelude::*;
29-
use hal::pwm::FaultMonitor;
3026
use hal::pwr::PwrExt;
3127
use hal::rcc;
3228
use hal::stm32;
@@ -40,7 +36,7 @@ fn main() -> ! {
4036
let pwr = dp.PWR.constrain().freeze();
4137
let mut rcc = dp.RCC.freeze(
4238
rcc::Config::pll().pll_cfg(rcc::PllConfig {
43-
mux: rcc::PLLSrc::HSI,
39+
mux: rcc::PllSrc::HSI,
4440
n: rcc::PllNMul::MUL_75,
4541
m: rcc::PllMDiv::DIV_4,
4642
r: Some(rcc::PllRDiv::DIV_2),
@@ -66,7 +62,7 @@ fn main() -> ! {
6662
// With max the max period set, this would be 1.2GHz/2^16 ~= 18kHz...
6763
let prescaler = Pscl4;
6864

69-
let pin_a: PA8<Alternate<AF13>> = gpioa.pa8.into_alternate();
65+
let pin_a = gpioa.pa8;
7066

7167
// . . . *
7268
// . 33% . . * . .
@@ -105,7 +101,7 @@ fn main() -> ! {
105101
cr1.set_duty(timer.get_period() / 3);
106102
//unsafe {((HRTIM_COMMON::ptr() as *mut u8).offset(0x14) as *mut u32).write_volatile(1); }
107103
out1.enable();
108-
timer.start(&mut hr_control);
104+
timer.start(&mut hr_control.control);
109105

110106
info!("Started");
111107

examples/hrtim/hrtim.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,6 @@ use utils::logger::info;
1616
#[entry]
1717
fn main() -> ! {
1818
use fugit::ExtU32;
19-
use hal::gpio::gpioa::PA8;
20-
use hal::gpio::gpioa::PA9;
21-
use hal::gpio::Alternate;
22-
use hal::gpio::AF13;
2319
use hal::hrtim::compare_register::HrCompareRegister;
2420
use hal::hrtim::control::HrControltExt;
2521
use hal::hrtim::output::HrOutput;
@@ -42,7 +38,7 @@ fn main() -> ! {
4238
let pwr = dp.PWR.constrain().freeze();
4339
let mut rcc = dp.RCC.freeze(
4440
rcc::Config::pll().pll_cfg(rcc::PllConfig {
45-
mux: rcc::PLLSrc::HSI,
41+
mux: rcc::PllSrc::HSI,
4642
n: rcc::PllNMul::MUL_15,
4743
m: rcc::PllMDiv::DIV_1,
4844
r: Some(rcc::PllRDiv::DIV_2),
@@ -59,8 +55,8 @@ fn main() -> ! {
5955
let prescaler = Pscl4;
6056

6157
let gpioa = dp.GPIOA.split(&mut rcc);
62-
let pin_a: PA8<Alternate<AF13>> = gpioa.pa8.into_alternate();
63-
let pin_b: PA9<Alternate<AF13>> = gpioa.pa9.into_alternate();
58+
let pin_a = gpioa.pa8;
59+
let pin_b = gpioa.pa9;
6460

6561
// . . . .
6662
// . 30% . . .

examples/hrtim/master.rs

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,6 @@ use utils::logger::info;
1616
#[entry]
1717
fn main() -> ! {
1818
use fugit::ExtU32;
19-
use hal::gpio::gpioa::PA8;
20-
use hal::gpio::gpioa::PA9;
21-
use hal::gpio::Alternate;
22-
use hal::gpio::AF13;
2319
use hal::hrtim::compare_register::HrCompareRegister;
2420
use hal::hrtim::control::HrControltExt;
2521
use hal::hrtim::output::HrOutput;
@@ -41,7 +37,7 @@ fn main() -> ! {
4137
let pwr = dp.PWR.constrain().freeze();
4238
let mut rcc = dp.RCC.freeze(
4339
rcc::Config::pll().pll_cfg(rcc::PllConfig {
44-
mux: rcc::PLLSrc::HSI,
40+
mux: rcc::PllSrc::HSI,
4541
n: rcc::PllNMul::MUL_15,
4642
m: rcc::PllMDiv::DIV_1,
4743
r: Some(rcc::PllRDiv::DIV_2),
@@ -58,8 +54,8 @@ fn main() -> ! {
5854
let prescaler = Pscl4;
5955

6056
let gpioa = dp.GPIOA.split(&mut rcc);
61-
let pin_a: PA8<Alternate<AF13>> = gpioa.pa8.into_alternate();
62-
let pin_b: PA9<Alternate<AF13>> = gpioa.pa9.into_alternate();
57+
let pin_a = gpioa.pa8;
58+
let pin_b = gpioa.pa9;
6359

6460
// . . . .
6561
// . 30% . . .
@@ -108,13 +104,6 @@ fn main() -> ! {
108104
out1.enable();
109105
out2.enable();
110106

111-
let tima = unsafe { &*stm32g4xx_hal::stm32::HRTIM_TIMA::ptr() };
112-
info!("set1r: {}", tima.seta1r.read().bits());
113-
info!("rst1r: {}", tima.rsta1r.read().bits());
114-
115-
info!("set2r: {}", tima.seta2r.read().bits());
116-
info!("rst2r: {}", tima.rsta2r.read().bits());
117-
118107
info!("Running");
119108

120109
loop {

examples/hrtim/simple.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ use utils::logger::info;
1717
fn main() -> ! {
1818
use hal::gpio::gpioa::PA8;
1919
use hal::gpio::gpioa::PA9;
20-
use hal::gpio::Alternate;
2120
use hal::gpio::AF13;
2221
use hal::hrtim::{control::HrControltExt, HrPwmExt};
2322
use hal::prelude::*;
@@ -46,8 +45,8 @@ fn main() -> ! {
4645
);
4746

4847
let gpioa = dp.GPIOA.split(&mut rcc);
49-
let pin_a: PA8<Alternate<AF13>> = gpioa.pa8.into_alternate();
50-
let pin_b: PA9<Alternate<AF13>> = gpioa.pa9.into_alternate();
48+
let pin_a = gpioa.pa8;
49+
let pin_b = gpioa.pa9;
5150

5251
// . . .
5352
// . 33% . .

0 commit comments

Comments
 (0)