aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C.h
blob: aa573b3625ae97e622f6a9352b1063a92d8fa1ce (plain)
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_ */