git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4258 35acf78f-673a-0410-8e92-d51de3d6d3f4
parent
b8d35693b4
commit
2e56d8e14e
|
@ -71,7 +71,7 @@ static union {
|
|||
/**
|
||||
* @brief Buffer for the EP0 setup packets.
|
||||
*/
|
||||
static uint8_t ep8setup_buffer[8];
|
||||
static uint8_t ep0setup_buffer[8];
|
||||
|
||||
/**
|
||||
* @brief EP0 initialization structure.
|
||||
|
@ -85,7 +85,7 @@ static const USBEndpointConfig ep0config = {
|
|||
0x40,
|
||||
&ep0_state.in,
|
||||
&ep0_state.out,
|
||||
ep8setup_buffer
|
||||
ep0setup_buffer
|
||||
};
|
||||
|
||||
/*===========================================================================*/
|
||||
|
|
|
@ -571,20 +571,20 @@ void _usb_ep0in(USBDriver *usbp, usbep_t ep) {
|
|||
switch (usbp->ep0state) {
|
||||
case USB_EP0_TX:
|
||||
max = usb_lld_fetch_word(&usbp->setup[6]);
|
||||
/* If the transmitted size is less than the requested size and it is a
|
||||
multiple of the maximum packet size then a zero size packet must be
|
||||
transmitted.*/
|
||||
if ((usbp->ep0n < max) &&
|
||||
((usbp->ep0n % usbp->epc[0]->in_maxsize) == 0)) {
|
||||
usb_lld_prepare_transmit(usbp, 0, NULL, 0);
|
||||
usb_lld_start_in(usbp, 0);
|
||||
return;
|
||||
}
|
||||
/* If the transmitted size is less than the requested size and it is a
|
||||
multiple of the maximum packet size then a zero size packet must be
|
||||
transmitted.*/
|
||||
if ((usbp->ep0n < max) &&
|
||||
((usbp->ep0n % usbp->epc[0]->in_maxsize) == 0)) {
|
||||
usb_lld_prepare_transmit(usbp, 0, NULL, 0);
|
||||
usb_lld_start_in(usbp, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Transmit phase over, receiving the zero sized status packet.*/
|
||||
usbp->ep0state = USB_EP0_WAITING_STS;
|
||||
usb_lld_prepare_receive(usbp, 0, NULL, 0);
|
||||
usb_lld_start_out(usbp, 0);
|
||||
/* Transmit phase over, receiving the zero sized status packet.*/
|
||||
usbp->ep0state = USB_EP0_WAITING_STS;
|
||||
usb_lld_prepare_receive(usbp, 0, NULL, 0);
|
||||
usb_lld_start_out(usbp, 0);
|
||||
return;
|
||||
case USB_EP0_SENDING_STS:
|
||||
/* Status packet sent, invoking the callback if defined.*/
|
||||
|
|
Loading…
Reference in New Issue