Hello,
I have connected DW3000 with ESP32…I am trying to read the CIR Power…I have ensured MINDIAG is cleared…
/* Clear the MINDIAG bit in the sub-register 0x0E:00 */
reg_val = dwt_read32bitoffsetreg(0x0E, 0x00); // Read the current value of sub-register 0x0E:00
Serial.print("reg_val before: ");Serial.println(reg_val, BIN);
reg_val &= ~(1UL << 20); // Clear the MINDIAG bit (bit 20)
Serial.print("reg_val middle: ");Serial.println(reg_val, BIN);
dwt_write32bitoffsetreg(0x0E, 0x00, reg_val); // Write back the modified value
reg_val = dwt_read32bitoffsetreg(0x0E, 0x00);
Serial.print("reg_val after: ");Serial.println(reg_val, BIN);
When I am trying to read the CIR power, it is coming as zero…
/* -------- CIRpower -------- */
// Check if CIADONE bit is set before reading
if (dwt_read32bitreg(SYS_STATUS_ID) & SYS_STATUS_CIA_DONE_BIT_MASK) {
// Read the 17-bit IP_CAREA value
int CIRpower = dwt_read32bitoffsetreg(0x0C, 0x2C) & 0x1FF;
// Print IP_CAREA value
Serial.print("CIRpower ");
Serial.println(CIRpower);
} else {
Serial.println(“CIADONE bit not set.”);
}…
Can anybody help?