]> git.sur5r.net Git - freertos/blobdiff - Demo/CORTEX_Kinetis_K60_Tower_IAR/ParTest.c
Move the MSVC/lwIP code into the main line.
[freertos] / Demo / CORTEX_Kinetis_K60_Tower_IAR / ParTest.c
index 37e48fe101bf804fa1f41118e31f53ff5e3c7b45..7ae69bcac2aa2c99f8f4e504787c52b537dfedec 100644 (file)
@@ -52,7 +52,7 @@
 */\r
 \r
 /*-----------------------------------------------------------\r
- * Simple parallel port IO routines.\r
+ * Simple GPIO (parallel port) IO routines.\r
  *-----------------------------------------------------------*/\r
 \r
 /* Kernel includes. */\r
@@ -68,6 +68,7 @@
 /* Only the LEDs on one of the two seven segment displays are used. */\r
 #define partstMAX_LEDS         4\r
 \r
+/* The bits used to control the LEDs on the TWR-K60N512. */\r
 const unsigned long ulLEDs[ partstMAX_LEDS ] = { ( 1UL << 10UL ), ( 1UL << 29UL ), ( 1UL << 28UL ), ( 1UL << 11UL ) };\r
 \r
 /*-----------------------------------------------------------*/\r
@@ -85,66 +86,52 @@ void vParTestInitialise( void )
        GPIOA_PDDR=GPIO_PDDR_PDD( ulLEDs[ 0 ] | ulLEDs[ 1 ] | ulLEDs[ 2 ] | ulLEDs[ 3 ] );      \r
 \r
        /* Start with LEDs off. */\r
-       GPIOA_PTOR = ~0U;\r
+       GPIOA_PTOR = ~0U;       \r
 }\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
-               taskENTER_CRITICAL();\r
+               if( xValue == pdTRUE )\r
                {\r
-                       if( xValue == pdTRUE )\r
-                       {\r
-                               GPIOA_PDOR &= ~GPIO_PDOR_PDO( ulLEDs[ uxLED ] );\r
-                       }\r
-                       else\r
-                       {\r
-                               GPIOA_PDOR |= GPIO_PDOR_PDO( ulLEDs[ uxLED ] );\r
-                       }\r
+                       GPIOA_PCOR = ulLEDs[ ulLED ];\r
+               }\r
+               else\r
+               {\r
+                       GPIOA_PSOR = ulLEDs[ ulLED ];\r
                }\r
-               taskEXIT_CRITICAL();\r
        }\r
 }\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
-               }\r
-               taskEXIT_CRITICAL();\r
+               GPIOA_PTOR = ulLEDs[ ulLED ];\r
        }\r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
-void vParTestSetLEDFromISR( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )\r
+long lParTestGetLEDState( unsigned long ulLED )\r
 {\r
-unsigned portBASE_TYPE uxInterruptFlags;\r
+long lReturn = pdFALSE;\r
 \r
-       if( uxLED < partstMAX_LEDS )\r
+       if( ulLED < partstMAX_LEDS )\r
        {\r
-               uxInterruptFlags = portSET_INTERRUPT_MASK_FROM_ISR();\r
+               lReturn = GPIOA_PDOR & ulLEDs[ ulLED ];\r
+               \r
+               if( lReturn == 0 )\r
                {\r
-                       if( xValue == pdTRUE )\r
-                       {\r
-                               GPIOA_PDOR &= ~GPIO_PDOR_PDO( ulLEDs[ uxLED ] );\r
-                       }\r
-                       else\r
-                       {\r
-                               GPIOA_PDOR |= GPIO_PDOR_PDO( ulLEDs[ uxLED ] );\r
-                       }\r
+                       lReturn = pdTRUE;\r
+               }\r
+               else\r
+               {\r
+                       lReturn = pdFALSE;\r
                }\r
-               portCLEAR_INTERRUPT_MASK_FROM_ISR( uxInterruptFlags );\r
        }\r
-}\r
-/*-----------------------------------------------------------*/\r
 \r
+       return lReturn;\r
+}\r