]> git.sur5r.net Git - freertos/blobdiff - Demo/CORTEX_Kinetis_K60_Tower_IAR/ParTest.c
Ethernet working in the Kinetis K60 demo.
[freertos] / Demo / CORTEX_Kinetis_K60_Tower_IAR / ParTest.c
index 37e48fe101bf804fa1f41118e31f53ff5e3c7b45..86087e5ec265a01b380b00d454d81557ef62e047 100644 (file)
@@ -89,9 +89,9 @@ void vParTestInitialise( void )
 }\r
 /*-----------------------------------------------------------*/\r
 \r
-void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )\r
+void vParTestSetLED( unsigned long ulLED, signed portBASE_TYPE xValue )\r
 {\r
-       if( uxLED < partstMAX_LEDS )\r
+       if( ulLED < partstMAX_LEDS )\r
        {\r
                /* A critical section is used as the LEDs are also accessed from an\r
                interrupt. */\r
@@ -99,11 +99,11 @@ void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
                {\r
                        if( xValue == pdTRUE )\r
                        {\r
-                               GPIOA_PDOR &= ~GPIO_PDOR_PDO( ulLEDs[ uxLED ] );\r
+                               GPIOA_PDOR &= ~GPIO_PDOR_PDO( ulLEDs[ ulLED ] );\r
                        }\r
                        else\r
                        {\r
-                               GPIOA_PDOR |= GPIO_PDOR_PDO( ulLEDs[ uxLED ] );\r
+                               GPIOA_PDOR |= GPIO_PDOR_PDO( ulLEDs[ ulLED ] );\r
                        }\r
                }\r
                taskEXIT_CRITICAL();\r
@@ -111,36 +111,36 @@ void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
 }\r
 /*-----------------------------------------------------------*/\r
 \r
-void vParTestToggleLED( unsigned portBASE_TYPE uxLED )\r
+void vParTestToggleLED( unsigned long ulLED )\r
 {\r
-       if( uxLED < partstMAX_LEDS )\r
+       if( ulLED < partstMAX_LEDS )\r
        {\r
                /* A critical section is used as the LEDs are also accessed from an\r
                interrupt. */\r
                taskENTER_CRITICAL();\r
                {\r
-                       GPIOA_PTOR |= GPIO_PDOR_PDO( ulLEDs[ uxLED ] );         \r
+                       GPIOA_PTOR |= GPIO_PDOR_PDO( ulLEDs[ ulLED ] );         \r
                }\r
                taskEXIT_CRITICAL();\r
        }\r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
-void vParTestSetLEDFromISR( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )\r
+void vParTestSetLEDFromISR( unsigned long ulLED, signed portBASE_TYPE xValue )\r
 {\r
 unsigned portBASE_TYPE uxInterruptFlags;\r
 \r
-       if( uxLED < partstMAX_LEDS )\r
+       if( ulLED < partstMAX_LEDS )\r
        {\r
                uxInterruptFlags = portSET_INTERRUPT_MASK_FROM_ISR();\r
                {\r
                        if( xValue == pdTRUE )\r
                        {\r
-                               GPIOA_PDOR &= ~GPIO_PDOR_PDO( ulLEDs[ uxLED ] );\r
+                               GPIOA_PDOR &= ~GPIO_PDOR_PDO( ulLEDs[ ulLED ] );\r
                        }\r
                        else\r
                        {\r
-                               GPIOA_PDOR |= GPIO_PDOR_PDO( ulLEDs[ uxLED ] );\r
+                               GPIOA_PDOR |= GPIO_PDOR_PDO( ulLEDs[ ulLED ] );\r
                        }\r
                }\r
                portCLEAR_INTERRUPT_MASK_FROM_ISR( uxInterruptFlags );\r
@@ -148,3 +148,29 @@ unsigned portBASE_TYPE uxInterruptFlags;
 }\r
 /*-----------------------------------------------------------*/\r
 \r
+long lParTestGetLEDState( unsigned long ulLED )\r
+{\r
+long lReturn = pdFALSE;\r
+\r
+       if( ulLED < partstMAX_LEDS )\r
+       {\r
+               /* A critical section is used as the LEDs are also accessed from an\r
+               interrupt. */\r
+               taskENTER_CRITICAL();\r
+               {\r
+                       lReturn = GPIO_PDOR_PDO( ulLEDs[ ulLED ] );\r
+                       \r
+                       if( lReturn == 0 )\r
+                       {\r
+                               lReturn = pdTRUE;\r
+                       }\r
+                       else\r
+                       {\r
+                               lReturn = pdFALSE;\r
+                       }\r
+               }\r
+               taskEXIT_CRITICAL();\r
+       }\r
+\r
+       return lReturn;\r
+}\r