aboutsummaryrefslogtreecommitdiff
path: root/embassy-stm32/src/timer
Commit message (Collapse)AuthorAgeFilesLines
* stm32: allow setting the PWM output polarityAurelien Jacobs2023-08-183-0/+58
|
* stm32: allow setting PWM duty cycle to 100%Aurélien Jacobs2023-08-182-4/+4
| | | | | | | | Setting the compare_value to max_compare_value make the PWM output go low when the timer reach the max_compare_value and go high again on the next timer clock, when the value roll back to 0. So to allow a 100% PWM that never goes low, the compare_value must be set to max_compare_value + 1.
* embassy-stm32: Misc clippy fixesGrant Miller2023-08-061-3/+2
|
* stm32/pwm: add output type controlxoviat2023-07-292-11/+11
|
* stm32/timer: merge pwm module into timer. (#1703)Dario Nieuwenhuis2023-07-283-25/+603
| | | | The traits there are applicable to timer use cases other than PWM. It doesn't make sense to keep them separated.
* stm32: update stm32-metapac.Dario Nieuwenhuis2023-06-191-39/+25
|
* Make interrupt module more standard.Dario Nieuwenhuis2023-06-081-3/+3
| | | | | | | | | | | | - Move typelevel interrupts to a special-purpose mod: `embassy_xx::interrupt::typelevel`. - Reexport the PAC interrupt enum in `embassy_xx::interrupt`. This has a few advantages: - The `embassy_xx::interrupt` module is now more "standard". - It works with `cortex-m` functions for manipulating interrupts, for example. - It works with RTIC. - the interrupt enum allows holding value that can be "any interrupt at runtime", this can't be done with typelevel irqs. - When "const-generics on enums" is stable, we can remove the typelevel interrupts without disruptive changes to `embassy_xx::interrupt`.
* Revert "Make advanced timer trait not require general purpose timer trait as ↵chemicstry2022-07-121-1/+11
| | | | | | the timers are too different." This reverts commit 4988dfe98175f5d92d896edd2b9ee774a91b28d5.
* embassy-stm32: Simplify timeGrant Miller2022-07-101-6/+6
| | | | | | | | | | - Remove unused `MilliSeconds`, `MicroSeconds`, and `NanoSeconds` types - Remove `Bps`, `KiloHertz`, and `MegaHertz` types that were only used for converting to `Hertz` - Replace all instances of `impl Into<Hertz>` with `Hertz` - Add `hz`, `khz`, and `mhz` methods to `Hertz`, as well as free function shortcuts - Remove `U32Ext` extension trait
* Run rustfmt.Dario Nieuwenhuis2022-06-121-7/+6
|
* Add embassy-cortex-m crate.Dario Nieuwenhuis2022-06-121-1/+1
| | | | | | - Move Interrupt and InterruptExecutor from `embassy` to `embassy-cortex-m`. - Move Unborrow from `embassy` to `embassy-hal-common` (nothing in `embassy` requires it anymore) - Move PeripheralMutex from `embassy-hal-common` to `embassy-cortex-m`.
* stm32: Register access for timers now doesn't require selfMatous Hybl2022-02-281-18/+18
|
* stm32: move macrotables to embassy-stm32 build.rsDario Nieuwenhuis2022-02-261-1/+1
|
* Make advanced timer trait not require general purpose timer trait as the ↵Matous Hybl2022-01-181-9/+1
| | | | timers are too different.
* Add low level timer API.Matous Hybl2022-01-131-0/+224