/*
 * i2c_init.h
 *
 *  Created on: 5 сент. 2023 г.
 *      Author: seklyuts
 */

#ifndef SRC_PERIPHERALS_I2C_INIT_H_
#define SRC_PERIPHERALS_I2C_INIT_H_



//
// Function Prototypes
//



void I2CMasterInit(uint16_t I2CSlave_OwnAddress, uint16_t I2CSlave_Address);
uint16_t I2CWrite(uint16_t slaveAddr, uint16_t MemAdr, uint16_t byteCount, bool sendStopCondition, uint16_t * I2C_TXdata);
uint16_t I2CRead(uint16_t slaveAddr, uint16_t byteCount, bool sendStopCondition, uint16_t * I2C_RXdata);
uint16_t I2CWriteRead(uint16_t slaveAddr, uint16_t byteCount, bool sendStopCondition, uint16_t * I2C_RXdata);
uint16_t I2CVerify(uint16_t slaveAddr, uint16_t byteCount, bool sendStopCondition, uint16_t * I2C_Vfdata);
void I2CMasterGpioInit(void);
void TimerBaseTimeoutInc(void);
void I2CWriteReadOnes(uint16_t slaveAddr);
void I2CWriteOnse(uint16_t slaveAddr);
void I2CWriteRes(void);

#endif /* SRC_PERIPHERALS_I2C_INIT_H_ */
