Other Parts Discussed in Thread: TIDEP-0091
Morning folks:
I'm working with code that is based on the IWR1443 High Accuracy Level Measurement Lab. My predecessor left me the following code (below) to verify whether the calibration is good or bad. This logic appears to work correctly when the system is configured for the 1st, 3rd, or 4th antenna receive channel (gMmwMCB.cfg.openCfg.chCfg.rxChannelEn = 1, 4, or 8). However, the logic fails on the DEMO_GOOD_CAL_RESULT portion of the logic when the system is configured for the 2nd antenna receive channel (gMmwMCB.cfg.openCfg.chCfg.rxChannelEn = 2). In the case of the 2nd antenna receive channel calibration, calptr[1] = 2,147,485,694.
Since the system appears to run correctly with the 2nd antenna receive channel calibration, I believe the calibration is actually good, but think that the DEMO_GOOD_CAL_RESULT logic is incorrect.
Any thoughts?
Thanks, Michael
#define DEMO_GOOD_CAL_RESULT 0x17fe
bool rcal_VerifyCalData (void) { bool valid_calibration; uint32_t *calptr; valid_calibration = true; calptr = (uint32_t *)&init_cal_data; if ((calptr[ 0] != 0x00000003) || (calptr[ 57] != 0x00010003) || (calptr[114] != 0x00020003)) { valid_calibration = false; } else if ((calptr[1] & 0x1fff) != DEMO_GOOD_CAL_RESULT) { valid_calibration = false; } return (valid_calibration); }