#ifndef __IIC_H
#define __IIC_H

#include "stm32l4xx_hal.h"

// Functions
void I2C_GPIO_Init(void);
void I2C_Delay(void);
void I2C_Start(void);
void I2C_Stop(void);
void I2C_SendByte(uint8_t byte);
uint8_t I2C_ReadByte(void);
uint8_t I2C_WaitAck(void);
void Soft_I2C_Write(uint8_t devAddr, uint8_t regAddr, uint8_t data);
void Soft_I2C_Read(uint8_t devAddr, uint8_t regAddr, uint8_t *data);
void Soft_I2C_ReadMulti(uint8_t devAddr, uint8_t regAddr, uint8_t *data, uint16_t count);
void SDA_InputMode(void);
void SDA_OutputMode(void);
#endif // __IIC_H
