Fixes for 4.4 and 5.0 branches

This commit is contained in:
ivmarkov 2021-12-06 14:25:56 +02:00
parent 241e97a6fa
commit 814ff75708
3 changed files with 23 additions and 3 deletions

View File

@ -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

View File

@ -326,6 +326,24 @@ where
slave_addr: u8,
config: config::SlaveConfig,
) -> Result<Self, EspError> {
#[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(),

View File

@ -175,18 +175,18 @@ impl<SPI: Spi, SCLK: OutputPin, SDO: OutputPin, SDI: InputPin + OutputPin, CS: O
#[cfg(any(esp_idf_version = "4.4", esp_idf_version_major = "5"))]
let bus_config = spi_bus_config_t {
flags: SPICOMMON_BUSFLAG_MASTER,
sclk_io_num: SCLK::pin(),
sclk_io_num: pins.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(),
mosi_io_num: pins.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 },
miso_io_num: pins.sdi.as_ref().map_or(-1, |p| p.pin()),
//data1_io_num: -1,
},
__bindgen_anon_3: spi_bus_config_t__bindgen_ty_3 {