/* eqadc1 CALL BACK */ void eqadc1_resultBufferCb0_0(void *parameter, edma_chn_status_t status) { (void)parameter; (void)status; DEV_ASSERT(status == EDMA_CHN_NORMAL); s_eqadc1ConvDone = true; } /* eqadc2 CALL BACK */ void eqadc2_resultBufferCb0_0(void *parameter, edma_chn_status_t status) { (void)parameter; (void)status; DEV_ASSERT(status == EDMA_CHN_NORMAL); s_eqadc2ConvDone = true; } status_t ADC_Init1(void) { status_t status = STATUS_SUCCESS; /********************* Initialize DMA ***********************/ status=EDMA_DRV_Init(&dmaController1_State, &dmaController1_InitConfig0, edmaChnStateArray, edmaChnConfigArray, EDMA_CONFIGURED_CHANNELS_COUNT); /************************************************** *************************************/ EQADC_DRV_Init(INST_EQADC1, &eqadc1_config0); EQADC_DRV_Init(INST_EQADC2, &eqadc2_config0); EQADC_DRV_WriteMemConvCmd(eqadc1_convCmdArray0, eqadc1_cmdBuffer0_0, EQADC1_CHANNEL_COUNT); status= EDMA_DRV_StartChannel(eqadc1_config0.cfifoConfigArray[0u].dmaVirtualChan); EQADC_DRV_SetSingleScanEnBit(INST_EQADC1, eqadc1_config0.cfifoConfigArray[0u].cfifoIdx, false); EQADC_DRV_WriteMemConvCmd(eqadc2_convCmdArray0, eqadc2_cmdBuffer0_0, EQADC2_CHANNEL_COUNT); status= EDMA_DRV_StartChannel(eqadc2_config0.cfifoConfigArray[0u].dmaVirtualChan); EQADC_DRV_SetSingleScanEnBit(INST_EQADC2, eqadc2_config0.cfifoConfigArray[0u].cfifoIdx, false); return status; } void ADC_Task(void) { if (s_eqadc1ConvDone == true) { for (int i = 0; i < 8; ++i) { DO_FB[i] = eqadc1_resultBuffer0_0[i]; } s_eqadc1ConvDone =false; /* Start another conversion */ EQADC_DRV_WriteMemConvCmd(eqadc1_convCmdArray0, eqadc1_cmdBuffer0_0, EQADC1_CHANNEL_COUNT); status= EDMA_DRV_StartChannel(eqadc1_config0.cfifoConfigArray[0u].dmaVirtualChan); EQADC_DRV_SetSingleScanEnBit(INST_EQADC1, eqadc1_config0.cfifoConfigArray[0u].cfifoIdx, false); } if (s_eqadc2ConvDone == true) { for (int i = 0; i < 8; ++i) { FB[i] = eqadc2_resultBuffer0_0[i]; } s_eqadc2ConvDone =false; EQADC_DRV_WriteMemConvCmd(eqadc2_convCmdArray0, eqadc2_cmdBuffer0_0, EQADC2_CHANNEL_COUNT); status= EDMA_DRV_StartChannel(eqadc2_config0.cfifoConfigArray[0u].dmaVirtualChan); EQADC_DRV_SetSingleScanEnBit(INST_EQADC2, eqadc2_config0.cfifoConfigArray[0u].cfifoIdx, false); } } void ADC_Task1(void) { if (s_eqadc1ConvDone == true) { for (int i = 0; i < 8; ++i) { DO_FB[i] = eqadc1_resultBuffer0_0[i]; } s_eqadc1ConvDone =false; /* Start another conversion */ EQADC_DRV_Init(INST_EQADC2, &eqadc2_config0); EQADC_DRV_WriteMemConvCmd(eqadc2_convCmdArray0, eqadc2_cmdBuffer0_0, EQADC2_CHANNEL_COUNT); EDMA_DRV_StartChannel(eqadc2_config0.cfifoConfigArray[0u].dmaVirtualChan); EQADC_DRV_SetSingleScanEnBit(INST_EQADC2, eqadc2_config0.cfifoConfigArray[0u].cfifoIdx, false); } if (s_eqadc2ConvDone == true) { for (int i = 0; i < 8; ++i) { FB[i] = eqadc2_resultBuffer0_0[i]; } s_eqadc2ConvDone =false; EQADC_DRV_Init(INST_EQADC1, &eqadc2_config0); EQADC_DRV_WriteMemConvCmd(eqadc1_convCmdArray0, eqadc1_cmdBuffer0_0, EQADC1_CHANNEL_COUNT); EDMA_DRV_StartChannel(eqadc1_config0.cfifoConfigArray[0u].dmaVirtualChan); EQADC_DRV_SetSingleScanEnBit(INST_EQADC1, eqadc1_config0.cfifoConfigArray[0u].cfifoIdx, false); } }