91 void Log(
const I2C &i2c, TxnStat state,
int line);
94 friend struct IsrLogEntry;
96 IsrLogEntry entry[ISR_LOG_LEN];
100 void Log(
const I2C &i2c, TxnStat state,
int line);
103 friend struct IsrLog;
110 uint32_t rxLenToQueue;
111 uint16_t maxDelay_ms;
112 uint16_t delayCycles_ms;
113 uint16_t currPinLowCount;
114 uint16_t reqPinLowCount;
126 uint8_t iadrAddressSize;
128 int isr_rx(uint32_t sr);
129 int isr_tx(uint32_t sr);
131 void Log(TxnStat state,
int line);
141 Result_t read8(uint8_t &dat,
bool bLast);
155 : scl(rhs.scl), sda(rhs.sda), txnState(rhs.txnState)
198 virtual Result_t writeReg16(uint8_t devAddr, uint32_t reg, uint16_t data,
int byteOrder);
199 virtual Result_t writeReg32(uint8_t devAddr, uint32_t reg, uint32_t data,
int byteOrder);
211 virtual Result_t readReg16(uint8_t devAddr, uint32_t reg, uint16_t &data,
int byteOrder);
212 virtual Result_t readReg32(uint8_t devAddr, uint32_t reg, uint32_t &data,
int byteOrder);
243 static Result_t writeReg8(
int module, uint8_t devAddr, uint32_t reg, uint8_t dat);
244 static Result_t readReg8(
int module, uint8_t devAddr, uint32_t reg, uint8_t &dat);
245 static Result_t writeRegN(
int module, uint8_t devAddr, uint32_t reg, uint8_t *buf, uint32_t blen);
246 static Result_t readRegN(
int module, uint8_t devAddr, uint32_t reg, uint8_t *buf, uint32_t blen);
249 void dump(uint32_t line);
257 uint32_t GetBusSpeed() {
return 132000000/delayCount; }
259 virtual Result_t ping(uint8_t devAddr,
bool bAsWrite =
false);
261 friend void LPI2C1_ISR();
262 friend void LPI2C2_ISR();
263 friend void LPI2C3_ISR();
264 friend void LPI2C4_ISR();
virtual Result_t readRegN(uint8_t devAddr, uint32_t reg, uint8_t *buf, uint32_t blen)
Read a number of 8-bit values from an I2C slave at the specified register address.
virtual Result_t writeReg8(uint8_t devAddr, uint32_t reg, uint8_t data)
Write an 8-bit value to a I2C slave device register.
virtual Result_t writeRegN(uint8_t devAddr, uint32_t reg, uint8_t *buf, uint32_t blen)
Write a number of 8-bit values to an I2C slave to the specified register address.
virtual Result_t readReg8(uint8_t devAddr, uint32_t reg, uint8_t &data)
Read an 8-bit value form an I2C slave device register.