Initial commit

This commit is contained in:
2024-05-06 23:34:13 -03:00
commit 453275b96f
16 changed files with 2688 additions and 0 deletions

46
src/i2c.c Normal file
View File

@@ -0,0 +1,46 @@
/**
* @file i2c.c
* @author marisa (marisa@fwmari.net)
* @brief
* @version 0.1
* @date 2024-05-06
*
* @copyright Copyright (c) 2024
*
*/
#include "i2c.h"
i2c_master_bus_handle_t m_handle = NULL;
static bool busInitialized = false;
i2c_master_bus_handle_t i2cInitMasterBus(uint8_t sda, uint8_t scl) {
i2c_master_bus_config_t i2cMasterConfig = {
.clk_source = I2C_CLK_SRC_DEFAULT,
.i2c_port = I2C_NUM_0,
.scl_io_num = scl,
.sda_io_num = sda,
.glitch_ignore_cnt = 7,
.flags.enable_internal_pullup = true,
};
ESP_ERROR_CHECK(i2c_new_master_bus(&i2cMasterConfig, &m_handle));
busInitialized = true;
return m_handle;
}
i2c_master_dev_handle_t i2cInitDevice(uint8_t addr, uint32_t speed) {
assert(busInitialized);
i2c_device_config_t deviceCfg = {
.dev_addr_length = I2C_ADDR_BIT_LEN_7,
.device_address = addr,
.scl_speed_hz = speed,
};
i2c_master_dev_handle_t devHandle;
ESP_ERROR_CHECK(i2c_master_bus_add_device(m_handle, &deviceCfg, &devHandle));
return devHandle;
}