+++ /dev/null
-/*\r
- FreeRTOS.org V4.7.1 - Copyright (C) 2003-2008 Richard Barry.\r
-\r
- This file is part of the FreeRTOS.org distribution.\r
-\r
- FreeRTOS.org is free software; you can redistribute it and/or modify\r
- it under the terms of the GNU General Public License as published by\r
- the Free Software Foundation; either version 2 of the License, or\r
- (at your option) any later version.\r
-\r
- FreeRTOS.org is distributed in the hope that it will be useful,\r
- but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- GNU General Public License for more details.\r
-\r
- You should have received a copy of the GNU General Public License\r
- along with FreeRTOS.org; if not, write to the Free Software\r
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
-\r
- A special exception to the GPL can be applied should you wish to distribute\r
- a combined work that includes FreeRTOS.org, without being obliged to provide\r
- the source code for any proprietary components. See the licensing section\r
- of http://www.FreeRTOS.org for full details of how and when the exception\r
- can be applied.\r
-\r
- ***************************************************************************\r
-\r
- Please ensure to read the configuration and relevant port sections of the \r
- online documentation.\r
-\r
- +++ http://www.FreeRTOS.org +++\r
- Documentation, latest information, license and contact details. \r
-\r
- +++ http://www.SafeRTOS.com +++\r
- A version that is certified for use in safety critical systems.\r
-\r
- +++ http://www.OpenRTOS.com +++\r
- Commercial support, development, porting, licensing and training services.\r
-\r
- ***************************************************************************\r
-*/\r
-\r
-\r
-/* Scheduler includes. */\r
-#include "FreeRTOS.h"\r
-#include "task.h"\r
-\r
-#define partstNUM_LEDs 8\r
-\r
-static unsigned portCHAR sState[ partstNUM_LEDs ] = { pdFALSE };\r
-static unsigned portCHAR sState1[ partstNUM_LEDs ] = { pdFALSE };\r
-\r
-\r
-/*-----------------------------------------------------------*/\r
-void vParTestInitialise( void )\r
-{\r
-portBASE_TYPE x;\r
-\r
- /* Set port for LED outputs. */\r
- DDR00 = 0xFF;\r
- DDR09 = 0xFF;\r
-\r
- /* Start with LEDs off. */\r
- PDR09 = 0xff;\r
- PDR00 = 0xff;\r
-\r
- for( x = 0; x < partstNUM_LEDs; x++ )\r
- {\r
- sState[ x ] = pdTRUE;\r
- sState1[ x ] = pdTRUE;\r
- }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vParTestToggleLED( unsigned portBASE_TYPE uxLED )\r
-{\r
- if( uxLED < partstNUM_LEDs )\r
- {\r
- taskENTER_CRITICAL();\r
- { \r
- /* Toggle the state of the single genuine on board LED. */\r
- if( sState[ uxLED ] )\r
- {\r
- PDR09 |= ( 1 << uxLED );\r
- }\r
- else\r
- {\r
- PDR09 &= ~( 1 << uxLED );\r
- }\r
- \r
- sState[uxLED] = !( sState[ uxLED ] );\r
- } \r
- taskEXIT_CRITICAL();\r
- }\r
- else\r
- {\r
- uxLED -= partstNUM_LEDs;\r
-\r
- if( uxLED < partstNUM_LEDs )\r
- { \r
- taskENTER_CRITICAL();\r
- { \r
- /* Toggle the state of the single genuine on board LED. */\r
- if( sState1[uxLED]) \r
- {\r
- PDR00 |= ( 1 << uxLED );\r
- }\r
- else\r
- {\r
- PDR00 &= ~( 1 << uxLED );\r
- }\r
- \r
- sState1[ uxLED ] = !( sState1[ uxLED ] );\r
- }\r
- taskEXIT_CRITICAL();\r
- }\r
- }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )\r
-{\r
- /* Set or clear the output [in this case show or hide the '*' character. */\r
- if( uxLED < partstNUM_LEDs )\r
- {\r
- taskENTER_CRITICAL();\r
- {\r
- if( xValue )\r
- {\r
- PDR09 |= ( 1 << uxLED );\r
- sState[ uxLED ] = 1;\r
- }\r
- else\r
- {\r
- PDR09 &= ~( 1 << uxLED );\r
- sState[ uxLED ] = 0;\r
- }\r
- }\r
- taskEXIT_CRITICAL();\r
- }\r
- else \r
- {\r
- uxLED -= partstNUM_LEDs;\r
-\r
- taskENTER_CRITICAL();\r
- {\r
- if( xValue )\r
- {\r
- PDR00 |= ( 1 << uxLED );\r
- sState1[ uxLED ] = 1;\r
- }\r
- else\r
- {\r
- PDR00 &= ~( 1 << uxLED );\r
- sState1[ uxLED ] = 0;\r
- }\r
- }\r
- taskEXIT_CRITICAL();\r
- }\r
-}\r
-\r