signed char BNO055_I2C_bus_read(unsigned char dev_addr,unsigned char reg_addr, unsigned char *reg_data, unsigned char cnt)
{
BNO055_RETURN_FUNCTION_TYPE comres = BNO055_ZERO_U8X;
I2C.beginTransmission(dev_addr); //Start of transmission
I2C.write(reg_addr); //Desired start register
comres = I2C.endTransmission(); //Stop of transmission
delayMicroseconds(150); //Caution Delay
I2C.requestFrom(dev_addr, cnt); //Request data
while(I2C.available()) //The slave device may send less than requested (burst read)
{
*reg_data = I2C.read(); //Receive a byte
reg_data++; //Increment pointer
}
return comres;
}
signed char BNO055_I2C_bus_write(unsigned char dev_addr,unsigned char reg_addr, unsigned char *reg_data, unsigned char cnt)
{
BNO055_RETURN_FUNCTION_TYPE comres = BNO055_ZERO_U8X;
I2C.beginTransmission(dev_addr); //Start of transmission
I2C.write(reg_addr); //Desired start register
for(unsigned char index = 0; index < cnt; index++) //Note that the BNO055 supports burst write
{
I2C.write(*reg_data); //Write the data
reg_data++; //Increment pointer
}
comres = I2C.endTransmission(); //Stop of transmission
delayMicroseconds(150); //Caution Delay
return comres;
}
The above code is for arduino i2c and I want to translate it for nrf52840 twi. Need help