Phase 2: LittleFS storage manager on /spiffs + shared SPI2_HOST bus

This commit is contained in:
2026-09-09 16:43:27 +02:00
parent 1771525c06
commit 02410d33d8
7 changed files with 355 additions and 6 deletions

35
main/spi_bus_manager.c Normal file
View File

@@ -0,0 +1,35 @@
/*
* MTG RFID Companion - Shared SPI bus manager
*/
#include <string.h>
#include "esp_log.h"
#include "spi_bus_manager.h"
#include "hw_pins.h"
static const char *TAG = "spi_bus";
/* 240 x 80 rows x 2 bytes per pixel. Largest contiguous DMA transfer the
* display engine will issue. */
#define HW_SPI_MAX_TRANSFER_SZ (240 * 80 * sizeof(uint16_t))
esp_err_t spi_bus_manager_init(void)
{
spi_bus_config_t buscfg = {
.sclk_io_num = HW_SPI_SCK_GPIO,
.mosi_io_num = HW_SPI_MOSI_GPIO,
.miso_io_num = HW_SPI_MISO_GPIO,
.quadwp_io_num = -1,
.quadhd_io_num = -1,
.max_transfer_sz = HW_SPI_MAX_TRANSFER_SZ,
};
esp_err_t ret = spi_bus_initialize(HW_SPI_HOST, &buscfg, SPI_DMA_CH_AUTO);
if (ret != ESP_OK) {
ESP_LOGE(TAG, "spi_bus_initialize failed: %s", esp_err_to_name(ret));
return ret;
}
ESP_LOGI(TAG, "SPI2_HOST ready: SCK=%d MOSI=%d MISO=%d",
HW_SPI_SCK_GPIO, HW_SPI_MOSI_GPIO, HW_SPI_MISO_GPIO);
return ESP_OK;
}