#ifndef i2c_h_included
#define i2c_h_included

#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif

extern void I2C_LowLevel_Init(void);
extern void I2C_LowLevel_DeInit(void);
extern uint32_t I2C_WrData(uint8_t DevAddr, uint8_t RegAddr, uint8_t data); //Write a single byte data to the given register address
extern uint32_t I2C_RdBufEasy (uint8_t DevAddr, uint8_t *buf, uint32_t cnt);
extern uint32_t I2C_RdBuf (uint8_t DevAddr, uint8_t *buf, uint32_t cnt);
extern uint32_t I2C_RdData(uint8_t DevAddr, uint8_t RegAddr, uint8_t *buf, uint32_t cnt); //Reads "cnt" number of data starting from RegAddr
extern uint32_t I2C_WrBuf(uint8_t DevAddr, uint8_t *buf, uint32_t cnt);
extern uint16_t SMBUS_read_word(uint8_t sa, uint8_t cmd);
extern void SMBUS_write_word(uint8_t sa, uint8_t cmd, uint16_t w);


#if defined(__cplusplus) || defined(c_plusplus)
}
#endif

#endif
