35 lines
1.0 KiB
C
35 lines
1.0 KiB
C
// i2c_linux.h
|
||
#ifndef I2C_LINUX_H_
|
||
#define I2C_LINUX_H_
|
||
|
||
#include <stdint.h>
|
||
#include <unistd.h>
|
||
#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_
|