// i2c_linux.h #ifndef I2C_LINUX_H_ #define I2C_LINUX_H_ #include #include #include "bme68x_defs.h" // for BME68X_INTF_RET_TYPE, BME68X_OK, BME68X_E_COM_FAIL #include "bme68x.h" // for BME68X_I2C_INTF #ifdef __cplusplus extern "C" { #endif // Open the I2C bus file (e.g. "/dev/i2c-1") int i2c_open_bus(const char *bus); // Close it void i2c_close_bus(int fd); // These are the functions we’ll hook into bme68x_dev: BME68X_INTF_RET_TYPE bme68x_i2c_read(uint8_t reg_addr, uint8_t *reg_data, uint32_t len, void *intf_ptr); BME68X_INTF_RET_TYPE bme68x_i2c_write(uint8_t reg_addr, const uint8_t *reg_data, uint32_t len, void *intf_ptr); void bme68x_delay_us(uint32_t period, void *intf_ptr); #ifdef __cplusplus } #endif #endif // I2C_LINUX_H_