Dario Nieuwenhuis
97ca0e77bf
stm32: avoid creating many tiny critical sections in init.
...
Saves 292 bytes on stm32f0 bilnky with max optimizations (from 3132 to 2840).
2023-10-12 16:20:34 +02:00
pbert
ecdd7c0e2f
enable clock first
2023-10-12 11:04:44 +02:00
pbert
f65a96c541
STM32: combine RccPeripherals reset() and enable() to reset_and_enable()
2023-10-12 11:04:19 +02:00
Dario Nieuwenhuis
70a91945fc
stm32: remove atomic-polyfill.
2023-10-12 02:07:26 +02:00
xoviat
e042b3056d
stm32: fix stop
2023-10-02 18:11:03 -05:00
xoviat
7cf327130e
stm32/low-power: create one critical-section for all time ops
2023-09-21 19:32:48 -05:00
xoviat
6da75ea285
stm32: rtc/low-power cleanup
2023-09-15 18:41:33 -05:00
xoviat
1e430f7413
stm32: complete stop impl.
2023-08-26 20:31:12 -05:00
xoviat
2897670f24
stm32: get the basic lp working
2023-08-26 19:23:25 -05:00
xoviat
cda4047310
stm32: flesh out lp executor
2023-08-24 19:29:11 -05:00
Dario Nieuwenhuis
558918651e
stm32: update stm32-metapac.
2023-06-19 03:22:12 +02:00
Dario Nieuwenhuis
8c93805ab5
Add rt
feature to HALs, cfg out interrupt handling when not set.
2023-06-08 18:57:03 +02:00
Dario Nieuwenhuis
921780e6bf
Make interrupt module more standard.
...
- 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`.
2023-06-08 18:00:48 +02:00
Dario Nieuwenhuis
404aa29289
cortex-m: remove owned interrupts.
2023-06-01 03:25:19 +02:00
xoviat
316be179af
stm32: move to bind_interrupts
...
disable lora functionality for now
2023-05-24 17:29:56 -05:00
Dirk Stolle
0584312ef0
Fix some typos
2023-05-08 23:25:01 +02:00
ivmarkov
e3cf4255c6
Help compiler with type inference
2022-10-24 11:31:54 +03:00
ivmarkov
f78c706b89
Address review feedback
2022-10-24 11:10:59 +03:00
ivmarkov
4d5550070f
Change time Driver contract to never fire the alarm synchronously
2022-10-24 09:17:43 +03:00
Dario Nieuwenhuis
5327b9c289
time: add more tick rates, use 1mhz as default.
2022-09-02 00:59:34 +02:00
Dario Nieuwenhuis
21072bee48
split embassy-util
into embassy-futures
, embassy-sync
.
2022-08-22 22:18:13 +02:00
Dario Nieuwenhuis
5daa173ce4
Split embassy-time from embassy-executor.
2022-08-18 01:22:30 +02:00
Dario Nieuwenhuis
a0f1b0ee01
Split embassy crate into embassy-executor, embassy-util.
2022-07-29 23:40:36 +02:00
Dario Nieuwenhuis
a8703b7598
Run rustfmt.
2022-06-12 22:22:31 +02:00
Dario Nieuwenhuis
5085100df2
Add embassy-cortex-m crate.
...
- 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`.
2022-06-12 21:45:38 +02:00
chemicstry
d052631118
Fix STM32 timer interrupt bug
2022-03-30 00:27:33 +03:00
Matous Hybl
0172ca5b81
stm32: Add support for using TIM12 and TIM15 as time driver
2022-02-28 19:20:22 +01:00
Matous Hybl
a88c5e716e
stm32: Register access for timers now doesn't require self
2022-02-28 16:20:42 +01:00
Dario Nieuwenhuis
dd828a7a92
stm32: move macrotables to embassy-stm32 build.rs
2022-02-26 03:23:09 +01:00
Dario Nieuwenhuis
2a246be06e
stm32/time_driver: use trait impls from the main timer mod.
2022-02-24 06:28:29 +01:00
Dario Nieuwenhuis
6c925b2342
blocking_mutex: refactor to work on stable. No GATs, and can be constructed in const.
2022-02-12 01:16:31 +01:00
Dario Nieuwenhuis
533ceb707c
stm32: add tim4, tim5 support for time-driver (stm32f410 doesn't have tim2, tim3)
2022-01-24 00:50:10 +01:00
Dario Nieuwenhuis
79f60adbfb
stm32: add time-driver-any
cargo feature that automatically picks one available timer.
2022-01-24 00:24:53 +01:00
Matous Hybl
6e0eb33ea8
Downcast timer to GP16 for time drivers.
2021-12-02 18:07:05 +01:00
Dario Nieuwenhuis
7c0990ad1e
time: allow storing state inside the driver struct.
2021-08-25 21:06:27 +02:00
Ben Gamari
40e7176e13
embassy-stm32: Eliminate use of unwrap
2021-08-05 22:40:08 +02:00
Dario Nieuwenhuis
05e50e1f4a
time_driver: use regular fn ptr -> raw ptr casts
2021-08-05 19:19:47 +02:00
Dario Nieuwenhuis
b1d631d639
stm32/time: add Cargo features to choose tim2/tim3
2021-08-05 19:14:09 +02:00
Dario Nieuwenhuis
0ea6a2d890
time: replace dyn clock/alarm with a global Driver trait
2021-08-05 19:14:09 +02:00