Wire.requestFrom(D6T_addr, 35);
while(Wire.available()){
c = Wire.read();
rbuff[i] = c;
i++;
}
Wire.endTransmission();
If I recall correctly the internal buffers of Arduino are only 32 bytes so they will not be able to capture 35 bytes...
try replace the communication with 7 blocks of 5 bytes? or 35 individual bytes?
for (int cnt = 0; cnt < 7; cnt++)
{
Wire.requestFrom(D6T_addr, 5);
while(Wire.available())
{
c = Wire.read();
rbuff[i] = c;
i++;
}
Wire.endTransmission();
}
Or adapt the wire lib to have a 64 (or 40) byte buffer.