Commit Graph

28 Commits

Author SHA1 Message Date
xoviat
13f6c47a88 impl. stm32f405 2021-03-04 17:27:46 -06:00
xoviat
9bcb0c36dc implement generics on serial 2021-03-04 17:20:35 -06:00
xoviat
9626aee7db Move traits to separate crate. 2021-03-02 00:32:23 +01:00
Dario Nieuwenhuis
45355f184a move most interrupt methods to InterruptExt extension trait. Fixes #35 2021-03-01 00:44:38 +01:00
Dario Nieuwenhuis
da91779117 interrupt: Split set_handler context.
Since introducing the ctx pointer, the handler is now two words, so setting it can
race with the interrupt firing. On race it's possible for the new handler to be
alled with the old ctx pointer or viceversa.

Rather than documenting this, it's better to split the function in two to make it
obvious to the user that it's not atomic. The user can use a critical section, or
disable/enable the interrupt to avoid races if this is a concern.
2021-02-26 02:04:48 +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
Thales Fragoso
b69f72e055 Get rid of some warnings 2021-02-13 21:41:36 -03:00
xoviat
2b15a2674f minor cleanup to interface 2021-01-14 11:42:23 -06:00
xoviat
7adf99eff3 implement changes 2021-01-13 17:40:32 -06:00
xoviat
a168b9ef51 restrict unsafe block 2021-01-06 21:02:02 -06:00
xoviat
31ba052f14 mark new unsafe 2021-01-06 14:31:43 -06:00
xoviat
1c3b7541cb use transmute for now 2021-01-06 14:12:33 -06:00
xoviat
27cfcbacb8 try uart implementation 2021-01-06 12:12:29 -06:00
xoviat
66622de82a fix set_handler context 2021-01-06 10:49:08 -06:00
xoviat
9bf09488f1 fix interrupts 2021-01-04 12:48:13 -06:00
xoviat
2ee2d18465 simplify impl. and add interupt idea 2021-01-01 14:59:57 -06:00
xoviat
d5cb9bebaa implement on irqs 2020-12-31 17:59:01 -06:00
xoviat
cc8d162859 begin integrate interrupt 2020-12-31 16:59:42 -06:00
xoviat
925ede848e rename uarte as serial 2020-12-31 16:40:51 -06:00
xoviat
308756f366 generalize uarte 2020-12-31 16:38:31 -06:00
xoviat
142c01ad01 generalize futures 2020-12-31 16:11:23 -06:00
xoviat
d52e1b2276 use transfer_complete_flag; make partially generic 2020-12-31 15:58:35 -06:00
xoviat
ea36029a3d reformat 2020-12-30 19:50:15 -06:00
xoviat
a5cf65a17b impl. poll:ready 2020-12-30 19:45:07 -06:00
xoviat
c6cf9b801d minor rework to get tx working (maybe) 2020-12-30 12:27:47 -06:00
xoviat
60c7d112b1 fix borrowing errors 2020-12-30 11:05:52 -06:00
xoviat
41db867d9a fix transfer mutability 2020-12-29 22:57:00 -06:00
xoviat
53c2829eb1 add dma example; rename uarte 2020-12-29 19:10:47 -06:00