129 Commits

Author SHA1 Message Date
Dario Nieuwenhuis
5b632e3d03
Merge pull request #4044 from yodaldevoid/stm32-opm-timer
STM32: One pulse mode timer
2025-04-06 22:09:45 +02:00
Gabriel Smith
f8e5c90266 stm32/timer: Support one pulse mode
Currently does not support output pins so it really is only useful to
create delayed interrupts based on external signals.
2025-04-04 17:40:22 +00:00
Gabriel Smith
eee2d8c84d stm32/timer: Merge channel typestate structs 2025-04-04 17:40:15 +00:00
Dario Nieuwenhuis
d41eeeae79 Remove Peripheral trait, rename PeripheralRef->Peri. 2025-03-27 15:18:06 +01:00
Matt Allen
91d8175f62 Fixed documentation 2025-03-06 09:44:06 -05:00
Matt Allen
1646dc36f2 Added gpio version specific code 2025-03-06 09:41:07 -05:00
Matt Allen
f22649e008 Added function to channel_impl to allow full configuration of the pin 2025-03-05 22:10:00 -05:00
Dario Nieuwenhuis
eda51673f5
Merge pull request #3704 from CNLHC/pwm_support_gp32
feat: Add 32-bit timer support for waveform function
2025-01-21 22:57:47 +00:00
Liu Hancheng
50e98a9a58 refactor: update DMA transfer functions to support separate memory and peripheral word types 2025-01-04 22:10:47 +08:00
Liu Hancheng
03dd50316c refactor: simplify timer bits handling 2025-01-04 21:38:22 +08:00
Liu Hancheng
ff526e1604 refactor: update DMA transfer functions to use separate memory and peripheral sizes 2025-01-04 20:16:34 +08:00
elagil
eba8089601 chore: fix build 2025-01-03 18:18:00 +01:00
Liu Hancheng
90b4164426
dev: change name to bits 2025-01-02 12:51:47 +08:00
Liu Hancheng
a3a8dee579 refactor: exclude stm32l0 for 32bit timer branch
Signed-off-by: Liu Hancheng <liuhancheng.cn@gmail.com>
2025-01-01 17:28:37 +08:00
Liu Hancheng
e2c866119f doc: add doc for timer get_bits fn 2025-01-01 17:24:00 +08:00
Liu Hancheng
99ce285397 refactor: change import style 2025-01-01 17:21:33 +08:00
Liu Hancheng
89a1346d00 docs: Update PWM waveform function documentation for data alignment 2025-01-01 17:17:23 +08:00
Liu Hancheng
cbc7a9fe5b feat: Add 32-bit timer support for waveform function 2025-01-01 17:05:48 +08: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