This commit is contained in:
2025-04-28 00:07:43 +02:00
parent 0c71409c30
commit 8b9e72ef71
9 changed files with 266 additions and 212 deletions

View File

@@ -8,11 +8,17 @@
#define ESP_RXD0 GPIO_NUM_44
#define ESP_TXD0 GPIO_NUM_43
#define MCP23018_ADDRESS 0x20
#define INA260_ADDRESS 0x40
#define BME680_ADDRESS 0x76
#define CCS811_ADDRESS 0x5A
#define MPU9250_ADDRESS 0x68
#define BME680_ADDRESS 0x76
#define INA260_ADDRESS 0x40
#define MCP23018_ADDRESS 0x20
#define BME680_PRESENT_BIT (1 << 0)
#define CCS811_PRESENT_BIT (1 << 1)
#define MPU9250_PRESENT_BIT (1 << 2)
#define INA260_PRESENT_BIT (1 << 3)
#define MCP23018_PRESENT_BIT (1 << 4)
#define ESP_CONNECTOR_P1 MCP3550_MISO_GPIO
#define ESP_CONNECTOR_P2 MCP3550_MOSI_GPIO

View File

@@ -33,10 +33,6 @@ esp_err_t ccs811_init()
{
esp_err_t ret =i2c_master_bus_add_device(i2c0_bus_hdl, &CCS811_DEV_CFG, &CCS811_DEV_HANDLE);
if (ret != ESP_OK) {return ret;}
ret = mcp23018_set_pin(MCP23018_DEV_HANDLE, MCP_CCS811_WAKE, 0);
if (ret != ESP_OK) {return ret;}
ret = mcp23018_set_pin(MCP23018_DEV_HANDLE, MCP_CCS811_POWER, 1);
if (ret != ESP_OK) {return ret;}
vTaskDelay(10 / portTICK_PERIOD_MS);
uint8_t reset_seq[4] = {0x11, 0xE5, 0x72, 0x8A};
ret = i2c_write_register(CCS811_DEV_HANDLE, CCS811_REG_SW_RESET, reset_seq, sizeof(reset_seq)); // Reset

View File

@@ -16,9 +16,6 @@ uint8_t gpiob_state = 0x00; // All LOW initially
esp_err_t mcp23018_set_pin(i2c_master_dev_handle_t dev_handle, uint8_t pin, uint8_t value)
{
// while(foundDevices[MCP23018_ADDRESS] != 2) {
// vTaskDelay(1);
// }
esp_err_t ret = ESP_FAIL;
if (pin < 8)
{

View File

@@ -19,18 +19,17 @@ spi_device_handle_t mcp3550_handle;
void mcp3550_spi_init()
{
spi_device_interface_config_t devcfg = {
.clock_speed_hz = 100000,
.mode = 0,
.spics_io_num = -1, // We handle CS manually
.queue_size = 1,
};
// spi_device_interface_config_t devcfg = {
// .clock_speed_hz = 100000,
// .mode = 0,
// .spics_io_num = -1, // We handle CS manually
// .queue_size = 1,
// };
ESP_ERROR_CHECK(spi_bus_add_device(SPI2_HOST, &devcfg, &mcp3550_handle));
// ESP_ERROR_CHECK(spi_bus_add_device(SPI2_HOST, &devcfg, &mcp3550_handle));
// Set MISO pin for input (needed for polling)
gpio_set_direction(MCP3550_MISO_GPIO, GPIO_MODE_INPUT);
mcp23018_set_pin(MCP23018_DEV_HANDLE, MCP_MICS_POWER, 1); // CS HIGH
}