/* * I2C.h * * Created on: Jun 6, 2018 * Author: avi */ #ifndef DRIVERS_I2C_COMMUNICATION_I2C_H_ #define DRIVERS_I2C_COMMUNICATION_I2C_H_ extern uint32_t Arb_Loss_Count; extern uint32_t I2C_BUSY_DELAY; extern uint32_t I2C_2_3_BUSY_DELAY; //I2C2_BASE, I2C3_BASE extern uint32_t I2C_4_BUSY_DELAY; //I2C4_BASE (RFID + Dispensers) //#define I2C_BUSY_DELAY 100//15000 uint32_t I2C_control(uint32_t I2C_ID, uint32_t Slave_Add, bool RW,uint32_t Byte2Write ); void Init_All_I2C(); void I2C_ReadingTask_Init(void); extern uint16_t ReadFailures; //------------------------------------------------------------------------------------------------------------- //uint32_t I2C_Write(uint32_t I2C_ID, uint32_t Slave_Add, uint32_t No_BytesTWrite, uint32_t *Bytes2Write ); uint32_t I2C_WriteBuff(uint32_t I2C_BASE, unsigned char addr, unsigned char* data, unsigned int len); uint32_t I2C_ReadBuff(uint32_t I2C_BASE, unsigned char addr, unsigned char* data, unsigned int len); uint32_t I2C_Write(uint32_t I2C_ID, uint32_t Slave_Add, uint8_t *I2C_Write_buf, uint32_t No_BytesToWrite ); uint32_t I2C_Read(uint32_t I2C_ID, uint32_t Slave_Add, uint8_t *I2C_Read_buf, uint32_t No_BytesToRead ); uint32_t Block_Main_MUX_TCA9548A_0xE4(); ////unused I2C MUX extern uint8_t Main_Mux_Flag ; extern Semaphore_Handle I2C_Sem; extern Task_Handle I2C_Task_Handle; #endif /* DRIVERS_I2C_COMMUNICATION_I2C_H_ */