Rename Uarte -> BufferedUarte

This commit is contained in:
Dario Nieuwenhuis 2020-12-28 23:57:50 +01:00
parent 4a7344cb6f
commit 267ec334ac
3 changed files with 12 additions and 12 deletions

View file

@ -133,7 +133,7 @@ enum TxState {
/// are disabled before using `Uarte`. See product specification: /// are disabled before using `Uarte`. See product specification:
/// - nrf52832: Section 15.2 /// - nrf52832: Section 15.2
/// - nrf52840: Section 6.1.2 /// - nrf52840: Section 6.1.2
pub struct Uarte<T: Instance> { pub struct BufferedUarte<T: Instance> {
started: bool, started: bool,
state: UnsafeCell<UarteState<T>>, state: UnsafeCell<UarteState<T>>,
} }
@ -163,7 +163,7 @@ fn port_bit(port: GpioPort) -> bool {
} }
} }
impl<T: Instance> Uarte<T> { impl<T: Instance> BufferedUarte<T> {
pub fn new(uarte: T, mut pins: Pins, parity: Parity, baudrate: Baudrate) -> Self { pub fn new(uarte: T, mut pins: Pins, parity: Parity, baudrate: Baudrate) -> Self {
// Select pins // Select pins
uarte.psel.rxd.write(|w| { uarte.psel.rxd.write(|w| {
@ -218,7 +218,7 @@ impl<T: Instance> Uarte<T> {
// Configure frequency // Configure frequency
uarte.baudrate.write(|w| w.baudrate().variant(baudrate)); uarte.baudrate.write(|w| w.baudrate().variant(baudrate));
Uarte { BufferedUarte {
started: false, started: false,
state: UnsafeCell::new(UarteState { state: UnsafeCell::new(UarteState {
inner: uarte, inner: uarte,
@ -262,14 +262,14 @@ impl<T: Instance> Uarte<T> {
} }
} }
impl<T: Instance> Drop for Uarte<T> { impl<T: Instance> Drop for BufferedUarte<T> {
fn drop(&mut self) { fn drop(&mut self) {
// stop DMA before dropping, because DMA is using the buffer in `self`. // stop DMA before dropping, because DMA is using the buffer in `self`.
todo!() todo!()
} }
} }
impl<T: Instance> AsyncBufRead for Uarte<T> { impl<T: Instance> AsyncBufRead for BufferedUarte<T> {
fn poll_fill_buf(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<&[u8]>> { fn poll_fill_buf(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<&[u8]>> {
self.with_state(|s| s.poll_fill_buf(cx)) self.with_state(|s| s.poll_fill_buf(cx))
} }
@ -279,7 +279,7 @@ impl<T: Instance> AsyncBufRead for Uarte<T> {
} }
} }
impl<T: Instance> AsyncWrite for Uarte<T> { impl<T: Instance> AsyncWrite for BufferedUarte<T> {
fn poll_write(self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &[u8]) -> Poll<Result<usize>> { fn poll_write(self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &[u8]) -> Poll<Result<usize>> {
self.with_state(|s| s.poll_write(cx, buf)) self.with_state(|s| s.poll_write(cx, buf))
} }

View file

@ -51,11 +51,11 @@ pub use nrf52840_hal as hal;
// This mod MUST go first, so that the others see its macros. // This mod MUST go first, so that the others see its macros.
pub(crate) mod fmt; pub(crate) mod fmt;
pub mod buffered_uarte;
pub mod gpiote; pub mod gpiote;
pub mod interrupt; pub mod interrupt;
#[cfg(feature = "52840")] #[cfg(feature = "52840")]
pub mod qspi; pub mod qspi;
pub mod rtc; pub mod rtc;
pub mod uarte;
pub use cortex_m_rt::interrupt; pub use cortex_m_rt::interrupt;

View file

@ -13,7 +13,7 @@ use nrf52840_hal::gpio;
use embassy::executor::{task, Executor}; use embassy::executor::{task, Executor};
use embassy::io::{AsyncBufRead, AsyncBufReadExt, AsyncWrite, AsyncWriteExt}; use embassy::io::{AsyncBufRead, AsyncBufReadExt, AsyncWrite, AsyncWriteExt};
use embassy::util::Forever; use embassy::util::Forever;
use embassy_nrf::uarte; use embassy_nrf::buffered_uarte;
#[task] #[task]
async fn run() { async fn run() {
@ -21,7 +21,7 @@ async fn run() {
let port0 = gpio::p0::Parts::new(p.P0); let port0 = gpio::p0::Parts::new(p.P0);
let pins = uarte::Pins { let pins = buffered_uarte::Pins {
rxd: port0.p0_08.into_floating_input().degrade(), rxd: port0.p0_08.into_floating_input().degrade(),
txd: port0 txd: port0
.p0_06 .p0_06
@ -31,11 +31,11 @@ async fn run() {
rts: None, rts: None,
}; };
let u = uarte::Uarte::new( let u = buffered_uarte::BufferedUarte::new(
p.UARTE0, p.UARTE0,
pins, pins,
uarte::Parity::EXCLUDED, buffered_uarte::Parity::EXCLUDED,
uarte::Baudrate::BAUD115200, buffered_uarte::Baudrate::BAUD115200,
); );
pin_mut!(u); pin_mut!(u);