96 void Log(
const I2C &i2c, TxnStat state,
int line);
99 friend struct IsrLogEntry;
101 IsrLogEntry entry[ISR_LOG_LEN];
105 void Log(
const I2C &i2c, TxnStat state,
int line);
108 friend struct IsrLog;
115 uint32_t rxLenToQueue;
116 uint16_t maxDelay_ms;
117 uint16_t delayCycles_ms;
118 uint16_t currPinLowCount;
119 uint16_t reqPinLowCount;
131 uint8_t iadrAddressSize;
133 int isr_rx(uint32_t sr);
134 int isr_tx(uint32_t sr);
136 void Log(TxnStat state,
int line);
141 Result_t restart(uint8_t deviceAddr);
145 Result_t read8(uint8_t &dat,
bool bLast);
159 : scl(rhs.scl), sda(rhs.sda), txnState(rhs.txnState)
202 virtual Result_t writeReg16(uint8_t devAddr, uint32_t reg, uint16_t data,
int byteOrder);
203 virtual Result_t writeReg32(uint8_t devAddr, uint32_t reg, uint32_t data,
int byteOrder);
215 virtual Result_t readReg16(uint8_t devAddr, uint32_t reg, uint16_t &data,
int byteOrder);
216 virtual Result_t readReg32(uint8_t devAddr, uint32_t reg, uint32_t &data,
int byteOrder);
247 static Result_t writeReg8(
int module, uint8_t devAddr, uint32_t reg, uint8_t dat);
248 static Result_t readReg8(
int module, uint8_t devAddr, uint32_t reg, uint8_t &dat);
249 static Result_t writeRegN(
int module, uint8_t devAddr, uint32_t reg, uint8_t *buf, uint32_t blen);
250 static Result_t readRegN(
int module, uint8_t devAddr, uint32_t reg, uint8_t *buf, uint32_t blen);
253 void dump(uint32_t line);
261 uint32_t GetBusSpeed() {
return 132000000/delayCount; }
263 friend void LPI2C1_ISR();
264 friend void LPI2C2_ISR();
265 friend void LPI2C3_ISR();
266 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.