Tweaks
This commit is contained in:
parent
cbfa931fe4
commit
cf3aa05426
Binary file not shown.
|
Before Width: | Height: | Size: 179 KiB After Width: | Height: | Size: 179 KiB |
16
main/eis.c
16
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));
|
||||
|
|
|
|||
Loading…
Reference in New Issue