]> git.sur5r.net Git - freertos/blobdiff - Demo/CORTEX_A2F200_SoftConsole/ParTest.c
Added BSP generation files to MicroBlaze directory.
[freertos] / Demo / CORTEX_A2F200_SoftConsole / ParTest.c
index 2820e14920ea9a03cd9d666ee977514ae04cca16..5ee52e4905f848266a8759a1943023033b6c94c3 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-    FreeRTOS V7.0.0 - Copyright (C) 2011 Real Time Engineers Ltd.\r
+    FreeRTOS V7.0.1 - Copyright (C) 2011 Real Time Engineers Ltd.\r
        \r
 \r
     ***************************************************************************\r
@@ -111,6 +111,30 @@ void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
 }\r
 /*-----------------------------------------------------------*/\r
 \r
+void vParTestSetLEDFromISR( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )\r
+{\r
+unsigned portBASE_TYPE uxInterruptFlags;\r
+\r
+       uxInterruptFlags = portSET_INTERRUPT_MASK_FROM_ISR();\r
+       {\r
+               if( uxLED < partstMAX_LEDS )\r
+               {\r
+                       if( xValue == pdTRUE )\r
+                       {\r
+                               ulGPIOState &= ~( 1UL << uxLED );\r
+                       }\r
+                       else\r
+                       {\r
+                               ulGPIOState |= ( 1UL << uxLED );\r
+                       }\r
+\r
+                       MSS_GPIO_set_outputs( ulGPIOState );\r
+               }\r
+       }\r
+       portCLEAR_INTERRUPT_MASK_FROM_ISR( uxInterruptFlags );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
 void vParTestToggleLED( unsigned portBASE_TYPE uxLED )\r
 {\r
        if( uxLED < partstMAX_LEDS )\r
@@ -119,7 +143,7 @@ void vParTestToggleLED( unsigned portBASE_TYPE uxLED )
                interrupt. */\r
                taskENTER_CRITICAL();\r
                {\r
-                       if( ( ulGPIOState & ( 1UL << uxLED ) != 0UL )\r
+                       if( ( ulGPIOState & ( 1UL << uxLED ) != 0UL )\r
                        {\r
                                ulGPIOState &= ~( 1UL << uxLED );\r
                        }\r
@@ -135,3 +159,22 @@ void vParTestToggleLED( unsigned portBASE_TYPE uxLED )
 }\r
 /*-----------------------------------------------------------*/\r
 \r
+long lParTestGetLEDState( unsigned long ulLED )\r
+{\r
+long lReturn = pdFALSE;\r
+\r
+       if( ulLED < partstMAX_LEDS )\r
+       {\r
+               taskENTER_CRITICAL();\r
+               {\r
+                       if( ( ulGPIOState & ( 1UL << ulLED ) ) == 0UL )\r
+                       {\r
+                               lReturn = pdTRUE;\r
+                       }\r
+               }\r
+               taskEXIT_CRITICAL();\r
+       }\r
+\r
+       return lReturn;\r
+}\r
+/*-----------------------------------------------------------*/\r