Mathias
7ee7109508
Rebase on master
2022-09-29 10:00:13 +02:00
Mathias
bf1da0497c
Allow unused fields temporarily in i2c
2022-09-27 22:08:49 +02:00
Mathias
44c46e3c93
Move async i2c implementation to new PR, to merge working blocking implementation faster
2022-09-27 22:08:49 +02:00
Mathias Koch
b0d91e9f31
Apply suggestions from code review
...
Co-authored-by: Jacob Gonzalez <jacobgonzalez5252@gmail.com>
2022-09-27 22:08:49 +02:00
Mathias
53c34ccc39
Add async API for I2C
2022-09-27 22:08:49 +02:00
Mathias
be68d8ebb7
Add further i2c error types
2022-09-27 22:08:49 +02:00
Mathias
603513e76e
Fix blocking I2C
2022-09-27 22:08:49 +02:00
Mathias
bcd3ab4ba1
Add blocking read & write for I2C
2022-09-27 22:08:49 +02:00
Mathias
820e6462b6
Add preliminary I2C implementation for RP2040
2022-09-27 22:08:49 +02:00
Dario Nieuwenhuis
17d8d11f73
usb: make HALs depend only on embassy-usb-driver.
2022-09-27 13:16:49 +02:00
Mathias
e129a97d48
Fix bufferedUart read and write tests
2022-09-27 07:45:10 +02:00
Mathias
65907204d6
Rename from {Rx,Tx}BufferedUart to BufferedUart{Rx,Tx} to be compliant with stm32 and nrf implementations
2022-09-27 05:51:31 +02:00
Mathias
f76444bdc4
Add HIL test for bufferedUart
2022-09-26 20:34:55 +02:00
Mathias
b3dfd06dd6
Remove code-duplication in async bufferedUart implementations
2022-09-26 20:34:55 +02:00
Mathias
d6af0f6286
Formatting
2022-09-26 20:34:55 +02:00
Mathias
f2239d34cc
Add bufferedUart, including a split version for only Rx or Tx
2022-09-26 20:34:55 +02:00
Mathias
ee76831f93
Add BufferedUart implementation, and feature-guard time-driver initialization, to free up TIMER peripheral if not used with embassy executor
2022-09-26 20:34:55 +02:00
Dario Nieuwenhuis
1e95c4fcff
rp: Disable intrinsics by default.
2022-09-26 19:53:22 +02:00
bors[bot]
49070c75b6
Merge #972
...
972: Restructure USB crates r=Dirbaio a=Dirbaio
- Split driver from `embassy-usb` to a separate crate. This allows making breaking changes to `embassy-usb` without having to bump all the crates with driver impls, such as HALs.
- Merge classes into `embassy-usb`. Now that breaking changes to `embassy-usb` aren't that bad, having everything in a single crate is much easier.
Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2022-09-26 11:32:41 +00:00
Dario Nieuwenhuis
7f7c14b7bc
usb: split driver trait to separate crate.
2022-09-26 12:29:27 +02:00
Dario Nieuwenhuis
fa7781c48d
Add credits to rp-hal
2022-09-26 11:57:26 +02:00
Mathias
18dc0dea63
Drop rp2040-flash as dependency, as they pull in rp2040-hal for rom-data functions, which are now part of this HAL as well
2022-09-23 08:12:32 +02:00
Mathias
9d674f0212
First iteration attempt on implementing generic flash mutation access for RP2040
2022-09-23 07:59:10 +02:00
Mathias
816778e3fa
Add RP2040 ROM functions and intrinsics aliases
2022-09-23 07:58:48 +02:00
Dario Nieuwenhuis
4f33cc5d1a
Replace futures::future::join -> embassy_futures::join::join.
2022-09-23 07:58:48 +02:00
Dario Nieuwenhuis
2fed9f949a
Replace futures::future::poll_fn -> core::future::poll_fn.
2022-09-23 07:58:48 +02:00
Dario Nieuwenhuis
7412a859fd
Update Rust nightly.
...
Removes feature(generic_associated_types)
2022-09-23 07:58:48 +02:00
Mathias
0db1332da8
Implement RealTimeClock for embassy-rp
2022-09-23 07:58:48 +02:00
Alex Martens
4322293f63
rp: let SPI RX overflow during async write
2022-09-23 07:58:48 +02:00
Alex Martens
c14527486d
rp: fix async SPI read and write
2022-09-23 07:58:48 +02:00
Alex Martens
81298394b5
rp: remove extraneous newlines in logs
2022-09-23 07:58:48 +02:00
Mathias
f46b838746
Feature-gate time-driver in embassy-rp
2022-09-23 07:58:48 +02:00
Mathias
2e7916c5fe
Add RP2040 ROM functions and intrinsics aliases
2022-09-23 06:45:44 +02:00
Dario Nieuwenhuis
10d1ad2343
Replace futures::future::join -> embassy_futures::join::join.
2022-09-22 16:48:35 +02:00
Dario Nieuwenhuis
a0487380da
Replace futures::future::poll_fn -> core::future::poll_fn.
2022-09-22 16:42:49 +02:00
Dario Nieuwenhuis
897b72c872
Update Rust nightly.
...
Removes feature(generic_associated_types)
2022-09-22 16:38:14 +02:00
bors[bot]
3b58ac1bf8
Merge #949
...
949: (embassy-rp): Implement RealTimeClock r=lulf a=MathiasKoch
Basically a 1:1 port of the great implementation effort made by `rp-hal`
Co-authored-by: Mathias <mk@blackbird.online>
2022-09-21 07:19:23 +00:00
bors[bot]
6663390224
Merge #954
...
954: rp: fix async SPI read and write r=lulf a=newAM
Closes #953
Co-authored-by: Alex Martens <alex@thinglab.org>
2022-09-19 07:26:10 +00:00
Alex Martens
0c6933fefb
rp: remove extraneous newlines in logs
2022-09-18 14:54:24 -07:00
Alex Martens
295cc997ae
rp: let SPI RX overflow during async write
2022-09-18 12:23:17 -07:00
Alex Martens
ab1a6889a6
rp: fix async SPI read and write
2022-09-18 12:02:05 -07:00
Mathias
feb840c503
First iteration attempt on implementing generic flash mutation access for RP2040
2022-09-16 13:20:22 +02:00
Mathias
feead3ae89
Implement RealTimeClock for embassy-rp
2022-09-16 13:18:23 +02:00
Mathias
f7267d493f
Feature-gate time-driver in embassy-rp
2022-09-16 12:54:26 +02:00
Henrik Alsér
efe456ab14
Fix dma
2022-09-01 15:50:08 +02:00
Henrik Alsér
71c130488b
Reorder args
2022-09-01 15:12:44 +02:00
Henrik Alsér
e2181cb439
rustfmt
2022-09-01 15:12:44 +02:00
Henrik Alsér
b934f3f12e
Remove cfg_if
2022-09-01 15:12:44 +02:00
Henrik Alsér
3fce6ec649
Rearrange new:s
2022-09-01 15:12:44 +02:00
Henrik Alsér
27905f1be1
Change DMA write/read to use raw pointers
2022-09-01 15:12:44 +02:00
Henrik Alsér
99dd2a9386
Reorder args
2022-09-01 15:12:44 +02:00
Henrik Alsér
6d347af9fa
transfer_in_place
2022-09-01 15:12:43 +02:00
Henrik Alsér
44150c4830
impl embedded-hal-async
2022-09-01 15:12:43 +02:00
Henrik Alsér
07c64d902e
example
2022-09-01 15:12:43 +02:00
Henrik Alsér
e7d4bf258a
dma
2022-09-01 15:12:43 +02:00
Dario Nieuwenhuis
8ba421f324
Do not use cfg_if for embedded-hal-async feature gates.
...
Old code used `cfg_if!` because rustc still parses code inside disabled cfg's, and Rust stable at that time couldn't parse the new GAT where-clause location. This is not the case anymore.
2022-08-31 03:11:21 +02:00
Dario Nieuwenhuis
e4d4166da2
Merge pull request #927 from embassy-rs/rp-usb
...
rp: add usb device support.
2022-08-30 19:15:44 +02:00
Mathias
bd27b9080f
Add HIL tests of DMA & UART, and correctly set DREQ for uart DMA
2022-08-26 12:55:15 +02:00
Dario Nieuwenhuis
a730e2cd0f
rp: add usb device support.
2022-08-25 00:03:55 +02:00
Dario Nieuwenhuis
f11aa9720b
rp: update PAC
2022-08-24 23:43:28 +02:00
Mathias
b88ef03214
Only check for ahb error in DMA
2022-08-23 13:46:48 +02:00
Mathias
594a64b3bf
Change to using embassy-sync
2022-08-23 13:28:14 +02:00
Mathias
36cf719a18
Merge branch 'master' of https://github.com/embassy-rs/embassy into embassy-rp/dma
2022-08-23 13:24:52 +02:00
Mathias
7e3ce2c90b
Abort DMA operation when dropping a Transfer, and panic on DMA errors
2022-08-23 13:20:36 +02:00
Mathias
f6c2e26372
Address code review comments
2022-08-23 12:28:17 +02:00
Dario Nieuwenhuis
21072bee48
split embassy-util
into embassy-futures
, embassy-sync
.
2022-08-22 22:18:13 +02:00
Dario Nieuwenhuis
f48391a685
rp: fix nvic prio bits (it's 2, not 3)
2022-08-22 16:29:34 +02:00
Mathias
295af2a057
Fix bit checking in DMA irq
2022-08-19 14:16:19 +02:00
Mathias
331a64a4ea
Add back public dma::copy, and correct dma incr settings for read/write
2022-08-19 10:43:59 +02:00
Mathias
140ef4febf
Add DMA_IRQ0 handling to Transfer
2022-08-19 09:48:58 +02:00
Mathias
aa586fe1de
Simplify waker storage for DMA state
2022-08-18 21:27:37 +02:00
Mathias
debff0980d
Don't increment read address in DMA copy from peripherals
2022-08-18 21:20:47 +02:00
Mathias
1d49b3444f
Add DMA read + write functions
2022-08-18 21:09:50 +02:00
Mathias
a7d6bc7ba5
Merge branch 'master' of https://github.com/embassy-rs/embassy into embassy-rp/dma
2022-08-18 21:08:57 +02:00
bors[bot]
aefa5275a2
Merge #910
...
910: (embassy-rp): Implement remaining logic for blocking UART r=lulf a=MathiasKoch
async read/write is still `todo!()`, awaiting DMA implementation.
Co-authored-by: Mathias <mk@blackbird.online>
2022-08-18 18:36:27 +00:00
Mathias
9c9b7b1a66
Remove unneeded NoDma struct
2022-08-18 20:34:55 +02:00
Mathias
55a63a5417
Attempt to implement future for DMA transfer
2022-08-18 20:30:50 +02:00
Mathias
3bbfc11f45
Stop active DMA transfer on drop
2022-08-18 20:30:24 +02:00
Mathias
d35a1c9790
Preliminary DMA support for RP2040
2022-08-18 19:39:13 +02:00
Mathias
0f74f870b0
Fix rp uart example
2022-08-18 14:01:37 +02:00
Mathias
d52c7ded49
Implement remaining logic for blocking UART. async is still todo, awaiting DMA
2022-08-18 10:23:29 +02: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
6c10fa44d0
rp/gpio: fix wait_for_* when multiple pins are in use.
2022-08-08 00:22:08 +02:00
Dario Nieuwenhuis
89e2e25d6f
rp/gpio: remove unused lifetimes.
2022-08-07 23:25:50 +02:00
Dario Nieuwenhuis
a0f1b0ee01
Split embassy crate into embassy-executor, embassy-util.
2022-07-29 23:40:36 +02:00
Dario Nieuwenhuis
f02ba35482
Remove PeripheralRef::into_inner()
2022-07-23 14:27:45 +02:00
Dario Nieuwenhuis
4901c34d9c
Rename Unborrowed -> PeripheralRef, Unborrow -> Peripheral
2022-07-23 14:00:19 +02:00
Dario Nieuwenhuis
8a9d2f59af
Update embassy-stm32
2022-07-23 02:40:13 +02:00
Dario Nieuwenhuis
be6408e202
Rename unsafe_impl_unborrow to impl_unborrow
2022-07-23 01:33:22 +02:00
Grant Miller
bff0ad9286
Update embassy-rp
2022-07-23 01:33:22 +02:00
Daniel Bevenius
e757b1882e
Add inline attribute to embassy-rp async functions
...
This commit adds the inline attribute to the recently added async gpio
functions. This is to enable cross-crate inlining and to be consistent
with the other functions implemented for Input and Flex.
2022-07-22 07:24:14 +02:00
Jan Niehusmann
aff840cf30
Fix build of embassy-rp on stable channel
2022-07-21 20:14:45 +00:00
Daniel Bevenius
8979959dd1
Add embedded_hal_async support for embassy-rp
...
This commit adds support for embedded-hal-async to the Embassy
Raspberry PI crate.
2022-07-14 13:52:22 +02:00
chemicstry
53e40860c1
Move all gpio logic to Flex
2022-07-13 02:45:37 +03:00
chemicstry
a335589f34
Change get_set_level to get_output_level
2022-07-13 02:25:09 +03:00
chemicstry
57002875d6
Add convenience GPIO functions to RP
2022-07-13 02:22:46 +03:00
bors[bot]
5f43c1d37e
Merge #850
...
850: Shared buses with SetConfig r=Dirbaio a=kalkyl
Addresses issue #830
Co-authored-by: Henrik Alsér <henrik@mindbite.se>
2022-07-10 00:03:44 +00:00
Dario Nieuwenhuis
5cc5961c94
rp/gpio: add Flex.
2022-07-09 02:14:30 +02:00
Henrik Alsér
85e67d94ad
impl SetConfig for rp2040 SPI
2022-07-09 00:32:55 +02:00