diff --git a/Cargo.toml b/Cargo.toml index 951819f..d6a13fb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,6 +27,7 @@ embedded-hal-async = { version = "1.0.0" } maybe-async = { version = "0.2.10" } [features] +default = ["is_sync"] msb-spi = [] std = ["serialport"] is_sync = ["maybe-async/is_sync"] @@ -37,7 +38,7 @@ rustdoc-args = ["--cfg", "docsrs"] [[example]] name = "hsu-test-util" -required-features = ["std"] +required-features = ["std", "is_sync"] [dev-dependencies] # hsu-test-serialport diff --git a/src/lib.rs b/src/lib.rs index dee44d7..b6f78f0 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -31,7 +31,7 @@ //! # SPI example //! ``` //! # use pn532::doc_test_helper::{NoOpSPI, NoOpTimer}; -//! use pn532::{requests::SAMMode, spi::SPIInterface, Pn532, Request}; +//! use pn532::{requests::SAMMode, spi::{ SPIInterface, NoIRQ}, Pn532, Request}; //! use pn532::IntoDuration; // trait for `ms()`, your HAL might have its own //! //! # let spi = NoOpSPI; @@ -40,7 +40,7 @@ //! // spi is a struct implementing embedded_hal::spi::SpiDevice //! // timer is a struct implementing pn532::CountDown //! -//! let mut pn532: Pn532<_, _, 32> = Pn532::new(SPIInterface { spi }, timer); +//! let mut pn532: Pn532<_, _, 32> = Pn532::new(SPIInterface { spi, irq: None:: }, timer); //! if let Err(e) = pn532.process(&Request::sam_configuration(SAMMode::Normal, false), 0, 50.ms()){ //! println!("Could not initialize PN532: {e:?}") //! } diff --git a/src/spi.rs b/src/spi.rs index 7c74a6c..e637bb4 100644 --- a/src/spi.rs +++ b/src/spi.rs @@ -280,31 +280,34 @@ mod tests { #[test] fn test_spi() { - let mut spi = SPIInterface::new(SpiMock::new(&[ - // write - SpiTransaction::transaction_start(), - SpiTransaction::write(as_lsb(0x01)), - SpiTransaction::write_vec(vec![as_lsb(1), as_lsb(2)]), - SpiTransaction::transaction_end(), - // wait_ready - SpiTransaction::transaction_start(), - SpiTransaction::transfer_in_place( - vec![as_lsb(0x02), as_lsb(0x00)], - vec![as_lsb(0x00), as_lsb(0x00)], - ), - SpiTransaction::transaction_end(), - SpiTransaction::transaction_start(), - SpiTransaction::transfer_in_place( - vec![as_lsb(0x02), as_lsb(0x00)], - vec![as_lsb(0x00), as_lsb(0x01)], - ), - SpiTransaction::transaction_end(), - // read - SpiTransaction::transaction_start(), - SpiTransaction::write(as_lsb(0x03)), - SpiTransaction::read_vec(vec![as_lsb(3), as_lsb(4)]), - SpiTransaction::transaction_end(), - ])); + let mut spi = SPIInterface { + spi: SpiMock::new(&[ + // write + SpiTransaction::transaction_start(), + SpiTransaction::write(as_lsb(0x01)), + SpiTransaction::write_vec(vec![as_lsb(1), as_lsb(2)]), + SpiTransaction::transaction_end(), + // wait_ready + SpiTransaction::transaction_start(), + SpiTransaction::transfer_in_place( + vec![as_lsb(0x02), as_lsb(0x00)], + vec![as_lsb(0x00), as_lsb(0x00)], + ), + SpiTransaction::transaction_end(), + SpiTransaction::transaction_start(), + SpiTransaction::transfer_in_place( + vec![as_lsb(0x02), as_lsb(0x00)], + vec![as_lsb(0x00), as_lsb(0x01)], + ), + SpiTransaction::transaction_end(), + // read + SpiTransaction::transaction_start(), + SpiTransaction::write(as_lsb(0x03)), + SpiTransaction::read_vec(vec![as_lsb(3), as_lsb(4)]), + SpiTransaction::transaction_end(), + ]), + irq: None::, + }; spi.write(&mut [1, 2]).unwrap();