Switch to crates.io embedded-hal, embedded-hal-async.

This temporarily removes support for the async UART trait, since it's
not yet in embedded-hal-async.
This commit is contained in:
Dario Nieuwenhuis
2022-04-22 19:58:24 +02:00
parent ea0a701ebd
commit 3251a21fb7
15 changed files with 31 additions and 55 deletions

View File

@ -20,7 +20,8 @@ futures = { version = "0.3.17", default-features = false, features = ["async-awa
display-interface-spi = "0.4.1"
embedded-graphics = "0.7.1"
st7789 = "0.6.1"
embedded-hal = { version = "1.0.0-alpha.7", git = "https://github.com/embassy-rs/embedded-hal", branch = "embassy2" }
display-interface = "0.4.1"
byte-slice-cast = { version = "1.2.0", default-features = false }
embedded-hal-1 = { package = "embedded-hal", version = "1.0.0-alpha.8" }
embedded-hal-async = { version = "0.1.0-alpha.0" }

View File

@ -110,9 +110,9 @@ mod shared_spi {
use core::cell::RefCell;
use core::fmt::Debug;
use embedded_hal::digital::blocking::OutputPin;
use embedded_hal::spi;
use embedded_hal::spi::blocking::SpiDevice;
use embedded_hal_1::digital::blocking::OutputPin;
use embedded_hal_1::spi;
use embedded_hal_1::spi::blocking::SpiDevice;
#[derive(Copy, Clone, Eq, PartialEq, Debug)]
pub enum SpiDeviceWithCsError<BUS, CS> {
@ -184,7 +184,7 @@ mod shared_spi {
/// Driver for the XPT2046 resistive touchscreen sensor
mod touch {
use embedded_hal::spi::blocking::{SpiBus, SpiBusRead, SpiBusWrite, SpiDevice};
use embedded_hal_1::spi::blocking::{SpiBus, SpiBusRead, SpiBusWrite, SpiDevice};
struct Calibration {
x1: i32,
@ -248,8 +248,8 @@ mod touch {
mod my_display_interface {
use display_interface::{DataFormat, DisplayError, WriteOnlyDataCommand};
use embedded_hal::digital::blocking::OutputPin;
use embedded_hal::spi::blocking::{SpiBusWrite, SpiDevice};
use embedded_hal_1::digital::blocking::OutputPin;
use embedded_hal_1::spi::blocking::{SpiBusWrite, SpiDevice};
/// SPI display interface.
///

View File

@ -18,7 +18,8 @@ defmt-rtt = "0.3"
cortex-m = "0.7.3"
cortex-m-rt = "0.7.0"
embedded-hal = "0.2.6"
embedded-hal-async = { version = "0.0.1", git = "https://github.com/embassy-rs/embedded-hal", branch = "embassy2"}
embedded-hal-1 = { package = "embedded-hal", version = "1.0.0-alpha.8" }
embedded-hal-async = { version = "0.1.0-alpha.0" }
panic-probe = { version = "0.3", features = ["print-defmt"] }
futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
heapless = { version = "0.7.5", default-features = false }

View File

@ -18,7 +18,8 @@ defmt-rtt = "0.3"
cortex-m = "0.7.3"
cortex-m-rt = "0.7.0"
embedded-hal = "0.2.6"
embedded-hal-async = { version = "0.0.1", git = "https://github.com/embassy-rs/embedded-hal", branch = "embassy2"}
embedded-hal-1 = { package = "embedded-hal", version = "1.0.0-alpha.8" }
embedded-hal-async = { version = "0.1.0-alpha.0" }
panic-probe = { version = "0.3", features = ["print-defmt"] }
futures = { version = "0.3.17", default-features = false, features = ["async-await"] }
heapless = { version = "0.7.5", default-features = false }

View File

@ -1,30 +0,0 @@
#![no_std]
#![no_main]
#![feature(type_alias_impl_trait)]
use defmt_rtt as _; // global logger
use panic_probe as _;
use defmt::*;
use embassy::executor::Spawner;
use embassy_stm32::dma::NoDma;
use embassy_stm32::usart::{Config, Uart};
use embassy_stm32::Peripherals;
use embassy_traits::adapter::BlockingAsync;
use embedded_hal_async::serial::{Read, Write};
#[embassy::main]
async fn main(_spawner: Spawner, p: Peripherals) {
let config = Config::default();
let usart = Uart::new(p.UART4, p.PA1, p.PA0, NoDma, NoDma, config);
let mut usart = BlockingAsync::new(usart);
unwrap!(usart.write(b"Hello Embassy World!\r\n").await);
info!("wrote Hello, starting echo");
let mut buf = [0u8; 1];
loop {
unwrap!(usart.read(&mut buf).await);
unwrap!(usart.write(&buf).await);
}
}