8#ifdef SUPPORTED_I2C_PLATFORM
10#if (defined NANO54415 || defined MOD5441X || defined SB800EX)
16#warning I2C features not supported for this platform
24#define I2C_MODULE_NUM 0
25#define I2C_BUS_SPEED (100000)
27#define MAX_I2C_BUS_SPEED (400000)
28#define I2C_LOW_ADDR_LIMIT (0x07)
29#define I2C_HIGH_ADDR_LIMIT (0x78)
31#define I2C_MAX_BUF_SIZE (64)
32#define I2C_SLAVE_TX_TERM_CHAR (0)
33#define NB_FACTORY_I2C_ERR_VALUE (0)
37#define I2C_RX_TX_TIMEOUT (5)
38#define I2C_START_TIMEOUT (20)
40#define I2C_MAX_WRITE_LEN (255)
41#define I2C_MAX_READ_LEN (255)
43#define MAX_BUFFER_LEN ((I2C_MAX_WRITE_LEN > I2C_MAX_READ_LEN) ? I2C_MAX_WRITE_LEN * 2 : I2C_MAX_READ_LEN * 2)
44#define MAX_I2C_DEVICES (128)
48#define I2C_NEXT_WRITE_OK (1)
49#define I2C_NEXT_READ_OK (2)
50#define I2C_MASTER_OK (3)
51#define I2C_TIMEOUT (4)
52#define I2C_BUS_NOT_AVAIL (5)
53#define I2C_NOT_READY (6)
54#define I2C_LOST_ARB (7)
55#define I2C_LOST_ARB_ADD (8)
56#define I2C_NO_LINK_RX_ACK (9)
59 struct ModuleI2CAddress_Struct
61 unsigned char byteAddress;
62 unsigned char asciiAddress[3];
72 struct I2CParam_Struct
75 char asciiData[MAX_BUFFER_LEN];
77 unsigned char byteAddress;
78 unsigned char byteData;
79 unsigned char byteBuffer[MAX_BUFFER_LEN];
84 struct I2CWebFuncs_Struct
86 I2CParam_Struct WriteReadByteParams;
87 I2CParam_Struct WriteReadBufferParams;
88 I2CParam_Struct WriteByteParams;
89 I2CParam_Struct ReadByteParams;
90 I2CParam_Struct WriteBufferParams;
91 I2CParam_Struct ReadBufferParams;
95 struct SerialParams_Struct
99 unsigned char byteData;
100 unsigned char length;
102 unsigned char byteToWrite;
103 unsigned char commBuffer[MAX_BUFFER_LEN];
106 struct I2CBusStatus_Struct
108 volatile uint8_t status;
109 const char *statusMsgs[7];
114void InitI2C(uint32_t busSpeed = 0);
115void bbInitI2C(uint32_t busSpeed = 0);
116int bbI2CScan(
bool *discovered);
118#error Multi_I2CInit declaration missing for defined platform
121 unsigned char Ascii2Byte(
char *buf);
122 int I2CScan(
bool *discovered,
unsigned char slaveAddress);
NetBurner BBI2C Header File.
I2C Peripheral Class.
Definition bb_i2c.h:35
NetBurner I2C API for ARM SAME70.
NetBurner I2C API for MOD5441x and NANO54415.