fix ade7758

This commit is contained in:
2025-06-25 06:34:03 +01:00
parent a0b2e048d4
commit 84f106eee5
53 changed files with 7079 additions and 18456 deletions

View File

@@ -0,0 +1,10 @@
set(srcs
"src/spi_bus_manager.c"
)
idf_component_register(
SRCS ${srcs}
INCLUDE_DIRS include
PRIV_REQUIRES driver esp_timer
REQUIRES config
)

View File

@@ -0,0 +1,20 @@
#ifndef SPI_BUS_MANAGER_H_
#define SPI_BUS_MANAGER_H_
#include "driver/spi_master.h"
#include "esp_err.h"
#include <stdbool.h>
#ifdef __cplusplus
extern "C" {
#endif
esp_err_t spi_bus_manager_init(void);
spi_host_device_t spi_bus_manager_get_host(void);
bool spi_bus_manager_is_initialized(void);
#ifdef __cplusplus
}
#endif
#endif // SPI_BUS_MANAGER_H_

View File

@@ -0,0 +1,48 @@
#include "spi_bus_manager.h"
#include "esp_log.h"
#include "esp_err.h"
#define TAG "spi_bus_mgr"
#define SHARED_SPI_HOST SPI2_HOST
// Pinos padrão (podem ser futuramente configuráveis)
#define PIN_NUM_MOSI 23
#define PIN_NUM_MISO 19
#define PIN_NUM_CLK 18
static bool initialized = false;
esp_err_t spi_bus_manager_init(void) {
if (initialized) {
ESP_LOGW(TAG, "SPI bus already initialized on host %d", SHARED_SPI_HOST);
return ESP_OK;
}
spi_bus_config_t buscfg = {
.mosi_io_num = PIN_NUM_MOSI,
.miso_io_num = PIN_NUM_MISO,
.sclk_io_num = PIN_NUM_CLK,
.quadwp_io_num = -1,
.quadhd_io_num = -1,
.max_transfer_sz = 64, // Ajustável conforme necessidade
};
esp_err_t ret = spi_bus_initialize(SHARED_SPI_HOST, &buscfg, SPI_DMA_CH_AUTO);
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to initialize SPI bus: %s", esp_err_to_name(ret));
return ret;
}
initialized = true;
ESP_LOGI(TAG, "SPI bus initialized on host %d", SHARED_SPI_HOST);
return ESP_OK;
}
spi_host_device_t spi_bus_manager_get_host(void) {
return SHARED_SPI_HOST;
}
bool spi_bus_manager_is_initialized(void) {
return initialized;
}