fsdev: remove unused _setup_packet
This commit is contained in:
@@ -168,11 +168,8 @@ typedef struct {
|
|||||||
} ep_alloc_t;
|
} ep_alloc_t;
|
||||||
|
|
||||||
static xfer_ctl_t xfer_status[CFG_TUD_ENDPPOINT_MAX][2];
|
static xfer_ctl_t xfer_status[CFG_TUD_ENDPPOINT_MAX][2];
|
||||||
|
|
||||||
static ep_alloc_t ep_alloc_status[FSDEV_EP_COUNT];
|
static ep_alloc_t ep_alloc_status[FSDEV_EP_COUNT];
|
||||||
|
|
||||||
static TU_ATTR_ALIGNED(4) uint32_t _setup_packet[6];
|
|
||||||
|
|
||||||
static uint8_t remoteWakeCountdown; // When wake is requested
|
static uint8_t remoteWakeCountdown; // When wake is requested
|
||||||
|
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
@@ -386,18 +383,28 @@ static void dcd_ep_ctr_rx_handler(uint32_t wIstr)
|
|||||||
// Verify the CTR_RX bit is set. This was in the ST Micro code,
|
// Verify the CTR_RX bit is set. This was in the ST Micro code,
|
||||||
// but I'm not sure it's actually necessary?
|
// but I'm not sure it's actually necessary?
|
||||||
if ((wEPRegVal & USB_EP_CTR_RX) == 0U) {
|
if ((wEPRegVal & USB_EP_CTR_RX) == 0U) {
|
||||||
// TU_ASSERT(false, );
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((ep_addr == 0U) && ((wEPRegVal & USB_EP_SETUP) != 0U)) {
|
if (wEPRegVal & USB_EP_SETUP) {
|
||||||
/* Setup packet */
|
/* Setup packet */
|
||||||
uint32_t count = pcd_get_ep_rx_cnt(USB, EPindex);
|
uint32_t count = pcd_get_ep_rx_cnt(USB, EPindex);
|
||||||
// Setup packet should always be 8 bytes. If not, ignore it, and try again.
|
// Setup packet should always be 8 bytes. If not, ignore it, and try again.
|
||||||
if (count == 8) {
|
if (count == 8) {
|
||||||
// Must reset EP to NAK (in case it had been stalling) (though, maybe too late here)
|
// Must reset EP to NAK (in case it had been stalling)
|
||||||
pcd_set_ep_rx_status(USB, 0u, USB_EP_RX_NAK);
|
pcd_set_ep_rx_status(USB, 0u, USB_EP_RX_NAK);
|
||||||
pcd_set_ep_tx_status(USB, 0u, USB_EP_TX_NAK);
|
pcd_set_ep_tx_status(USB, 0u, USB_EP_TX_NAK);
|
||||||
|
|
||||||
|
// set both data toggle to 1
|
||||||
|
uint32_t regVal = pcd_get_endpoint(USB, 0);
|
||||||
|
if ((regVal & USB_EP_DTOG_TX) == 0) {
|
||||||
|
pcd_tx_dtog(USB, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((regVal & USB_EP_DTOG_RX) == 0) {
|
||||||
|
pcd_rx_dtog(USB, 0);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef FSDEV_BUS_32BIT
|
#ifdef FSDEV_BUS_32BIT
|
||||||
dcd_event_setup_received(0, (uint8_t *)(USB_PMAADDR + pcd_get_ep_rx_address(USB, EPindex)), true);
|
dcd_event_setup_received(0, (uint8_t *)(USB_PMAADDR + pcd_get_ep_rx_address(USB, EPindex)), true);
|
||||||
#else
|
#else
|
||||||
@@ -405,17 +412,14 @@ static void dcd_ep_ctr_rx_handler(uint32_t wIstr)
|
|||||||
// user memory, to allow for the 32-bit access that memcpy performs.
|
// user memory, to allow for the 32-bit access that memcpy performs.
|
||||||
uint8_t userMemBuf[8];
|
uint8_t userMemBuf[8];
|
||||||
dcd_read_packet_memory(userMemBuf, pcd_get_ep_rx_address(USB, EPindex), 8);
|
dcd_read_packet_memory(userMemBuf, pcd_get_ep_rx_address(USB, EPindex), 8);
|
||||||
dcd_event_setup_received(0, (uint8_t *)userMemBuf, true);
|
dcd_event_setup_received(0, (uint8_t*) userMemBuf, true);
|
||||||
#endif
|
#endif
|
||||||
} else {
|
|
||||||
TU_BREAKPOINT();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Clear RX CTR interrupt flag
|
// Clear RX CTR interrupt flag
|
||||||
if (ep_addr != 0u) {
|
if (ep_addr != 0u) {
|
||||||
pcd_clear_rx_ep_ctr(USB, EPindex);
|
pcd_clear_rx_ep_ctr(USB, EPindex);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t count;
|
uint32_t count;
|
||||||
uint16_t addr;
|
uint16_t addr;
|
||||||
/* Read from correct register when ISOCHRONOUS (double buffered) */
|
/* Read from correct register when ISOCHRONOUS (double buffered) */
|
||||||
@@ -553,18 +557,14 @@ void dcd_int_handler(uint8_t rhport) {
|
|||||||
|
|
||||||
// Invoked when a control transfer's status stage is complete.
|
// Invoked when a control transfer's status stage is complete.
|
||||||
// May help DCD to prepare for next control transfer, this API is optional.
|
// May help DCD to prepare for next control transfer, this API is optional.
|
||||||
void dcd_edpt0_status_complete(uint8_t rhport, tusb_control_request_t const *request)
|
void dcd_edpt0_status_complete(uint8_t rhport, tusb_control_request_t const *request) {
|
||||||
{
|
|
||||||
(void)rhport;
|
(void)rhport;
|
||||||
|
|
||||||
if (request->bmRequestType_bit.recipient == TUSB_REQ_RCPT_DEVICE &&
|
if (request->bmRequestType_bit.recipient == TUSB_REQ_RCPT_DEVICE &&
|
||||||
request->bmRequestType_bit.type == TUSB_REQ_TYPE_STANDARD &&
|
request->bmRequestType_bit.type == TUSB_REQ_TYPE_STANDARD &&
|
||||||
request->bRequest == TUSB_REQ_SET_ADDRESS) {
|
request->bRequest == TUSB_REQ_SET_ADDRESS) {
|
||||||
uint8_t const dev_addr = (uint8_t)request->wValue;
|
uint8_t const dev_addr = (uint8_t)request->wValue;
|
||||||
|
USB->DADDR = (USB_DADDR_EF | dev_addr);
|
||||||
// Setting new address after the whole request is complete
|
|
||||||
USB->DADDR &= ~USB_DADDR_ADD;
|
|
||||||
USB->DADDR |= dev_addr; // leave the enable bit set
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -834,12 +834,6 @@ static bool edpt_xfer(uint8_t rhport, uint8_t ep_addr)
|
|||||||
if (dir == TUSB_DIR_IN) {
|
if (dir == TUSB_DIR_IN) {
|
||||||
dcd_transmit_packet(xfer, ep_idx);
|
dcd_transmit_packet(xfer, ep_idx);
|
||||||
} else {
|
} else {
|
||||||
// A setup token can occur immediately after an OUT STATUS packet so make sure we have a valid
|
|
||||||
// buffer for the control endpoint.
|
|
||||||
if (ep_idx == 0 && xfer->buffer == NULL) {
|
|
||||||
xfer->buffer = (uint8_t *)_setup_packet;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t cnt = (uint32_t ) tu_min16(xfer->total_len, xfer->max_packet_size);
|
uint32_t cnt = (uint32_t ) tu_min16(xfer->total_len, xfer->max_packet_size);
|
||||||
uint16_t ep_reg = pcd_get_endpoint(USB, ep_idx);
|
uint16_t ep_reg = pcd_get_endpoint(USB, ep_idx);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user