elagil
eba8089601
chore: fix build
2025-01-03 18:18:00 +01:00
Dániel Buga
ab8ca3f126
Rename ETQD, bump date
2024-12-22 21:00:23 +01:00
Dario Nieuwenhuis
b268b1795f
Merge time-driver and time-queue-driver traits, make HALs own and handle the queue.
2024-12-13 21:20:59 +01:00
Dániel Buga
5a5495aac4
Refactor integrated-timers
2024-12-10 21:31:42 +01:00
Dániel Buga
efee03744e
Only recompute allocated alarms
2024-11-30 14:40:12 +01:00
Dániel Buga
fdb8ee2e8a
RTC: Trigger expired alarms
2024-11-30 14:40:12 +01:00
eZio Pan
f3e674a79c
stm32: remove redundant time-driver macro
2024-11-28 15:48:27 +08:00
Dario Nieuwenhuis
aaad8450e9
Use inline const for initializing arrays. ( #3567 )
2024-11-24 20:58:48 +01:00
Jan Špaček
081afca3f0
stm32/rcc: replace generated enable/disable code with runtime info
2024-05-25 18:44:55 +02:00
Dario Nieuwenhuis
3d7d3e0286
stm32/time-driver: always use CC interrupt.
...
This avoids cfg's, because it works both for timers that have a a dedicated CC interrupt
line, and timers where all interrupts go to a single interrupt line.
2024-04-05 00:56:21 +02: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
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
92fa49f502
Also fix time_driver.rs
2024-03-20 20:42:03 +01:00
Dario Nieuwenhuis
eca9aac194
Fix warnings in recent nightly.
2024-03-20 16:39:09 +01: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
Torin Cooper-Bennun
86ccf0bc3e
stm32: remove TIM11 as time driver candidate (only 1 CC channel)
2024-02-23 14:35:12 +00:00
Torin Cooper-Bennun
a11e3146f8
stm32: time_driver: allow use of TIM1 for driver
2024-02-23 14:35:12 +00:00
eZio Pan
bbe1eebc53
Add missing TIM for time-driver; reorder time-driver selection when use "time-drvier-any".
2024-02-14 17:43:46 +08:00
eZio Pan
dc4898ca89
update timer mod after stm32-metapac timer_v2
2024-02-09 23:58:13 +01:00
shufps
e969b88e5a
fixed trailing white spaces
2024-01-15 11:23:41 +01:00
shufps
4e2361c024
adds timer-driver for tim21 and tim22 (on L0)
2024-01-15 08:11:22 +01:00
Dario Nieuwenhuis
15f94fb0fc
time: split driver into a separate embassy-time-driver crate.
2024-01-11 16:56:08 +01:00
RobertTDowling
b857334f92
STM32: Fix race in alarm setting, which impacted scheduling.
...
Detect potential race condition (should be rare) and return false back
to caller, allowing them to handle the possibility that either the
alarm was never set because it was in the past (old meaning of false),
or that in fact the alarm was set and may have fired within the race
window (new meaning of false). In either case, the caller needs to
make sure the callback got called.
2023-12-17 15:35:35 -08:00
Carlos Barrales Ruiz
78f709a362
* Add GP TIM9 and TIM11 to be used as time_driver
2023-12-09 14:14:34 +01:00
James Munns
18e89d7410
Add implementation note for embassy-stm32's time-driver
...
This is a detail I didn't originally understand when hoping to use TIM16/17 as alternative embassy-time driver providers.
Adding my note here to hopefully save the next person a little time.
2023-12-04 15:57:46 +01:00
Ben Gamari
aa97fe7cbd
stm32: Add some documentation to low_power
...
This begins to explain the operation of the low-power executor.
2023-10-30 14:36:08 -04:00
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