Subversion Repositories NaviCtrl

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
275 killagreg 1
/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
1 ingob 2
* File Name          : usb_endp.c
3
* Author             : MCD Application Team
275 killagreg 4
* Date First Issued  : 10/01/2008 : V1.0
1 ingob 5
* Description        : Endpoint routines
6
********************************************************************************
7
* History:
275 killagreg 8
* 10/01/2008 : V1.0
1 ingob 9
********************************************************************************
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.
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
14
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
15
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
16
*******************************************************************************/
17
/* Includes ------------------------------------------------------------------*/
41 ingob 18
#include <stdio.h>
275 killagreg 19
#include "usb.h"
20
#include "mkprotocol.h"
41 ingob 21
#include "91x_lib.h"
22
#include "usb_lib.h"
23
#include "usb_desc.h"
24
 
1 ingob 25
/* Private typedef -----------------------------------------------------------*/
26
/* Private define ------------------------------------------------------------*/
27
/* Private macro -------------------------------------------------------------*/
28
/* Private variables ---------------------------------------------------------*/
29
/* Private function prototypes -----------------------------------------------*/
30
/* Private functions ---------------------------------------------------------*/
31
/*******************************************************************************
275 killagreg 32
* Function Name  : EP3_OUT_Callback
1 ingob 33
* Description    :
34
* Input          : None.
35
* Output         : None.
36
* Return         : None.
37
*******************************************************************************/
38
void EP3_OUT_Callback(void)
39
{
275 killagreg 40
        u8 USB_Buffer[VIRTUAL_COM_PORT_DATA_SIZE];
41
        u32 i, USB_BufferCount;
42
 
43
        USB_BufferCount= GetEPRxCount(ENDP3);
44
        PMAToUserBufferCopy(USB_Buffer, ENDP3_RXADDR, USB_BufferCount);
45
        for(i=0; i<USB_BufferCount;i++)
112 killagreg 46
        {
275 killagreg 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
51
                }
112 killagreg 52
        }
275 killagreg 53
        SetEPRxValid(ENDP3);
1 ingob 54
}
55
/*******************************************************************************
56
* Function Name  : EP1_IN_Callback
57
* Description    :
58
* Input          : None.
59
* Output         : None.
60
* Return         : None.
61
*******************************************************************************/
62
void EP1_IN_Callback(void)
63
{
275 killagreg 64
 
1 ingob 65
}
275 killagreg 66
/******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/
1 ingob 67