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