35 lines
1019 B
C
35 lines
1019 B
C
/*
|
|
* 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;
|
|
} |