DAC driver now working with L4+.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@12431 110e8d01-0319-4d1e-a829-52ad28d1bb01
This commit is contained in:
parent
c0da3c4f42
commit
db6f9df412
|
@ -89,6 +89,7 @@ static const dacparams_t dma1_ch1_params = {
|
|||
.regmask = 0xFFFF0000U,
|
||||
#if STM32_DMA_SUPPORTS_DMAMUX
|
||||
.dma = STM32_DMA_STREAM(STM32_DAC_DAC1_CH1_DMA_CHANNEL),
|
||||
.peripheral = STM32_DMAMUX1_DAC1_CH1,
|
||||
#else
|
||||
.dma = STM32_DMA_STREAM(STM32_DAC_DAC1_CH1_DMA_STREAM),
|
||||
#endif
|
||||
|
@ -109,6 +110,7 @@ static const dacparams_t dma1_ch2_params = {
|
|||
.regmask = 0x0000FFFFU,
|
||||
#if STM32_DMA_SUPPORTS_DMAMUX
|
||||
.dma = STM32_DMA_STREAM(STM32_DAC_DAC1_CH2_DMA_CHANNEL),
|
||||
.peripheral = STM32_DMAMUX1_DAC1_CH2,
|
||||
#else
|
||||
.dma = STM32_DMA_STREAM(STM32_DAC_DAC1_CH2_DMA_STREAM),
|
||||
#endif
|
||||
|
@ -129,6 +131,7 @@ static const dacparams_t dma2_ch1_params = {
|
|||
.regmask = 0xFFFF0000U,
|
||||
#if STM32_DMA_SUPPORTS_DMAMUX
|
||||
.dma = STM32_DMA_STREAM(STM32_DAC_DAC2_CH1_DMA_CHANNEL),
|
||||
.peripheral = STM32_DMAMUX1_DAC2_CH1,
|
||||
#else
|
||||
.dma = STM32_DMA_STREAM(STM32_DAC_DAC2_CH1_DMA_STREAM),
|
||||
#endif
|
||||
|
@ -149,6 +152,7 @@ static const dacparams_t dma1_ch2_params = {
|
|||
.regmask = 0x0000FFFFU,
|
||||
#if STM32_DMA_SUPPORTS_DMAMUX
|
||||
.dma = STM32_DMA_STREAM(STM32_DAC_DAC2_CH2_DMA_CHANNEL),
|
||||
.peripheral = STM32_DMAMUX1_DAC2_CH2,
|
||||
#else
|
||||
.dma = STM32_DMA_STREAM(STM32_DAC_DAC2_CH2_DMA_STREAM),
|
||||
#endif
|
||||
|
@ -243,18 +247,12 @@ void dac_lld_start(DACDriver *dacp) {
|
|||
#if STM32_DAC_USE_DAC1_CH1
|
||||
if (&DACD1 == dacp) {
|
||||
rccEnableDAC1(true);
|
||||
#if STM32_DMA_SUPPORTS_DMAMUX
|
||||
dmaSetRequestSource(dacp->params->dma, STM32_DMAMUX1_DAC1_CH1);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#if STM32_DAC_USE_DAC1_CH2
|
||||
if (&DACD2 == dacp) {
|
||||
rccEnableDAC1(true);
|
||||
#if STM32_DMA_SUPPORTS_DMAMUX
|
||||
dmaSetRequestSource(dacp->params->dma, STM32_DMAMUX1_DAC1_CH2);
|
||||
#endif
|
||||
channel = 1;
|
||||
}
|
||||
#endif
|
||||
|
@ -262,18 +260,12 @@ void dac_lld_start(DACDriver *dacp) {
|
|||
#if STM32_DAC_USE_DAC2_CH1
|
||||
if (&DACD3 == dacp) {
|
||||
rccEnableDAC2(true);
|
||||
#if STM32_DMA_SUPPORTS_DMAMUX
|
||||
dmaSetRequestSource(dacp->params->dma, STM32_DMAMUX1_DAC2_CH1);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#if STM32_DAC_USE_DAC2_CH2
|
||||
if (&DACD4 == dacp) {
|
||||
rccEnableDAC2(true);
|
||||
#if STM32_DMA_SUPPORTS_DMAMUX
|
||||
dmaSetRequestSource(dacp->params->dma, STM32_DMAMUX1_DAC2_CH2);
|
||||
#endif
|
||||
channel = 1;
|
||||
}
|
||||
#endif
|
||||
|
@ -445,8 +437,11 @@ void dac_lld_start_conversion(DACDriver *dacp) {
|
|||
(stm32_dmaisr_t)dac_lld_serve_tx_interrupt,
|
||||
(void *)dacp);
|
||||
osalDbgAssert(!b, "stream already allocated");
|
||||
#if STM32_DMA_SUPPORTS_DMAMUX
|
||||
dmaSetRequestSource(dacp->params->dma, dacp->params->peripheral);
|
||||
#endif
|
||||
|
||||
/* DMA settings depend on the chosed DAC mode.*/
|
||||
/* DMA settings depend on the chosen DAC mode.*/
|
||||
switch (dacp->config->datamode) {
|
||||
/* Sets the DAC data register */
|
||||
case DAC_DHRM_12BIT_RIGHT:
|
||||
|
|
|
@ -318,6 +318,12 @@ typedef struct {
|
|||
* @brief DMA channel IRQ priority.
|
||||
*/
|
||||
uint32_t dmairqprio;
|
||||
#if (STM32_DMA_SUPPORTS_DMAMUX == TRUE) || defined(__DOXYGEN__)
|
||||
/**
|
||||
* @brief DMAMUX peripheral selector.
|
||||
*/
|
||||
uint32_t peripheral;
|
||||
#endif
|
||||
} dacparams_t;
|
||||
|
||||
/**
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><contentList><content id="xPSR-(format)" val="4"/></contentList>"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><contentList><content id="CR-dac-params-dacp-dac_lld_start_conversion-(format)" val="4"/><content id="xPSR-(format)" val="4"/></contentList>"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <globalVariableList/> "/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <memoryBlockExpressionList> <memoryBlockExpressionItem> <expression text="0x40021004"/> </memoryBlockExpressionItem> </memoryBlockExpressionList> "/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="${selected_resource_loc}"/>
|
||||
|
|
Loading…
Reference in New Issue