1#[doc(alias = "master")]
4pub mod main;
5
6use ariel_os_embassy_common::spi::{BitOrder, Mode};
7
8fn from_mode(mode: Mode) -> esp_hal::spi::Mode {
9 match mode {
10 Mode::Mode0 => esp_hal::spi::Mode::_0,
11 Mode::Mode1 => esp_hal::spi::Mode::_1,
12 Mode::Mode2 => esp_hal::spi::Mode::_2,
13 Mode::Mode3 => esp_hal::spi::Mode::_3,
14 }
15}
16
17fn from_bit_order(bit_order: BitOrder) -> esp_hal::spi::BitOrder {
18 match bit_order {
19 BitOrder::MsbFirst => esp_hal::spi::BitOrder::MsbFirst,
20 BitOrder::LsbFirst => esp_hal::spi::BitOrder::LsbFirst,
21 }
22}
23
24#[doc(hidden)]
25pub fn init(peripherals: &mut crate::OptionalPeripherals) {
26 cfg_if::cfg_if! {
28 if #[cfg(context = "esp32")] {
29 let _ = peripherals.SPI2.take().unwrap();
30 let _ = peripherals.SPI3.take().unwrap();
31 } else if #[cfg(context = "esp32c3")] {
32 let _ = peripherals.SPI2.take().unwrap();
33 } else if #[cfg(context = "esp32c6")] {
34 let _ = peripherals.SPI2.take().unwrap();
35 } else if #[cfg(context = "esp32s2")] {
36 let _ = peripherals.SPI2.take().unwrap();
37 let _ = peripherals.SPI3.take().unwrap();
38 } else if #[cfg(context = "esp32s3")] {
39 let _ = peripherals.SPI2.take().unwrap();
40 let _ = peripherals.SPI3.take().unwrap();
41 } else {
42 compile_error!("this ESP32 chip is not supported");
43 }
44 }
45}