Various fixes and improvements (#515)

* Optional internal pull-ups for SD/MMC pins in DTS
  * Selectable on‑chip LDO channel for SD/MMC power (can be disabled)
  * Added several sensor/driver modules to generic ESP32 device configurations so that they become part of the SDKs
  * SD card mount now prints card information for clearer diagnostics
  * Fix for bug DTS boolean parsing. Improved tests to catch these issues.
  * Expanded SDK integration test to include new modules and headers
  * Modularized packaging to generate per‑module build files and include driver assets
This commit is contained in:
Ken Van Hoeylandt
2026-04-28 17:26:03 +02:00
committed by GitHub
parent be2cdc0b90
commit 4170b86137
22 changed files with 272 additions and 38 deletions
@@ -21,11 +21,16 @@ static const auto LOGGER = Logger("SpiSdCardDevice");
bool SpiSdCardDevice::applyGpioWorkAround() {
LOGGER.info("applyGpioWorkAround");
uint64_t pin_bit_mask = BIT64(config->spiPinCs);
uint64_t pin_bit_mask = config->spiPinCs != GPIO_NUM_NC ? BIT64(config->spiPinCs) : 0;
for (auto const& pin: config->csPinWorkAround) {
pin_bit_mask |= BIT64(pin);
}
// Nothing to do
if (pin_bit_mask == 0) {
return true;
}
if (!gpio::configureWithPinBitmask(pin_bit_mask, gpio::Mode::Output, false, false)) {
LOGGER.error("GPIO work-around failed");
return false;