Dario Nieuwenhuis
72c6f9a101
stm32/adc: reexport enums from PAC to avoid boilerplate hell.
2024-02-26 03:02:58 +01:00
Corey Schuhen
1327a644b6
FDCAN: Don't require internal module for public API.
2024-02-25 10:14:12 +10:00
Corey Schuhen
eafa90cd07
Remove the OperatingMode typestates
...
Instead have two explcit types(without the mode generic arg)types:
- One for config
- One for all operating modes
2024-02-18 13:09:37 +10:00
Corey Schuhen
5ad291b708
Add a buffered mode.
2024-02-17 18:26:57 +10:00
Corey Schuhen
70b3c4374d
Port FDCAN HAL to use PAC directly instead of fdcan crate.
...
- Provide separate FDCAN capable and Classic CAN API's
- Don't use fdcan crate dep anymore
- Provide embedded-can traits.
2024-02-17 18:25:58 +10:00
Barnaby Walters
6d7458dac7
Refinements
...
* Implemented boost mode dance (RM0440 p234-245, 6.5.1)
* Enabled boost mode in usb_serial example, tested on hardware
* Removed hard requirement of a valid 48MHz source (HSI48 is checked if
requested, PLL passed through as-is and assumed to be valid)
* Used calc_pclk to calculate APB frequencies
* Refactored 48MHz configuration code to remove unnecessary let and block
* Renamed ahb_freq to hclk for clarity and consistency
2024-02-17 00:30:16 +01:00
Barnaby Walters
ae74833999
Removed redundant HSI48 configuration
2024-02-16 20:32:35 +01:00
Barnaby Walters
5b7eff6541
[embassy-stm32]: started stm32g4 RCC refactor
...
* Copied API from f.rs where applicable
* HSE and HSI independantly configurable
* Boost mode set by user rather
* Added HSE, pll1_q and pll1_p frequencies to set_clocks call
* Stubbed max module based on f.rs, needs cleanup
2024-02-15 23:56:26 +01:00
Corey Schuhen
1698f4dbc3
Add FDCAN examples for STM32G4, STM32H5 and STM32H7
...
Fix examples
Fix examples
Fix examples.
2024-01-31 05:40:05 +10:00
Dario Nieuwenhuis
3387ee7238
stm32/gpio: remove generics.
2024-01-22 21:31:06 +01:00
Dario Nieuwenhuis
495b8b739a
Change GPIO inherent methods back to &self
.
...
With the embedded-hal rc3 update I changed them to require `&mut self`, but
in retrospect I think `&self` is better, for extra flexibility.
This PR reverts the changes from the rc3 update to inherent methods.
2024-01-10 00:00:10 +01:00
Dario Nieuwenhuis
8b36a32ed5
ci: use beta, add secondary nightly ci.
2023-12-21 15:03:57 +01:00
Dario Nieuwenhuis
d81395fab3
Update embedded-hal to 1.0.0-rc.3
2023-12-14 16:19:32 +01:00
Dario Nieuwenhuis
4fe344ebc0
stm32/rcc: consistent casing and naming for PLL enums.
2023-11-13 00:52:01 +01:00
Dario Nieuwenhuis
0b015bd727
usb: remove msos-descriptor feature.
2023-11-08 23:21:52 +01:00
Dario Nieuwenhuis
0272deb158
stm32/rcc: add shared code for hsi48 with crs support.
2023-11-05 23:52:54 +01:00
Dario Nieuwenhuis
412bcad2d1
stm32: rename HSI16 -> HSI
2023-10-22 22:39:55 +02:00
Dion Dokter
5b3f75dc72
Merge branch 'master' into center-align
2023-10-20 14:17:55 +02:00
xoviat
4a156df7a1
stm32: expand rcc mux to g4 and h7
2023-10-14 23:33:57 -05:00
Adam Greig
0621e957a0
time: Update examples, tests, and other code to use new Timer::after_x convenience methods
2023-10-15 01:30:12 +01:00
Dario Nieuwenhuis
0cfa8d1bb5
stm32/rcc: use more PLL etc enums from PAC.
2023-10-11 00:12:33 +02:00
Dario Nieuwenhuis
6186fe0807
stm32/rcc: use PLL enums from PAC.
2023-10-09 02:48:22 +02:00
Dion Dokter
05a9b11316
Fix examples
2023-10-01 23:39:53 +02:00
Daehyeok Mun
49ba9c3da2
initial support for STM32G4 ADC
2023-09-04 23:36:41 -07:00
xoviat
0d7b005252
stm32/pwm: add output type control
2023-07-29 12:01:32 -05:00
Dario Nieuwenhuis
3690af9bea
stm32/timer: merge pwm module into timer. ( #1703 )
...
The traits there are applicable to timer use cases other than PWM.
It doesn't make sense to keep them separated.
2023-07-28 15:29:27 +02:00
Kevin Lannen
5666c56903
STM32G4: Add CRS support to RCC
...
Create working CRS USB Example
2023-06-28 16:53:16 -06:00
Dario Nieuwenhuis
ed493be869
stm32: update metapac, includes fix for OTG with 9 endpoints (H7)
2023-06-27 23:58:32 +02:00
Dario Nieuwenhuis
558918651e
stm32: update stm32-metapac.
2023-06-19 03:22:12 +02:00
Kevin Lannen
61aa6b5236
STM32G4: Add USB Serial example
2023-06-14 11:07:19 -06:00
Kevin Lannen
c94ba84892
stm32g4: PLL: Add support for configuring PLL_P and PLL_Q
2023-06-14 10:44:51 -06:00
Carl St-Laurent
8ddeaddc67
Rename to follow ref manual and CubeIDE
2023-06-08 20:46:48 -04:00
Carl St-Laurent
ade46489f1
Added Vcore boost mode and Flash wait state
2023-06-04 11:57:42 -04:00
Carl St-Laurent
e83762e979
Use HSI16 for exemple since HSE might have a different value depending on board
2023-06-04 11:05:13 -04:00
Carl St-Laurent
675499449f
Example using PLL
2023-06-03 22:10:43 -04:00
xoviat
9e1ddeac86
stm32: fix defective example
2023-04-16 18:32:55 -05:00
Dario Nieuwenhuis
5daa173ce4
Split embassy-time from embassy-executor.
2022-08-18 01:22:30 +02:00
Dario Nieuwenhuis
fc6e1e06b3
Remove HAL initialization from #[embassy::main] macro.
2022-08-17 22:16:46 +02:00
Dario Nieuwenhuis
a0f1b0ee01
Split embassy crate into embassy-executor, embassy-util.
2022-07-29 23:40:36 +02:00
Dario Nieuwenhuis
b5ff7c5d60
rename PwmPin::new_chX, update examples.
2022-07-23 16:16:29 +02:00
Grant Miller
5ecbe5c918
embassy-stm32: Simplify time
...
- 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
2022-07-10 21:46:45 -05:00
Dario Nieuwenhuis
a8703b7598
Run rustfmt.
2022-06-12 22:22:31 +02:00
Dario Nieuwenhuis
82803bffda
Use embassy/defmt-timestamp-uptime in all examples.
2022-04-02 04:35:06 +02:00
Dario Nieuwenhuis
550da471be
stm32: Remove OptionalPin
...
The idea behind OptionalPin has a few problems:
- you need to impl the signal traits for NoPin which is a bit weird https://github.com/embassy-rs/embassy/blob/master/embassy-stm32/src/dcmi.rs#L413-L416
- you can pass any combination of set/unset pins, which needs checking at runtime https://github.com/embassy-rs/embassy/blob/master/embassy-stm32/src/dcmi.rs#L130
The replacement is to do multiple `new` constructors for each combination of pins you want to take.
2022-02-10 02:38:10 +01:00
Dario Nieuwenhuis
b526addf7b
stm32/exti: expose all functionality as inherent methods.
2022-01-19 17:59:55 +01:00
Dario Nieuwenhuis
58fc64722c
stm32/gpio: expose all functionality as inherent methods.
2022-01-19 17:59:55 +01:00
Matous Hybl
e056bedd55
Port the PWM example to H7, add low-level API example implementing 32-bit PWM.
2022-01-13 16:53:55 +01:00
Dario Nieuwenhuis
e40555e245
examples/stm32g4: add pwm example
2021-11-27 03:06:46 +01:00
Dario Nieuwenhuis
88d4b0c00d
stm32: add stm32g4 support.
2021-11-27 02:34:23 +01:00