]> rtime.felk.cvut.cz Git - pes-rpp/rpp-lib.git/commitdiff
Revert "Trigger context switch after ADC interrupts"
authorMichal Sojka <sojkam1@fel.cvut.cz>
Thu, 27 Aug 2015 07:08:06 +0000 (09:08 +0200)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Thu, 27 Aug 2015 07:08:06 +0000 (09:08 +0200)
This reverts commit f346e5add4155fadb70948fa5af608483fd86627.

rpp/include/sys/ti_drv_adc.h
rpp/src/drv/adc.c
rpp/src/sys/_rm48_hdk/ti_drv_adc.c
rpp/src/sys/_tms570_hdk/ti_drv_adc.c
rpp/src/sys/_tms570_hydctr/ti_drv_adc.c
rpp/src/sys/_tms570_rpp/ti_drv_adc.c

index 6f20c39b05778444df5f6242284cae4c65f9ffb3..e5cd7be6b3a21e22c45d7ab64a8335ae2bf560d5 100644 (file)
@@ -317,10 +317,9 @@ uint32_t adcMidPointCalibration(adcBASE_t *adc);
 *              - adcGROUP0: ADC event group
 *              - adcGROUP1: ADC group 1
 *              - adcGROUP2: ADC group 2
-*   @param[out] Flag signalling that context switch is required
 *
 *   @note This function has to be provide by the user.
 */
-void adcNotification(adcBASE_t *adc, uint32_t group, portBASE_TYPE* xHigherPriorityTaskWoken);
+void adcNotification(adcBASE_t *adc, uint32_t group);
 
 #endif
index e2ecd3bb77f9c54bc4409e557b115e733829ede8..7089cfa56144662b232e707e29eac12a0f1e965b 100644 (file)
@@ -20,7 +20,6 @@
 
 #include "drv/drv.h"
 #include "drv/port.h"
-#include "os/portmacro.h"
 
 // Binary semaphores for finish notifications
 static xSemaphoreHandle sem[2][2];
@@ -57,12 +56,13 @@ void drv_adc_init()
  *              - adcGROUP1: ADC group 1
  *              - adcGROUP2: ADC group 2
  */
-void adcNotification(adcBASE_t *adc, uint32_t group, portBASE_TYPE* xHigherPriorityTaskWoken)
+void adcNotification(adcBASE_t *adc, uint32_t group)
 {
        if (adcIsConversionComplete(adc, group) == ADC_CONVERSION_IS_FINISHED) {
+               signed portBASE_TYPE dummy;
                int adc_idx = (adc == adcREG1) ? 0 : 1;
                int grp_idx = (group == adcGROUP1) ? 0 : 1;
-               xSemaphoreGiveFromISR(sem[adc_idx][grp_idx], xHigherPriorityTaskWoken);
+               xSemaphoreGiveFromISR(sem[adc_idx][grp_idx], &dummy);
        }
 }
 
index 03a4d2ef6bb1d63f4920f2ef954255cd4a9b2d53..09300e073bf8bc49ed0c04199fa83e74885aa34b 100644 (file)
@@ -12,8 +12,6 @@
 
 /* Include Files */
 #include "sys/ti_drv_adc.h"
