Commit graph

28 commits

Author SHA1 Message Date
Dario Nieuwenhuis
97ca54fa66 Rename PeripheralBorrow to Unborrow 2021-04-14 19:59:52 +02:00
Ulf Lilleengen
37b3d8b22c Add embassy_prefix attribute parameter to task and main macros
This allows crates depending on embassy that wants to use a different
module path to do so for the 'task' and 'main' macros, by passing the
parameter 'embassy_prefix'. The prefix defaults to '::', which will
retain the existing behavior.
2021-04-14 11:06:30 +02:00
Ulf Lilleengen
7671605452 Add std version of embassy::main 2021-04-12 14:14:03 +02:00
Dario Nieuwenhuis
02ae53e71b Fix unused import warnings 2021-03-29 21:35:25 +02:00
Dario Nieuwenhuis
2cd3bdc90c rp: add initial version 2021-03-29 21:35:25 +02:00
xoviat
32ca231fe6 stm32: use embassy::main in more places 2021-03-29 09:18:48 -05:00
Dario Nieuwenhuis
d7c3a38efc Reexport macros at root, use eveywhere as #[embassy::task] 2021-03-29 03:00:48 +02:00
Dario Nieuwenhuis
d5ab02792c nrf: add main macro support 2021-03-29 02:51:42 +02:00
Dario Nieuwenhuis
4ce46df160 Code size optimizations. 2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
d9aaa0edf8 Implement PeripheralBorrow for interrupts. 2021-03-29 00:58:57 +02:00
xoviat
6ee9e012fc add embassy::main and implement for stm32f4 2021-03-27 17:27:39 -05:00
Dario Nieuwenhuis
8c2da193b8 Add spawn/spawn_pool APIs to Task 2021-03-18 00:38:27 +01:00
Dario Nieuwenhuis
5c2bf3981e Move Task into raw 2021-03-18 00:20:11 +01:00
Dario Nieuwenhuis
ab01e0be3b Do not reexport atomic-polyfill 2021-03-17 02:52:21 +01:00
Dario Nieuwenhuis
18f6b8ad68 thumbv6m support with emulated atomics 2021-03-04 21:56:31 +01:00
Dario Nieuwenhuis
11be9170ec Cleanup interrupt package naming. Fixes #40
The `interrupt` package previously tried to be drop-in compatible with the
`interrupt` package from PACs. THis meant that there was both a PAC-style enum
value `UARTE0` and an embassy-style owned `UARTE0Interrupt` type. This made
things VERY confusing.

This drops compatibility with the PAC, improving the names for embassy interrupts.
2021-02-26 01:55:27 +01:00
Dario Nieuwenhuis
465ca9086d Fix macro if user crate is not using feature(const_in_array_repeat_expressions) 2021-02-23 23:05:18 +01:00
Dario Nieuwenhuis
7321ddb0b3 Update to cortex-m 0.7 2021-02-14 23:26:50 +01:00
Thales Fragoso
b69f72e055 Get rid of some warnings 2021-02-13 21:41:36 -03:00
Dario Nieuwenhuis
aeaa34d7a1 Executor API V2.
- It's no longer possible to call run() reentrantly from within a task (soundness issue)
- it's now possible to spawn Send tasks across threads (SendSpawner, #37)
2021-02-02 05:20:41 +01:00
Timo Kröger
9f9d808948 Fix IRQ numbers
The raw enum values are not always equal to the interrupt number
fixes #23
2021-01-17 17:28:46 +01:00
Dario Nieuwenhuis
9e88718fbd Add "context" pointer to owned interrupt handlers. 2021-01-04 22:25:39 +01:00
Timo Kröger
c17954ccba Fix warnings for tasks that take mutable parameters
#[task]
pub async fn run(mut param: Param) {}

warning: variable does not need to be mutable
2020-12-31 15:38:10 +01:00
Dario Nieuwenhuis
bb6f25d010 Remove use of deprecated compare_and_swap. 2020-12-30 01:07:22 +01:00
Dario Nieuwenhuis
0750234fbe WIP owned irqs 2020-12-29 00:05:52 +01:00
Dario Nieuwenhuis
b40e09d502 Allow spawning tasks with non-copy args. 2020-11-03 22:12:45 +01:00
Dario Nieuwenhuis
57abd7064d task codegen: use local items instead of non-locals with prefixed names. 2020-10-31 16:36:09 +01:00
Dario Nieuwenhuis
cd9ecaef57 integrate static-executor, cleanup time module. 2020-10-19 21:25:54 +02:00