Updated the STM32 USB drivers to the new setup phase convention.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@6884 35acf78f-673a-0410-8e92-d51de3d6d3f4master
parent
84cba6bb97
commit
3aa8654e3a
|
@ -451,9 +451,6 @@ typedef const USBDescriptor * (*usbgetdescriptor_t)(USBDriver *usbp,
|
|||
(usbp)->ep0endcb = (endcb); \
|
||||
}
|
||||
|
||||
#define usbSetupEnd(usbp, ep) \
|
||||
usb_lld_end_transaction(usbp, ep)
|
||||
|
||||
/**
|
||||
* @brief Reads a setup packet from the dedicated packet buffer.
|
||||
* @details This function must be invoked in the context of the @p setup_cb
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
#include "ch.h"
|
||||
#include "hal.h"
|
||||
|
||||
|
||||
#if HAL_USE_USB || defined(__DOXYGEN__)
|
||||
|
||||
/*===========================================================================*/
|
||||
|
|
|
@ -457,7 +457,7 @@ struct USBDriver {
|
|||
*
|
||||
* @notapi
|
||||
*/
|
||||
#define usb_lld_end_transaction(usbp, ep) \
|
||||
#define usb_lld_end_setup(usbp, ep) \
|
||||
((usbp)->usb->DCPCTR.BIT.CCPL=1)
|
||||
|
||||
/**
|
||||
|
|
|
@ -42,6 +42,11 @@
|
|||
#define USB_MAX_ENDPOINTS 5
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Status stage handling method.
|
||||
*/
|
||||
#define USB_EP0_STATUS_STAGE USB_EP0_STATUS_STAGE_SW
|
||||
|
||||
/**
|
||||
* @brief The address can be changed immediately upon packet reception.
|
||||
*/
|
||||
|
|
|
@ -38,6 +38,11 @@
|
|||
*/
|
||||
#define USB_MAX_ENDPOINTS USB_ENDOPOINTS_NUMBER
|
||||
|
||||
/**
|
||||
* @brief Status stage handling method.
|
||||
*/
|
||||
#define USB_EP0_STATUS_STAGE USB_EP0_STATUS_STAGE_SW
|
||||
|
||||
/**
|
||||
* @brief This device requires the address change after the status packet.
|
||||
*/
|
||||
|
|
|
@ -628,8 +628,7 @@ void _usb_ep0setup(USBDriver *usbp, usbep_t ep) {
|
|||
}
|
||||
}
|
||||
#if (USB_SET_ADDRESS_ACK_HANDLING == USB_SET_ADDRESS_ACK_HW)
|
||||
if (usbp->setup[1] == USB_REQ_SET_ADDRESS)
|
||||
{
|
||||
if (usbp->setup[1] == USB_REQ_SET_ADDRESS) {
|
||||
/* Zero-length packet sent by hardware */
|
||||
return;
|
||||
}
|
||||
|
@ -661,7 +660,7 @@ void _usb_ep0setup(USBDriver *usbp, usbep_t ep) {
|
|||
usbStartReceiveI(usbp, 0);
|
||||
chSysUnlockFromIsr();
|
||||
#else
|
||||
usbSetupEnd(usbp, ep);
|
||||
usb_lld_end_setup(usbp, ep);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
@ -685,7 +684,7 @@ void _usb_ep0setup(USBDriver *usbp, usbep_t ep) {
|
|||
usbStartTransmitI(usbp, 0);
|
||||
chSysUnlockFromIsr();
|
||||
#else
|
||||
usbSetupEnd(usbp, ep);
|
||||
usb_lld_end_setup(usbp, ep);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
@ -729,7 +728,7 @@ void _usb_ep0in(USBDriver *usbp, usbep_t ep) {
|
|||
usbStartReceiveI(usbp, 0);
|
||||
chSysUnlockFromIsr();
|
||||
#else
|
||||
usbSetupEnd(usbp, ep);
|
||||
usb_lld_end_setup(usbp, ep);
|
||||
#endif
|
||||
return;
|
||||
case USB_EP0_SENDING_STS:
|
||||
|
@ -773,7 +772,7 @@ void _usb_ep0out(USBDriver *usbp, usbep_t ep) {
|
|||
usbStartTransmitI(usbp, 0);
|
||||
chSysUnlockFromIsr();
|
||||
#else
|
||||
usbSetupEnd(usbp, ep);
|
||||
usb_lld_end_setup(usbp, ep);
|
||||
#endif
|
||||
return;
|
||||
case USB_EP0_WAITING_STS:
|
||||
|
|
Loading…
Reference in New Issue