1406 group->RCR[resultIdx].B.WFR = waitForRead;
1412 vadc->GLOBRCR.B.WFR = waitForRead;
1418 vadc->BRSMR.B.ENTR = 1;
1460 Ifx_VADC_GLOBRES tmpGlobalResult;
1462 tmpGlobalResult.U = vadc->GLOBRES.U;
1464 return tmpGlobalResult;
1472 for (idx = 0; idx < numResults; idx++)
1474 results[idx].U = group->RES[resultOffset + idx].U;
1481 Ifx_VADC_RES tmpResult;
1483 tmpResult.U = group->RES[resultIdx].U;
1491 return (
boolean)vadc->BRSMR.B.SCAN;
1497 return (
boolean)vadcG->ARBPR.B.ASEN2;
1503 vadc->BRSMR.B.SCAN = autoBackgroundScanEnable;
1509 channels = (vadc->BRSSEL[groupId].U & ~mask) | channels;
1510 vadc->BRSSEL[groupId].U = channels;
1516 Ifx_VADC_BRSCTRL brsctrl;
1517 brsctrl.U = vadc->BRSCTRL.U;
1519 brsctrl.B.GTSEL = gatingSource;
1520 vadc->BRSCTRL.U = brsctrl.U;
1521 vadc->BRSMR.B.ENGT = gatingMode;
1527 Ifx_VADC_BRSCTRL brsctrl;
1528 brsctrl.U = vadc->BRSCTRL.U;
1530 brsctrl.B.XTMODE = triggerMode;
1531 brsctrl.B.XTSEL = triggerSource;
1532 vadc->BRSCTRL.U = brsctrl.U;
1538 vadc->BRSMR.B.LDEV = 1;
1544 vadcG->ASMR.B.ENTR = 0;
1550 vadcG->ASMR.B.ENTR = 1;
1592 return (
boolean)vadcG->ASMR.B.SCAN;
1598 return (
boolean)vadcG->ARBPR.B.ASEN1;
1604 vadcG->ASMR.B.SCAN = autoscanEnable;
1610 Ifx_VADC_G_ASCTRL asctrl;
1611 asctrl.U = vadcG->ASCTRL.U;
1613 asctrl.B.GTSEL = gatingSource;
1614 vadcG->ASCTRL.U = asctrl.U;
1615 vadcG->ASMR.B.ENGT = gatingMode;
1621 Ifx_VADC_G_ASCTRL asctrl;
1622 asctrl.U = vadcG->ASCTRL.U;
1624 asctrl.B.XTMODE = triggerMode;
1625 asctrl.B.XTSEL = triggerSource;
1626 vadcG->ASCTRL.U = asctrl.U;
1632 group->ASMR.B.LDEV = 1;
1638 group->QINR0.U = channel | options;
1644 vadcG->QMR0.B.FLUSH = flushQueue;
1650 vadcG->QMR0.B.ENTR = 0;
1656 vadcG->QMR0.B.ENTR = 1;
1698 return (
boolean)vadcG->ARBPR.B.ASEN0;
1704 Ifx_VADC_G_QCTRL0 qctrl0;
1705 qctrl0.U = vadcG->QCTRL0.U;
1707 qctrl0.B.GTSEL = gatingSource;
1708 vadcG->QCTRL0.U = qctrl0.U;
1709 vadcG->QMR0.B.ENGT = gatingMode;
1715 Ifx_VADC_G_QCTRL0 qctrl0;
1716 qctrl0.U = vadcG->QCTRL0.U;
1718 qctrl0.B.XTMODE = triggerMode;
1719 qctrl0.B.XTSEL = triggerSource;
1720 vadcG->QCTRL0.U = qctrl0.U;
1726 group->QMR0.B.TREV = 1;
1748 ticks = (
uint32)(sampleTime * analogFrequency) - 2;
1750 ticks =
__minu(ticks, 0xFFu);
1758 vadcG->REFCLR.U = 0x0000FFFF
u;
1770 Ifx_VADC_G_REVNP0 resultServiceRequestNodePtr0;
1771 resultServiceRequestNodePtr0.U = vadcG->REVNP0.U;
1772 return resultServiceRequestNodePtr0;
1778 Ifx_VADC_G_REVNP1 resultServiceRequestNodePtr1;
1779 resultServiceRequestNodePtr1.U = vadcG->REVNP1.U;
1780 return resultServiceRequestNodePtr1;
1786 Ifx_VADC_G_CEVNP0 serviceRequestNodePtr;
1787 serviceRequestNodePtr.U = vadcG->CEVNP0.U;
1788 return serviceRequestNodePtr;
1794 uint8 masterIndex = 0;
1795 masterIndex = vadcG->SYNCTR.B.STSEL;
1808 vadcG->ARBCFG.B.ANONC = analogConverterMode;
1814 vadcG->ARBCFG.B.ARBRND = arbiterRoundLength;
1820 vadcG->ICLASS[inputClassNum].B.CMS = resolution;
1832 vadcG->SYNCTR.B.STSEL = masterIndex;
1833 vadcG->SYNCTR.U |= (0x00000008U << masterIndex);
1842 vadc->CLC.U = 0x00000000;
1850 status = vadc->G[adcCalGroupNum].ARBCFG.B.CAL;
1857 Ifx_VADC_GLOBCFG globCfg;
1858 globCfg.U = vadc->GLOBCFG.U;
1865 vadc->GLOBCFG.B.SUCAL = 1;
1871 vadc->GLOBICLASS[groupInputClassNum].B.CMS = resolution;
1883 vadcG->CEFCLR.U = 1 << channelId;
1889 vadcG->RCR[resultRegister].B.SRGEN = 1;
1895 Ifx_VADC_G_CHASS assignChannels;
1896 assignChannels.U = vadcG->CHASS.U;
1897 return assignChannels;
1903 Ifx_VADC_CHCTR tempChctr;
1904 tempChctr.U = vadcG->CHCTR[channelIndex].U;
1917 return (
float32)vadcG->ICLASS[inputClassNum].B.STCS / analogFrequency;
1923 vadcG->CHASS.U &= ~(1 << channelIndex);
1929 vadcG->CHCTR[channelIndex].B.RESTBS = globalResultUsage;
1935 vadcG->CHCTR[channelIndex].B.BNDSELX = boundaryMode;
1941 vadcG->CEVNP0.U &= ~(IFX_VADC_G_CEVNP0_CEV0NP_MSK << channel);
1942 vadcG->CEVNP0.U |= (channelSrcNr << channel);
1948 vadcG->CHCTR[channelIndex].B.CHEVMODE = limitCheck;
1954 vadcG->CHASS.U |= (1 << channelIndex);
1960 vadcG->CHCTR[channelIndex].B.ICLSEL = inputClass;
1966 vadcG->CHCTR[channelIndex].B.BNDSELL = lowerBoundary;
1972 vadcG->CHCTR[channelIndex].B.REFSEL = reference;
1978 vadcG->REVNP0.U &= ~(IFX_VADC_G_REVNP0_REV0NP_MSK << (resultRegister * 4));
1979 vadcG->REVNP0.U |= (resultSrcNr << (resultRegister * 4));
1992 vadcG->CHCTR[channelIndex].B.RESPOS = rightAlignedStorage;
1998 vadcG->CHCTR[channelIndex].B.SYNC = synchonize;
2004 vadcG->CHCTR[channelIndex].B.BNDSELU = upperBoundary;
2010 vadcG->CHCTR[channelIndex].B.RESREG = resultRegister;