Rev 270 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 270 | Rev 275 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | /******************** (C) COPYRIGHT 2006 STMicroelectronics ******************** |
1 | /******************** (C) COPYRIGHT 2008 STMicroelectronics ******************** |
2 | * File Name : usb_endp.c |
2 | * File Name : usb_endp.c |
3 | * Author : MCD Application Team |
3 | * Author : MCD Application Team |
4 | * Date First Issued : 10/01/2006 : V1.0 |
4 | * Date First Issued : 10/01/2008 : V1.0 |
5 | * Description : Endpoint routines |
5 | * Description : Endpoint routines |
6 | ******************************************************************************** |
6 | ******************************************************************************** |
7 | * History: |
7 | * History: |
8 | * 10/01/2006 : V1.0 |
8 | * 10/01/2008 : V1.0 |
9 | ******************************************************************************** |
9 | ******************************************************************************** |
10 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS |
10 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS |
11 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. |
11 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. |
12 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, |
12 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, |
13 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE |
13 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE |
14 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING |
14 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING |
15 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. |
15 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. |
16 | *******************************************************************************/ |
16 | *******************************************************************************/ |
17 | /* Includes ------------------------------------------------------------------*/ |
17 | /* Includes ------------------------------------------------------------------*/ |
18 | #include <stdio.h> |
18 | #include <stdio.h> |
- | 19 | #include "usb.h" |
|
- | 20 | #include "mkprotocol.h" |
|
19 | #include "91x_lib.h" |
21 | #include "91x_lib.h" |
20 | #include "uart1.h" |
- | |
21 | #include "usb_lib.h" |
22 | #include "usb_lib.h" |
22 | #include "usb_desc.h" |
23 | #include "usb_desc.h" |
23 | #include "usb.h" |
- | |
24 | #include "mkprotocol.h" |
- | |
Line 25... | Line 24... | ||
25 | 24 | ||
26 | /* Private typedef -----------------------------------------------------------*/ |
25 | /* Private typedef -----------------------------------------------------------*/ |
27 | /* Private define ------------------------------------------------------------*/ |
26 | /* Private define ------------------------------------------------------------*/ |
28 | /* Private macro -------------------------------------------------------------*/ |
27 | /* Private macro -------------------------------------------------------------*/ |
29 | /* Private variables ---------------------------------------------------------*/ |
- | |
30 | u8 USB_Buffer[VIRTUAL_COM_PORT_DATA_SIZE]; |
- | |
31 | u32 USB_BufferCount =0; |
- | |
32 | u32 count_in = 0; |
28 | /* Private variables ---------------------------------------------------------*/ |
33 | /* Private function prototypes -----------------------------------------------*/ |
29 | /* Private function prototypes -----------------------------------------------*/ |
34 | /* Private functions ---------------------------------------------------------*/ |
30 | /* Private functions ---------------------------------------------------------*/ |
35 | /******************************************************************************* |
31 | /******************************************************************************* |
36 | * Function Name : EP3_IN_Callback |
32 | * Function Name : EP3_OUT_Callback |
37 | * Description : |
33 | * Description : |
38 | * Input : None. |
34 | * Input : None. |
39 | * Output : None. |
35 | * Output : None. |
40 | * Return : None. |
36 | * Return : None. |
41 | *******************************************************************************/ |
37 | *******************************************************************************/ |
42 | void EP3_OUT_Callback(void) |
38 | void EP3_OUT_Callback(void) |
- | 39 | { |
|
43 | { |
40 | u8 USB_Buffer[VIRTUAL_COM_PORT_DATA_SIZE]; |
- | 41 | u32 i, USB_BufferCount; |
|
44 | u32 i; |
42 | |
45 | USB_BufferCount = GetEPRxCount(ENDP3); |
43 | USB_BufferCount= GetEPRxCount(ENDP3); |
46 | PMAToUserBufferCopy(USB_Buffer, ENDP3_RXADDR, USB_BufferCount ); |
44 | PMAToUserBufferCopy(USB_Buffer, ENDP3_RXADDR, USB_BufferCount); |
47 | for(i=0; i<USB_BufferCount; i++) |
45 | for(i=0; i<USB_BufferCount;i++) |
- | 46 | { |
|
48 | { |
47 | // put into the software fifo |
- | 48 | if(!fifo_put(&USB_rx_fifo, USB_Buffer[i])) |
|
- | 49 | { // fifo overflow |
|
- | 50 | //fifo_purge(&USB_rx_fifo); // flush the whole buffer |
|
49 | MKProtocol_CollectSerialFrame(&USB_rx_buffer, USB_Buffer[i]); |
51 | } |
50 | } |
52 | } |
51 | SetEPRxValid(ENDP3); |
- | |
52 | - | ||
53 | //sprintf(text,"USB (%ld): %s\n\r", USB_Buffer, USB_BufferCount); |
- | |
54 | //UART1_PutString(text); |
53 | SetEPRxValid(ENDP3); |
55 | } |
54 | } |
56 | /******************************************************************************* |
55 | /******************************************************************************* |
57 | * Function Name : EP1_IN_Callback |
56 | * Function Name : EP1_IN_Callback |
58 | * Description : |
57 | * Description : |
59 | * Input : None. |
58 | * Input : None. |
60 | * Output : None. |
59 | * Output : None. |
61 | * Return : None. |
60 | * Return : None. |
62 | *******************************************************************************/ |
61 | *******************************************************************************/ |
63 | void EP1_IN_Callback(void) |
62 | void EP1_IN_Callback(void) |
64 | { |
63 | { |
65 | count_in =0; |
64 | |
66 | } |
65 | } |