X-Git-Url: http://rtime.felk.cvut.cz/gitweb/pes-rpp/rpp-lib.git/blobdiff_plain/eebbf4597df1f1a8274af90e5b9bcaa97d14f0ad..f346e5add4155fadb70948fa5af608483fd86627:/rpp/src/sys/_tms570_hdk/ti_drv_adc.c diff --git a/rpp/src/sys/_tms570_hdk/ti_drv_adc.c b/rpp/src/sys/_tms570_hdk/ti_drv_adc.c index 0620182..2f77768 100644 --- a/rpp/src/sys/_tms570_hdk/ti_drv_adc.c +++ b/rpp/src/sys/_tms570_hdk/ti_drv_adc.c @@ -792,8 +792,10 @@ void adcDisableNotification(adcBASE_t *adc, uint32_t group) #pragma INTERRUPT(adc1Group0Interrupt, IRQ) void adc1Group0Interrupt(void) { - adcNotification(adcREG1, adcGROUP0); + portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; + adcNotification(adcREG1, adcGROUP0, &xHigherPriorityTaskWoken); adcREG1->GxINTFLG[0U] = _BV(3) | _BV(0); + portYIELD_FROM_ISR(xHigherPriorityTaskWoken); } @@ -803,9 +805,11 @@ void adc1Group0Interrupt(void) #pragma INTERRUPT(adc1Group1Interrupt, IRQ) void adc1Group1Interrupt(void) { - adcNotification(adcREG1, adcGROUP1); + portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; + adcNotification(adcREG1, adcGROUP1, &xHigherPriorityTaskWoken); // For ADC1 Group1 see tms570_trm.pdf p. 791 (783) adcREG1->GxINTFLG[1U] = _BV(3) | _BV(0); + portYIELD_FROM_ISR(xHigherPriorityTaskWoken); } @@ -815,8 +819,10 @@ void adc1Group1Interrupt(void) #pragma INTERRUPT(adc1Group2Interrupt, IRQ) void adc1Group2Interrupt(void) { - adcNotification(adcREG1, adcGROUP2); + portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; + adcNotification(adcREG1, adcGROUP2, &xHigherPriorityTaskWoken); adcREG1->GxINTFLG[2U] = _BV(3) | _BV(0);; + portYIELD_FROM_ISR(xHigherPriorityTaskWoken); } @@ -826,8 +832,10 @@ void adc1Group2Interrupt(void) #pragma INTERRUPT(adc2Group0Interrupt, IRQ) void adc2Group0Interrupt(void) { - adcNotification(adcREG2, adcGROUP0); + portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; + adcNotification(adcREG2, adcGROUP0, &xHigherPriorityTaskWoken); adcREG2->GxINTFLG[0U] = _BV(3) | _BV(0); + portYIELD_FROM_ISR(xHigherPriorityTaskWoken); } @@ -837,8 +845,10 @@ void adc2Group0Interrupt(void) #pragma INTERRUPT(adc2Group1Interrupt, IRQ) void adc2Group1Interrupt(void) { - adcNotification(adcREG2, adcGROUP1); + portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; + adcNotification(adcREG2, adcGROUP1, &xHigherPriorityTaskWoken); adcREG2->GxINTFLG[1U] = _BV(3) | _BV(0); + portYIELD_FROM_ISR(xHigherPriorityTaskWoken); } @@ -848,7 +858,9 @@ void adc2Group1Interrupt(void) #pragma INTERRUPT(adc2Group2Interrupt, IRQ) void adc2Group2Interrupt(void) { - adcNotification(adcREG2, adcGROUP2); + portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; + adcNotification(adcREG2, adcGROUP2, &xHigherPriorityTaskWoken); adcREG2->GxINTFLG[2U] = _BV(3) | _BV(0); + portYIELD_FROM_ISR(xHigherPriorityTaskWoken); }