elagil
eba8089601
chore: fix build
2025-01-03 18:18:00 +01:00
Dario Nieuwenhuis
db9ad1c30c
Merge pull request #3549 from aurelj/stm32_pwm_32bits_timer
...
stm32/timer: avoid max_compare_value >= u16::MAX
2024-12-02 22:50:09 +00:00
Dario Nieuwenhuis
aaad8450e9
Use inline const for initializing arrays. ( #3567 )
2024-11-24 20:58:48 +01:00
Aurélien Jacobs
3402e76f98
stm32/timer: avoid max_compare_value >= u16::MAX
...
With STM32 32 bits timers, the max_compare_value (AKA, ARR register)
can currently be set greater than u16::MAX, which leads to the following
assert!(max < u16::MAX as u32) in max_duty_cycle() when setting up a 1 kHz
SimplePwm on 84 MHz MCU.
The issue is fixed by forcing a max_compare_value that fits into 16 bits
when setting the frequency for a PWM.
2024-11-20 16:21:20 +01:00
Grant Miller
f2646b29a6
Make clone_unchecked work
2024-09-21 07:52:54 -05:00
Grant Miller
df06c2bbfe
wip: split by value
2024-09-07 11:17:13 -05:00
Grant Miller
b8beaba6df
last oops I promise
2024-09-06 15:08:58 -05:00
Grant Miller
d24c47a3ff
Missing docs
2024-09-06 14:08:22 -05:00
Grant Miller
f571ab9d60
oops again
2024-09-06 14:04:58 -05:00
Grant Miller
71e49839fc
oops
2024-09-06 14:01:10 -05:00
Grant Miller
cfc76cec71
Match embedded-hal api
2024-09-06 13:29:54 -05:00
Grant Miller
f7f062e0a3
Deduplicate SimplePwm's channel methods
2024-09-06 10:25:29 -05:00
Grant Miller
8ac758bdee
embassy-stm32: Add SimplePwmChannel
2024-09-06 09:09:09 -05:00
Jan Špaček
94007ce6e0
stm32/gpio: refactor AfType
2024-06-16 21:11:55 +02:00
Dario Nieuwenhuis
ba940017ee
Merge pull request #3014 from brunob45/pwm_input
...
Add PWM Input for STM32
2024-05-31 18:09:27 +00:00
Bruno Bousquet
7d86919257
rust fmt really does not want blank space there
2024-05-30 17:54:49 -04:00
Bruno Bousquet
83b5797b8d
fix fmt (again)
2024-05-30 17:53:38 -04:00
Bruno Bousquet
713d84f778
fix fmt
2024-05-30 17:51:48 -04:00
Bruno Bousquet
4d307b5a77
undo changes in input_capture
2024-05-30 17:49:20 -04:00
Bruno Bousquet
84707af5d7
create functions in inner to handle register modification
2024-05-30 17:43:53 -04:00
Bruno Bousquet
292c1dd0b8
rename get_width_ticks and add info!() in examples
2024-05-29 09:59:00 -04:00
Bruno Bousquet
a23fa8dcb2
Apply suggestions from code review
...
Co-authored-by: Romain Reignier <romainreignier@users.noreply.github.com>
2024-05-29 09:14:05 -04:00
Bruno Bousquet
521332bdd1
pwm_input is working on F446
2024-05-29 00:28:26 -04:00
Bruno Bousquet
f1d5f4ca21
undo minor changes
2024-05-28 22:43:23 -04:00
Bruno Bousquet
a52841041d
use timer LL
2024-05-28 22:38:08 -04:00
Bruno Bousquet
7c1e1ee288
example is working now
2024-05-28 22:30:10 -04:00
Jan Špaček
081afca3f0
stm32/rcc: replace generated enable/disable code with runtime info
2024-05-25 18:44:55 +02:00
Bruno Bousquet
969933cb7b
fix fmt for ci
2024-05-06 02:52:22 -04:00
Bruno Bousquet
55c8d3f474
add async capture
2024-05-06 02:47:42 -04:00
Bruno Bousquet
b662dfb183
format timer/mod.rs
2024-05-05 23:15:00 -04:00
Bruno Bousquet
29d6fa0a4a
add get_input_interrupt
2024-05-05 23:00:48 -04:00
Bruno Bousquet
431a60ca63
formatting
2024-05-05 22:30:16 -04:00
Bruno Bousquet
ad66dc3aab
create input_capture
2024-05-05 21:58:54 -04:00
Jan Špaček
7b3939ca80
stm32/timer: add low_level::Timer::get_clock_frequency()
2024-05-04 19:44:03 +02:00
ftk
e7bfd7bac9
stm32 timer: fix 32bit timer off by 1 ARR error
2024-04-27 15:49:30 +03:00
eZio Pan
5dc3738bc2
add missing interrupt for timer
2024-04-05 00:51:20 +02:00
eZio Pan
78b9cb98d4
"separate CC interrupt" is for AdvCh4 only
2024-04-05 00:51:20 +02:00
eZio Pan
348a46b110
move enable_outputs to private trait ...
...
... to avoid API leaking.
2024-04-05 00:51:20 +02:00
Dario Nieuwenhuis
2bca875b5f
stm32: use private_bounds for sealed traits.
2024-03-23 01:38:51 +01:00
Dario Nieuwenhuis
389cbc0a77
stm32/timer: simplify traits, convert from trait methods to struct.
2024-03-23 01:37:28 +01:00
René van Dorst
fb9d42684b
stm32: Fix psc compile error with current stm32-data
...
Commit cc525f1b25 has changed the definition of the `psc` register.
Update timer/mod.rs to reflect the stm32-data change.
2024-03-20 19:59:17 +01:00
Dario Nieuwenhuis
eca9aac194
Fix warnings in recent nightly.
2024-03-20 16:39:09 +01:00
Ralf
b7bb4b23f8
STM32 SimplePwm: Fix regression and re-enable output pin
...
PR #2499 implemented timer hierarchy, but removed enable_outputs()
from trait CaptureCompare16bitInstance and from SimplePwm.
This functions is required for advanced timers to set bit BDTR.MOE
and to enable the output signal.
2024-03-08 11:18:45 +01:00
eZio Pan
47c579eba2
update metapac
2024-02-29 00:11:40 +08:00
Torin Cooper-Bennun
5c45723777
stm32: timers: use TIMx_CC interrupt source for advanced timers
...
fixes (hopefully) time driver when using TIM1/8/20
2024-02-26 10:03:51 +00:00
Dario Nieuwenhuis
e8474426d8
hal-internal: remove impl DerefMut for PeripheralRef.
...
if you have `PeripheralRef<'a, AnyPIn>` for pin A, and `AnyPin` (owned) for pin B, you can `mem::swap` them.
so, getting access forever to pin A, just by "sacrificing" pin B
this defeats the point of PeripheralRef, which is if you got a `PeripheralRef<'a, T>` then you're only allowed to use the peripheral for `'a`.
Also some drivers rely on the fact only one instance of a singleton exists for soundness, so this is a soundness fix for those.
2024-02-20 01:02:15 +01:00
eZio Pan
b4399a1bf5
timer-doc-fix
2024-02-10 16:22:36 +08:00
eZio Pan
8fd803a5fe
use cfg_if to reduce macro condition
2024-02-10 00:00:43 +01:00
eZio Pan
0f94006be3
doc fix
2024-02-10 00:00:43 +01:00
eZio Pan
6c690ab259
restore original public API of timer, but keep new PAC
2024-02-10 00:00:43 +01:00