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
38
39
40
41
42
|
/*
* 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_ */
|