aboutsummaryrefslogtreecommitdiffstats
path: root/os
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2013-03-08 14:26:44 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2013-03-08 14:26:44 +0000
commitf7aa043204a98f1a1248f12b870fe2ef697c2516 (patch)
treeaf79c6b0f3d1c16eeee7e638600d2081c856cf2e /os
parent91e1037e97ff83bbab953c24fc51f14d6e29a02a (diff)
downloadChibiOS-f7aa043204a98f1a1248f12b870fe2ef697c2516.tar.gz
ChibiOS-f7aa043204a98f1a1248f12b870fe2ef697c2516.tar.bz2
ChibiOS-f7aa043204a98f1a1248f12b870fe2ef697c2516.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5383 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os')
-rw-r--r--os/hal/platforms/SPC5xx/EQADC_v1/adc_lld.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/os/hal/platforms/SPC5xx/EQADC_v1/adc_lld.c b/os/hal/platforms/SPC5xx/EQADC_v1/adc_lld.c
index 96a527b61..8a0c251d5 100644
--- a/os/hal/platforms/SPC5xx/EQADC_v1/adc_lld.c
+++ b/os/hal/platforms/SPC5xx/EQADC_v1/adc_lld.c
@@ -433,6 +433,12 @@ static void adc_serve_rfifo_irq(edma_channel_t channel, void *p) {
_adc_isr_half_code(adcp);
}
else {
+ /* Re-starting DMA channels if in circular mode.*/
+ if (adcp->grpp->circular) {
+ edmaChannelStart(adcp->rfifo_channel);
+ edmaChannelStart(adcp->cfifo_channel);
+ }
+
/* Transfer complete processing.*/
_adc_isr_full_code(adcp);
}
@@ -696,7 +702,6 @@ void adc_lld_start_conversion(ADCDriver *adcp) {
EDMA_TCD_MODE_DREQ | EDMA_TCD_MODE_INT_END |
((adcp->depth > 1) ? EDMA_TCD_MODE_INT_HALF: 0));/* mode.*/
-
/* HW triggers setup.*/
bitoff = 20 + ((uint32_t)adcp->fifo * 2);
SIU.ETISR.R = (SIU.ETISR.R & ~(3U << bitoff)) |