From fbd42865ef0e115f8371e6ab8189c6700e227e73 Mon Sep 17 00:00:00 2001 From: Sergio Gasquez Arcos Date: Thu, 23 Jun 2022 19:10:57 +0200 Subject: [PATCH] Update MISO and CS pins to be optional (#89) * Update CS and MISO pins to be optional * Update examples --- esp-hal-common/src/spi.rs | 20 ++++++++++++-------- esp32-hal/examples/spi_loopback.rs | 4 ++-- esp32c3-hal/examples/spi_loopback.rs | 4 ++-- esp32s2-hal/examples/spi_loopback.rs | 4 ++-- esp32s3-hal/examples/spi_loopback.rs | 4 ++-- 5 files changed, 20 insertions(+), 16 deletions(-) diff --git a/esp-hal-common/src/spi.rs b/esp-hal-common/src/spi.rs index 9e7e00024..7fe40cc62 100644 --- a/esp-hal-common/src/spi.rs +++ b/esp-hal-common/src/spi.rs @@ -13,8 +13,8 @@ //! peripherals.SPI2, //! sclk, //! mosi, -//! miso, -//! cs, +//! Some(miso), +//! Some(cs), //! 100u32.kHz(), //! SpiMode::Mode0, //! &mut peripheral_clock_control, @@ -61,8 +61,8 @@ where spi: T, mut sck: SCK, mut mosi: MOSI, - mut miso: MISO, - mut cs: CS, + miso: Option, + cs: Option, frequency: HertzU32, mode: SpiMode, peripheral_clock_control: &mut PeripheralClockControl, @@ -74,11 +74,15 @@ where mosi.set_to_push_pull_output() .connect_peripheral_to_output(spi.mosi_signal()); - miso.set_to_input() - .connect_input_to_peripheral(spi.miso_signal()); + if let Some(mut miso) = miso { + miso.set_to_input() + .connect_input_to_peripheral(spi.miso_signal()); + } - cs.set_to_push_pull_output() - .connect_peripheral_to_output(spi.cs_signal()); + if let Some(mut cs) = cs { + cs.set_to_push_pull_output() + .connect_peripheral_to_output(spi.cs_signal()); + } spi.enable_peripheral(peripheral_clock_control); diff --git a/esp32-hal/examples/spi_loopback.rs b/esp32-hal/examples/spi_loopback.rs index b415970ee..ebdf614e8 100644 --- a/esp32-hal/examples/spi_loopback.rs +++ b/esp32-hal/examples/spi_loopback.rs @@ -57,8 +57,8 @@ fn main() -> ! { peripherals.SPI2, sclk, mosi, - miso, - cs, + Some(miso), + Some(cs), 100u32.kHz(), SpiMode::Mode0, &mut system.peripheral_clock_control, diff --git a/esp32c3-hal/examples/spi_loopback.rs b/esp32c3-hal/examples/spi_loopback.rs index 3dd979260..1272fb6d4 100644 --- a/esp32c3-hal/examples/spi_loopback.rs +++ b/esp32c3-hal/examples/spi_loopback.rs @@ -60,8 +60,8 @@ fn main() -> ! { peripherals.SPI2, sclk, mosi, - miso, - cs, + Some(miso), + Some(cs), 100u32.kHz(), SpiMode::Mode0, &mut system.peripheral_clock_control, diff --git a/esp32s2-hal/examples/spi_loopback.rs b/esp32s2-hal/examples/spi_loopback.rs index 4d6126470..e55f19b35 100644 --- a/esp32s2-hal/examples/spi_loopback.rs +++ b/esp32s2-hal/examples/spi_loopback.rs @@ -57,8 +57,8 @@ fn main() -> ! { peripherals.SPI2, sclk, mosi, - miso, - cs, + Some(miso), + Some(cs), 100u32.kHz(), SpiMode::Mode0, &mut system.peripheral_clock_control, diff --git a/esp32s3-hal/examples/spi_loopback.rs b/esp32s3-hal/examples/spi_loopback.rs index 8d12c9ee2..b48920aff 100644 --- a/esp32s3-hal/examples/spi_loopback.rs +++ b/esp32s3-hal/examples/spi_loopback.rs @@ -57,8 +57,8 @@ fn main() -> ! { peripherals.SPI2, sclk, mosi, - miso, - cs, + Some(miso), + Some(cs), 100u32.kHz(), SpiMode::Mode0, &mut system.peripheral_clock_control,