1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
/*
* I2C.h
*
* Created on: Jun 6, 2018
* Author: avi
*/
#ifndef DRIVERS_I2C_COMMUNICATION_I2C_H_
#define DRIVERS_I2C_COMMUNICATION_I2C_H_
#define I2C_BUSY_DELAY 3000//15000
uint32_t I2C_control(uint32_t I2C_ID, uint32_t Slave_Add, bool RW,uint32_t Byte2Write );
void Init_All_I2C();
//-------------------------------------------------------------------------------------------------------------
//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, uint32_t *I2C_Write_buf, uint32_t No_BytesToWrite );
uint32_t I2C_Read(uint32_t I2C_ID, uint32_t Slave_Add, uint32_t *I2C_Read_buf, uint32_t No_BytesToRead );
void Trigger_Heater_Current_Read(void);
void Trigger_MidTank_Pressure_Read(void);
void Trigger_PT100_Read(void);
void Trigger_HeaterWriting(void);
uint32_t Block_Main_MUX_TCA9548A_0xE4(); ////unused I2C MUX
extern uint8_t Main_Mux_Flag ;
extern Semaphore_Handle I2C_Sem;
#endif /* DRIVERS_I2C_COMMUNICATION_I2C_H_ */
|