@knut_ny, were you able to get any result?
The following website contains the code for D6T-44 version
I have tried the code out on my Arduino Due (with modification) but did not manage to get any meaningful data out of it.
The following is my code
#include <Wire.h>
#define D6T_addr 0x0A
#define D6T_cmd 0x4C
int rbuff[35];
float tPTAT;
float tP[16];
int c;
void setup() {
Wire.begin();
Serial.begin(9600);
Serial.flush();
}
void loop() {
read_D6T();
Serial.print("tPTAT: ");
Serial.println(tPTAT);
Serial.print("tP: ");
for (int i=0;i<16;i++) {
Serial.print(tP[i]);
if(i==15)
Serial.println();
else
Serial.print(", ");
}
Serial.println();
}
void read_D6T() {
int i = 0;
Wire.beginTransmission(D6T_addr);
Wire.write(D6T_cmd);
Wire.endTransmission();
Wire.beginTransmission(D6T_addr);
Wire.requestFrom(D6T_addr, 35);
while(Wire.available()){
c = Wire.read();
rbuff[i] = c;
i++;
}
Wire.endTransmission();
tPTAT = (256*rbuff[1]+rbuff[0])*0.1;
for(i=0;i<16;i++) {
tP[i] = (256*rbuff[2*i+3]+rbuff[2*i+2])*0.1;
}
}
The result:
tPTAT: 0.00
tP: 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00
tPTAT: 0.00
tP: 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00
tPTAT: 0.00
tP: 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00
When I want to check the SDA line for data transfer I get this on the serial monitor
tPTAT: 6116.60
tP: 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 0.00
tPTAT: 6116.60
tP: 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 6116.60, 0.00
The oscilloscope does not show any data transfer but just a flat line
Anyone else has any luck?