Skip to content

Commit 6a4b3d0

Browse files
committed
HRTIM: Update adc-trigger example for traitification
1 parent 3f55712 commit 6a4b3d0

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

examples/hrtim/adc-trigger.rs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,10 @@ fn main() -> ! {
2828
delay::SYSTDelayExt,
2929
dma::{self, config::DmaConfig, stream::DMAExt, TransferExt},
3030
gpio::{gpioa::PA8, gpioa::PA9, Alternate, GpioExt, AF13},
31+
hrtim::compare_register::HrCompareRegister,
3132
hrtim::control::HrControltExt,
3233
hrtim::output::HrOutput,
34+
hrtim::timer::HrTimer,
3335
hrtim::HrPwmAdvExt,
3436
hrtim::Pscl4,
3537
pwr::PwrExt,
@@ -111,18 +113,22 @@ fn main() -> ! {
111113
//out1 | | | |
112114
// | | | |
113115
// -------- ---------- --------
116+
let period = 0xFFFF;
114117
let (hr_control, ..) = dp.HRTIM_COMMON.hr_control(&mut rcc).wait_for_calibration();
115118
let mut hr_control = hr_control.constrain();
116-
let (timer, (cr1, _cr2, cr3, cr4), (mut out1, mut out2)) = dp
119+
let (mut timer, (cr1, _cr2, mut cr3, mut cr4), (mut out1, mut out2)) = dp
117120
.HRTIM_TIMA
118121
.pwm_advanced((pin_a, pin_b), &mut rcc)
119122
.prescaler(prescaler)
120-
.period(0xFFFF)
123+
.period(period)
121124
// alternated every period with one being
122125
// inactive and the other getting to output its wave form
123126
// as normal
124127
.finalize(&mut hr_control);
125128

129+
cr3.set_duty(period / 3);
130+
cr4.set_duty((2 * u32::from(period) / 3) as u16);
131+
126132
hr_control.enable_adc_trigger1_source(&cr3);
127133
hr_control.enable_adc_trigger1_source(&cr4);
128134

@@ -135,6 +141,8 @@ fn main() -> ! {
135141
out1.enable();
136142
out2.enable();
137143

144+
timer.start(&mut hr_control);
145+
138146
loop {
139147
let mut b = [0_u16; 4];
140148
let r = transfer.read_exact(&mut b);
@@ -149,6 +157,6 @@ fn main() -> ! {
149157
VREF,
150158
adc::config::Resolution::Twelve,
151159
);
152-
info!("temp: {}℃C", temp); // Note: Temperature seems quite low...
160+
info!("temp: {}℃C", temp);
153161
}
154162
}

0 commit comments

Comments
 (0)