diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6d8406af6..9391eea0c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,3 +30,5 @@ jobs: run: export ESP_IDF_SDKCONFIG_DEFAULTS=$(pwd)/.github/configs/sdkconfig.defaults; cargo clippy --no-deps --target riscv32imc-esp-espidf -Zbuild-std=std,panic_abort -Zbuild-std-features=panic_immediate_abort -- -Dwarnings - name: Build | Compile run: export ESP_IDF_SDKCONFIG_DEFAULTS=$(pwd)/.github/configs/sdkconfig.defaults; cargo build --target riscv32imc-esp-espidf -Zbuild-std=std,panic_abort -Zbuild-std-features=panic_immediate_abort + - name: Build | Compile Native ESP-IDF master no_std + run: export ESP_IDF_VERSION=master; export ESP_IDF_SDKCONFIG_DEFAULTS=$(pwd)/.github/configs/sdkconfig.defaults; cargo build --features native,esp_idf_sys --no-default-features --target riscv32imc-esp-espidf -Zbuild-std=std,panic_abort -Zbuild-std-features=panic_immediate_abort diff --git a/src/i2c.rs b/src/i2c.rs index 214578143..977c82b5f 100644 --- a/src/i2c.rs +++ b/src/i2c.rs @@ -326,6 +326,24 @@ where slave_addr: u8, config: config::SlaveConfig, ) -> Result { + #[cfg(any(esp_idf_version = "4.4", esp_idf_version_major = "5"))] + let sys_config = i2c_config_t { + mode: i2c_mode_t_I2C_MODE_SLAVE, + sda_io_num: pins.sda.pin(), + sda_pullup_en: config.sda_pullup_enabled, + scl_io_num: pins.scl.pin(), + scl_pullup_en: config.scl_pullup_enabled, + __bindgen_anon_1: i2c_config_t__bindgen_ty_1 { + 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 + maximum_speed: 0, + }, + }, + ..Default::default() + }; + + #[cfg(not(any(esp_idf_version = "4.4", esp_idf_version_major = "5")))] let sys_config = i2c_config_t { mode: i2c_mode_t_I2C_MODE_SLAVE, sda_io_num: pins.sda.pin(), diff --git a/src/spi.rs b/src/spi.rs index 0ff898311..b307e643b 100644 --- a/src/spi.rs +++ b/src/spi.rs @@ -175,18 +175,18 @@ impl