-#include "os/os.h"
-#include "os/portmacro.h"
 
 
 /** @fn void adcInit(void)
@@ -794,10 +792,8 @@ void adcDisableNotification(adcBASE_t *adc, uint32_t group)
 #pragma INTERRUPT(adc1Group0Interrupt, IRQ)
 void adc1Group0Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG1, adcGROUP0, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG1, adcGROUP0);
     adcREG1->GxINTFLG[0U] = _BV(3) | _BV(0);
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
 
@@ -807,11 +803,9 @@ void adc1Group0Interrupt(void)
 #pragma INTERRUPT(adc1Group1Interrupt, IRQ)
 void adc1Group1Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG1, adcGROUP1, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG1, adcGROUP1);
     // For ADC1 Group1 see tms570_trm.pdf p. 791 (783)
     adcREG1->GxINTFLG[1U] = _BV(3) | _BV(0);
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
 
@@ -821,10 +815,8 @@ void adc1Group1Interrupt(void)
 #pragma INTERRUPT(adc1Group2Interrupt, IRQ)
 void adc1Group2Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG1, adcGROUP2, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG1, adcGROUP2);
     adcREG1->GxINTFLG[2U] = _BV(3) | _BV(0);;
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
 
@@ -834,10 +826,8 @@ void adc1Group2Interrupt(void)
 #pragma INTERRUPT(adc2Group0Interrupt, IRQ)
 void adc2Group0Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG2, adcGROUP0, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG2, adcGROUP0);
     adcREG2->GxINTFLG[0U] = _BV(3) | _BV(0);
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
 
@@ -847,10 +837,8 @@ void adc2Group0Interrupt(void)
 #pragma INTERRUPT(adc2Group1Interrupt, IRQ)
 void adc2Group1Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG2, adcGROUP1, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG2, adcGROUP1);
     adcREG2->GxINTFLG[1U] = _BV(3) | _BV(0);
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
 
@@ -860,9 +848,7 @@ void adc2Group1Interrupt(void)
 #pragma INTERRUPT(adc2Group2Interrupt, IRQ)
 void adc2Group2Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG2, adcGROUP2, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG2, adcGROUP2);
     adcREG2->GxINTFLG[2U] = _BV(3) | _BV(0);
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
index 2f777689329825dddd664126dd990a4aa5ebec07..0620182f479de8cef6193124d3630c6964df0938 100644 (file)
@@ -792,10 +792,8 @@ void adcDisableNotification(adcBASE_t *adc, uint32_t group)
 #pragma INTERRUPT(adc1Group0Interrupt, IRQ)
 void adc1Group0Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG1, adcGROUP0, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG1, adcGROUP0);
     adcREG1->GxINTFLG[0U] = _BV(3) | _BV(0);
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
 
@@ -805,11 +803,9 @@ void adc1Group0Interrupt(void)
 #pragma INTERRUPT(adc1Group1Interrupt, IRQ)
 void adc1Group1Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG1, adcGROUP1, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG1, adcGROUP1);
     // For ADC1 Group1 see tms570_trm.pdf p. 791 (783)
     adcREG1->GxINTFLG[1U] = _BV(3) | _BV(0);
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
 
@@ -819,10 +815,8 @@ void adc1Group1Interrupt(void)
 #pragma INTERRUPT(adc1Group2Interrupt, IRQ)
 void adc1Group2Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG1, adcGROUP2, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG1, adcGROUP2);
     adcREG1->GxINTFLG[2U] = _BV(3) | _BV(0);;
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
 
@@ -832,10 +826,8 @@ void adc1Group2Interrupt(void)
 #pragma INTERRUPT(adc2Group0Interrupt, IRQ)
 void adc2Group0Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG2, adcGROUP0, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG2, adcGROUP0);
     adcREG2->GxINTFLG[0U] = _BV(3) | _BV(0);
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
 
@@ -845,10 +837,8 @@ void adc2Group0Interrupt(void)
 #pragma INTERRUPT(adc2Group1Interrupt, IRQ)
 void adc2Group1Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG2, adcGROUP1, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG2, adcGROUP1);
     adcREG2->GxINTFLG[1U] = _BV(3) | _BV(0);
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
 
@@ -858,9 +848,7 @@ void adc2Group1Interrupt(void)
 #pragma INTERRUPT(adc2Group2Interrupt, IRQ)
 void adc2Group2Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG2, adcGROUP2, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG2, adcGROUP2);
     adcREG2->GxINTFLG[2U] = _BV(3) | _BV(0);
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
index 2f777689329825dddd664126dd990a4aa5ebec07..0620182f479de8cef6193124d3630c6964df0938 100644 (file)
@@ -792,10 +792,8 @@ void adcDisableNotification(adcBASE_t *adc, uint32_t group)
 #pragma INTERRUPT(adc1Group0Interrupt, IRQ)
 void adc1Group0Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG1, adcGROUP0, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG1, adcGROUP0);
     adcREG1->GxINTFLG[0U] = _BV(3) | _BV(0);
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
 
@@ -805,11 +803,9 @@ void adc1Group0Interrupt(void)
 #pragma INTERRUPT(adc1Group1Interrupt, IRQ)
 void adc1Group1Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG1, adcGROUP1, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG1, adcGROUP1);
     // For ADC1 Group1 see tms570_trm.pdf p. 791 (783)
     adcREG1->GxINTFLG[1U] = _BV(3) | _BV(0);
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
 
@@ -819,10 +815,8 @@ void adc1Group1Interrupt(void)
 #pragma INTERRUPT(adc1Group2Interrupt, IRQ)
 void adc1Group2Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG1, adcGROUP2, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG1, adcGROUP2);
     adcREG1->GxINTFLG[2U] = _BV(3) | _BV(0);;
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
 
@@ -832,10 +826,8 @@ void adc1Group2Interrupt(void)
 #pragma INTERRUPT(adc2Group0Interrupt, IRQ)
 void adc2Group0Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG2, adcGROUP0, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG2, adcGROUP0);
     adcREG2->GxINTFLG[0U] = _BV(3) | _BV(0);
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
 
@@ -845,10 +837,8 @@ void adc2Group0Interrupt(void)
 #pragma INTERRUPT(adc2Group1Interrupt, IRQ)
 void adc2Group1Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG2, adcGROUP1, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG2, adcGROUP1);
     adcREG2->GxINTFLG[1U] = _BV(3) | _BV(0);
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
 
@@ -858,9 +848,7 @@ void adc2Group1Interrupt(void)
 #pragma INTERRUPT(adc2Group2Interrupt, IRQ)
 void adc2Group2Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG2, adcGROUP2, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG2, adcGROUP2);
     adcREG2->GxINTFLG[2U] = _BV(3) | _BV(0);
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
index a8cabf3d8d21cefd44542606ec0284adc7a9c563..6fe9de80c5ad1ffdc4b8983d80f570b333959e8c 100644 (file)
@@ -793,10 +793,8 @@ void adcDisableNotification(adcBASE_t *adc, uint32_t group)
 #pragma INTERRUPT(adc1Group0Interrupt, IRQ)
 void adc1Group0Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG1, adcGROUP0, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG1, adcGROUP0);
     adcREG1->GxINTFLG[0U] = _BV(3) | _BV(0);
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
 
@@ -806,11 +804,9 @@ void adc1Group0Interrupt(void)
 #pragma INTERRUPT(adc1Group1Interrupt, IRQ)
 void adc1Group1Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG1, adcGROUP1, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG1, adcGROUP1);
     // For ADC1 Group1 see tms570_trm.pdf p. 791 (783)
     adcREG1->GxINTFLG[1U] = _BV(3) | _BV(0);
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
 
@@ -820,10 +816,8 @@ void adc1Group1Interrupt(void)
 #pragma INTERRUPT(adc1Group2Interrupt, IRQ)
 void adc1Group2Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG1, adcGROUP2, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG1, adcGROUP2);
     adcREG1->GxINTFLG[2U] = _BV(3) | _BV(0);;
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
 
@@ -833,10 +827,8 @@ void adc1Group2Interrupt(void)
 #pragma INTERRUPT(adc2Group0Interrupt, IRQ)
 void adc2Group0Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG2, adcGROUP0, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG2, adcGROUP0);
     adcREG2->GxINTFLG[0U] = _BV(3) | _BV(0);
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
 
@@ -846,10 +838,8 @@ void adc2Group0Interrupt(void)
 #pragma INTERRUPT(adc2Group1Interrupt, IRQ)
 void adc2Group1Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG2, adcGROUP1, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG2, adcGROUP1);
     adcREG2->GxINTFLG[1U] = _BV(3) | _BV(0);
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }
 
 
@@ -859,9 +849,7 @@ void adc2Group1Interrupt(void)
 #pragma INTERRUPT(adc2Group2Interrupt, IRQ)
 void adc2Group2Interrupt(void)
 {
-    portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-    adcNotification(adcREG2, adcGROUP2, &xHigherPriorityTaskWoken);
+    adcNotification(adcREG2, adcGROUP2);
     adcREG2->GxINTFLG[2U] = _BV(3) | _BV(0);
-    portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
 }