#ifndef _NGKH_I2C_H_
#define _NGKH_I2C_H_

#include <stdint.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef struct {
	int     busNum;
	uint8_t devAddr;
} ngkh_i2cDev_t;

void ngkh_i2cInitialize(void);
ngkh_i2cDev_t *ngkh_i2cDevAdd(const char *i2cBusDeviceFilePath, uint8_t devAddr);
void ngkh_i2cWrite(const ngkh_i2cDev_t *i2cDev, uint8_t regAddr, uint8_t data);
uint8_t ngkh_i2cRead(const ngkh_i2cDev_t *i2cDev, uint8_t regAddr);
void ngkh_i2cDevRemove(ngkh_i2cDev_t *i2cDev);
void ngkh_i2cDeinitialize(void);

#ifdef __cplusplus
} // End of extern "C"
#endif

#endif

