]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_A9_Cyclone_V_SoC_DK/serial.c
Update license information text files for the CLI, TCP and UDP products to be correct...
[freertos] / FreeRTOS / Demo / CORTEX_A9_Cyclone_V_SoC_DK / serial.c
1 /*\r
2  * FreeRTOS Kernel V10.0.0\r
3  * Copyright (C) 2017 Amazon.com, Inc. or its affiliates.  All Rights Reserved.\r
4  *\r
5  * Permission is hereby granted, free of charge, to any person obtaining a copy of\r
6  * this software and associated documentation files (the "Software"), to deal in\r
7  * the Software without restriction, including without limitation the rights to\r
8  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\r
9  * the Software, and to permit persons to whom the Software is furnished to do so,\r
10  * subject to the following conditions:\r
11  *\r
12  * The above copyright notice and this permission notice shall be included in all\r
13  * copies or substantial portions of the Software. If you wish to use our Amazon\r
14  * FreeRTOS name, please do so in a fair use way that does not cause confusion.\r
15  *\r
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\r
18  * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\r
19  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r
20  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
21  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
22  *\r
23  * http://www.FreeRTOS.org\r
24  * http://aws.amazon.com/freertos\r
25  *\r
26  * 1 tab == 4 spaces!\r
27  */\r
28 \r
29 /*\r
30         BASIC SERIAL PORT DRIVER.\r
31 \r
32         This file just maps generic functions used by FreeRTOS example code to the\r
33         simple UART drivers provided by Altera.\r
34 */\r
35 \r
36 /* Scheduler includes. */\r
37 #include "FreeRTOS.h"\r
38 #include "task.h"\r
39 #include "queue.h"\r
40 #include "semphr.h"\r
41 \r
42 /* Demo application includes. */\r
43 #include "serial.h"\r
44 \r
45 /* Altera library includes. */\r
46 #include "uart0_support.h"\r
47 \r
48 /*-----------------------------------------------------------*/\r
49 \r
50 /*\r
51  * See the serial2.h header file.\r
52  */\r
53 xComPortHandle xSerialPortInitMinimal( uint32_t ulWantedBaud, UBaseType_t uxQueueLength )\r
54 {\r
55         /* Just call into the Altera support function, which has its own parameters,\r
56         so the parameters passed in here are not used. */\r
57         ( void ) ulWantedBaud;\r
58         ( void ) uxQueueLength;\r
59         uart0_init();\r
60 \r
61         return ( xComPortHandle ) 0;\r
62 }\r
63 /*-----------------------------------------------------------*/\r
64 \r
65 BaseType_t xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, TickType_t xBlockTime )\r
66 {\r
67 BaseType_t xReturn;\r
68 \r
69         /* Just call into the Altera support function, which has its own parameters,\r
70         so the parameters passed in here are not used. */\r
71         ( void ) pxPort;\r
72         ( void ) xBlockTime;\r
73 \r
74         *pcRxedChar = uart0_getc();\r
75 \r
76         if( *pcRxedChar != -1 )\r
77         {\r
78                 xReturn = pdPASS;\r
79         }\r
80         else\r
81         {\r
82                 xReturn = pdFAIL;\r
83         }\r
84 \r
85         return xReturn;\r
86 }\r
87 /*-----------------------------------------------------------*/\r
88 \r
89 void vSerialPutString( xComPortHandle pxPort, const signed char * const pcString, unsigned short usStringLength )\r
90 {\r
91         /* Just call into the Altera support function, which has its own parameters,\r
92         so the parameters passed in here are not used. */\r
93         ( void ) pxPort;\r
94 \r
95         uart0_print( ( char * ) pcString );\r
96 }\r
97 /*-----------------------------------------------------------*/\r
98 \r
99 signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, TickType_t xBlockTime )\r
100 {\r
101 char cOutBytes[ 2 ];\r
102 \r
103         /* Just call into the Altera support function, which has its own parameters,\r
104         so the parameters passed in here are not used. */\r
105         ( void ) pxPort;\r
106 \r
107         cOutBytes[ 0 ] = cOutChar;\r
108         cOutBytes[ 1 ] = 0x00;\r
109         uart0_print( cOutBytes );\r
110 \r
111         return pdPASS;\r
112 }\r
113 /*-----------------------------------------------------------*/\r
114 \r
115 void vSerialClose(xComPortHandle xPort)\r
116 {\r
117         /* Not supported as not required by the demo application. */\r
118         ( void ) xPort;\r
119 }\r
120 /*-----------------------------------------------------------*/\r
121 \r