diff --git a/cue-ios/CueIOS/Assets.xcassets/AppIcon.appiconset/appicon-1024.png b/cue-ios/CueIOS/Assets.xcassets/AppIcon.appiconset/appicon-1024.png index 5933ffe..7c1cc0b 100644 Binary files a/cue-ios/CueIOS/Assets.xcassets/AppIcon.appiconset/appicon-1024.png and b/cue-ios/CueIOS/Assets.xcassets/AppIcon.appiconset/appicon-1024.png differ diff --git a/main/eis.c b/main/eis.c index 8ddf1e0..7854090 100644 --- a/main/eis.c +++ b/main/eis.c @@ -270,6 +270,7 @@ static void configure_freq(float freq_hz) static int32_t sign_extend_18(uint32_t v) { + v &= 0x3FFFF; /* DFT register is 18-bit; mask off ECC/status junk in upper bits */ return (v & (1UL << 17)) ? (int32_t)(v | 0xFFFC0000UL) : (int32_t)v; } @@ -297,31 +298,26 @@ static void dft_measure_pair( AD5940_AFECtrlS(AFECTRL_WG | AFECTRL_ADCPWR, bTRUE); settle(freq_hz, 2.0f, 100); - AD5940_ClrMCUIntFlag(); + AD5940_INTCClrFlag(AFEINTSRC_DFTRDY); AD5940_AFECtrlS(AFECTRL_ADCCNV | AFECTRL_DFT, bTRUE); - while (!AD5940_GetMCUIntFlag()) + while (!AD5940_INTCTestFlag(AFEINTC_1, AFEINTSRC_DFTRDY)) vTaskDelay(1); AD5940_AFECtrlS(AFECTRL_ADCCNV | AFECTRL_DFT, bFALSE); - AD5940_INTCClrFlag(AFEINTSRC_DFTRDY); out1->Real = sign_extend_18(AD5940_ReadAfeResult(AFERESULT_DFTREAL)); out1->Image = sign_extend_18(AD5940_ReadAfeResult(AFERESULT_DFTIMAGE)); out1->Image = -out1->Image; - /* switch ADC mux, flush stale pipeline, settle one period */ + /* switch ADC mux, settle one period */ AD5940_ADCMuxCfgS(mux2_p, mux2_n); - AD5940_ReadAfeResult(AFERESULT_DFTREAL); - AD5940_ReadAfeResult(AFERESULT_DFTIMAGE); - AD5940_INTCClrFlag(AFEINTSRC_DFTRDY); settle(freq_hz, 1.0f, 50); - AD5940_ClrMCUIntFlag(); + AD5940_INTCClrFlag(AFEINTSRC_DFTRDY); AD5940_AFECtrlS(AFECTRL_ADCCNV | AFECTRL_DFT, bTRUE); - while (!AD5940_GetMCUIntFlag()) + while (!AD5940_INTCTestFlag(AFEINTC_1, AFEINTSRC_DFTRDY)) vTaskDelay(1); AD5940_AFECtrlS(AFECTRL_ADCCNV | AFECTRL_DFT | AFECTRL_WG | AFECTRL_ADCPWR, bFALSE); - AD5940_INTCClrFlag(AFEINTSRC_DFTRDY); out2->Real = sign_extend_18(AD5940_ReadAfeResult(AFERESULT_DFTREAL)); out2->Image = sign_extend_18(AD5940_ReadAfeResult(AFERESULT_DFTIMAGE));