mirror of
https://github.com/esp-rs/esp-idf-hal.git
synced 2025-09-30 05:41:12 +00:00
Compatibility with ESP-IDF 4.4
This commit is contained in:
parent
7e5b12da61
commit
9f699c00d9
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "esp-idf-hal"
|
||||
version = "0.19.2"
|
||||
version = "0.20.0"
|
||||
authors = ["sapir <yasapir@gmail.com>", "Ivan Markov <ivan.markov@gmail.com>"]
|
||||
edition = "2018"
|
||||
categories = ["embedded", "hardware-support"]
|
||||
@ -15,7 +15,7 @@ readme = "README.md"
|
||||
default-target = "x86_64-unknown-linux-gnu"
|
||||
|
||||
[features]
|
||||
default = ["std", "esp-idf-sys"]
|
||||
default = ["std", "esp-idf-sys", "esp-idf-sys/default"]
|
||||
|
||||
std = ["esp-idf-sys/std"]
|
||||
|
||||
@ -26,8 +26,8 @@ cfg-if = "1"
|
||||
nb = "0.1.2"
|
||||
mutex-trait = "0.2"
|
||||
embedded-hal = { version = "0.2", features = ["unproven"] }
|
||||
esp-idf-sys = { version = "0.19", optional = true, default-features = false }
|
||||
esp-idf-sys = { version = "0.20", optional = true, default-features = false }
|
||||
|
||||
[build-dependencies]
|
||||
embuild = "0.23"
|
||||
embuild = "0.24"
|
||||
anyhow = "1"
|
||||
|
42
build.rs
42
build.rs
@ -1,33 +1,27 @@
|
||||
#[cfg(not(feature = "ulp"))]
|
||||
fn main() -> anyhow::Result<()> {
|
||||
#[cfg(not(feature = "ulp"))]
|
||||
embuild::kconfig::CfgArgs::output_propagated("ESP_IDF")?;
|
||||
embuild::build::CfgArgs::output_propagated("ESP_IDF")
|
||||
}
|
||||
|
||||
#[cfg(not(feature = "ulp"))]
|
||||
let mcu = std::env::var("DEP_ESP_IDF_MCU").unwrap();
|
||||
#[cfg(feature = "ulp")]
|
||||
fn main() -> anyhow::Result<()> {
|
||||
println!("cargo:rustc-cfg=esp32s2");
|
||||
|
||||
#[cfg(feature = "ulp")]
|
||||
let mcu = "esp32s2";
|
||||
let ulp_dir = std::env::current_dir().unwrap().join("ulp");
|
||||
|
||||
println!("cargo:rustc-cfg={}", mcu);
|
||||
println!("cargo:rustc-link-search={}", ulp_dir.display());
|
||||
|
||||
#[cfg(feature = "ulp")]
|
||||
{
|
||||
let ulp_dir = std::env::current_dir().unwrap().join("ulp");
|
||||
println!("cargo:rustc-link-lib=static=ulp_start");
|
||||
|
||||
println!("cargo:rustc-link-search={}", ulp_dir.display());
|
||||
|
||||
println!("cargo:rustc-link-lib=static=ulp_start");
|
||||
|
||||
println!("cargo:rerun-if-changed=build.rs");
|
||||
println!(
|
||||
"cargo:rerun-if-changed={}",
|
||||
ulp_dir.join("libulp_start.a").display()
|
||||
);
|
||||
println!(
|
||||
"cargo:rerun-if-changed={}",
|
||||
ulp_dir.join("ulp_link.x").display()
|
||||
);
|
||||
}
|
||||
println!("cargo:rerun-if-changed=build.rs");
|
||||
println!(
|
||||
"cargo:rerun-if-changed={}",
|
||||
ulp_dir.join("libulp_start.a").display()
|
||||
);
|
||||
println!(
|
||||
"cargo:rerun-if-changed={}",
|
||||
ulp_dir.join("ulp_link.x").display()
|
||||
);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
@ -327,6 +327,7 @@ where
|
||||
slave: i2c_config_t__bindgen_ty_1__bindgen_ty_2 {
|
||||
slave_addr: slave_addr as u16,
|
||||
addr_10bit_en: 0, // For now; to become configurable with embedded-hal V1.0
|
||||
..Default::default()
|
||||
},
|
||||
},
|
||||
..Default::default()
|
||||
|
34
src/spi.rs
34
src/spi.rs
@ -167,13 +167,45 @@ impl<SPI: Spi, SCLK: OutputPin, SDO: OutputPin, SDI: InputPin + OutputPin, CS: O
|
||||
pins: Pins<SCLK, SDO, SDI, CS>,
|
||||
config: config::Config,
|
||||
) -> Result<Self, EspError> {
|
||||
#[cfg(esp_idf_version = "4.4")]
|
||||
let bus_config = spi_bus_config_t {
|
||||
flags: SPICOMMON_BUSFLAG_MASTER,
|
||||
sclk_io_num: SCLK::pin(),
|
||||
|
||||
data4_io_num: -1,
|
||||
data5_io_num: -1,
|
||||
data6_io_num: -1,
|
||||
data7_io_num: -1,
|
||||
__bindgen_anon_1: spi_bus_config_t__bindgen_ty_1 {
|
||||
mosi_io_num: SDO::pin(),
|
||||
//data0_io_num: -1,
|
||||
},
|
||||
__bindgen_anon_2: spi_bus_config_t__bindgen_ty_2 {
|
||||
miso_io_num: if pins.sdi.is_some() { SDI::pin() } else { -1 },
|
||||
//data1_io_num: -1,
|
||||
},
|
||||
__bindgen_anon_3: spi_bus_config_t__bindgen_ty_3 {
|
||||
quadwp_io_num: -1,
|
||||
//data2_io_num: -1,
|
||||
},
|
||||
__bindgen_anon_4: spi_bus_config_t__bindgen_ty_4 {
|
||||
quadhd_io_num: -1,
|
||||
//data3_io_num: -1,
|
||||
},
|
||||
//max_transfer_sz: SPI_MAX_TRANSFER_SIZE,
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
#[cfg(not(esp_idf_version = "4.4"))]
|
||||
let bus_config = spi_bus_config_t {
|
||||
flags: SPICOMMON_BUSFLAG_MASTER,
|
||||
sclk_io_num: SCLK::pin(),
|
||||
|
||||
mosi_io_num: SDO::pin(),
|
||||
miso_io_num: if pins.sdi.is_some() { SDI::pin() } else { -1 },
|
||||
sclk_io_num: SCLK::pin(),
|
||||
quadwp_io_num: -1,
|
||||
quadhd_io_num: -1,
|
||||
|
||||
//max_transfer_sz: SPI_MAX_TRANSFER_SIZE,
|
||||
..Default::default()
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user