clear stall and reset data toggle when open edpt

required to pass one of msc test.
This commit is contained in:
hathach 2021-08-31 16:41:45 +07:00
parent 38f5aee9c3
commit 76345ea3a1
No known key found for this signature in database
GPG Key ID: 2FA891220FBFD581
3 changed files with 5 additions and 3 deletions

View File

@ -35,7 +35,7 @@
#define LED_PIN 17
#define LED_STATE_ON 1
// Button
// Button: D5
#define BUTTON_PIN 15
#define BUTTON_STATE_ACTIVE 0

View File

@ -35,8 +35,8 @@
#define LED_PIN 16
#define LED_STATE_ON 1
// Button
#define BUTTON_PIN (32+14) // D5
// Button: D5
#define BUTTON_PIN (32+14)
#define BUTTON_STATE_ACTIVE 0
// UART

View File

@ -230,10 +230,12 @@ bool dcd_edpt_open (uint8_t rhport, tusb_desc_endpoint_t const * desc_edpt)
if ( dir == TUSB_DIR_OUT )
{
ep->EPCFG.bit.EPTYPE0 = desc_edpt->bmAttributes.xfer + 1;
ep->EPSTATUSCLR.reg = USB_DEVICE_EPSTATUSCLR_STALLRQ0 | USB_DEVICE_EPSTATUSCLR_DTGLOUT; // clear stall & dtoggle
ep->EPINTENSET.bit.TRCPT0 = true;
}else
{
ep->EPCFG.bit.EPTYPE1 = desc_edpt->bmAttributes.xfer + 1;
ep->EPSTATUSCLR.reg = USB_DEVICE_EPSTATUSCLR_STALLRQ1 | USB_DEVICE_EPSTATUSCLR_DTGLIN; // clear stall & dtoggle
ep->EPINTENSET.bit.TRCPT1 = true;
}