Merge branch 'master' into refactor-irqhandler

This commit is contained in:
Ha Thach
2020-04-09 11:22:20 +07:00
committed by GitHub
9 changed files with 59 additions and 18 deletions

View File

@@ -590,7 +590,7 @@ bool usbtmcd_control_request_cb(uint8_t rhport, tusb_control_request_t const * r
criticalEnter();
usbtmc_state.state = STATE_NAK; // USBD core has placed EP in NAK state for us
criticalLeave();
tud_usmtmc_bulkOut_clearFeature_cb();
tud_usbtmc_bulkOut_clearFeature_cb();
}
else if (ep_addr == usbtmc_state.ep_bulk_in)
{

View File

@@ -69,7 +69,7 @@ void tud_usbtmc_open_cb(uint8_t interface_id);
bool tud_usbtmc_msgBulkOut_start_cb(usbtmc_msg_request_dev_dep_out const * msgHeader);
// transfer_complete does not imply that a message is complete.
bool tud_usbtmc_msg_data_cb( void *data, size_t len, bool transfer_complete);
void tud_usmtmc_bulkOut_clearFeature_cb(void); // Notice to clear and abort the pending BULK out transfer
void tud_usbtmc_bulkOut_clearFeature_cb(void); // Notice to clear and abort the pending BULK out transfer
bool tud_usbtmc_msgBulkIn_request_cb(usbtmc_msg_request_dev_dep_in const * request);
bool tud_usbtmc_msgBulkIn_complete_cb(void);

View File

@@ -79,8 +79,8 @@
#define _MESS_ERR(_err) printf("%s %d: failed, error = %s\r\n", __func__, __LINE__, tusb_strerr[_err])
#define _MESS_FAILED() printf("%s %d: assert failed\r\n", __func__, __LINE__)
#else
#define _MESS_ERR(_err)
#define _MESS_FAILED()
#define _MESS_ERR(_err) do {} while (0)
#define _MESS_FAILED() do {} while (0)
#endif
// Halt CPU (breakpoint) when hitting error, only apply for Cortex M3, M4, M7
@@ -94,7 +94,7 @@
#if defined(__riscv)
#define TU_BREAKPOINT() do { __asm("ebreak\n"); } while(0)
#else
#define TU_BREAKPOINT()
#define TU_BREAKPOINT() do {} while (0)
#endif
#endif

View File

@@ -36,12 +36,12 @@
#include "common/tusb_common.h"
enum
{
OSAL_TIMEOUT_NOTIMEOUT = 0, // return immediately
OSAL_TIMEOUT_NORMAL = 10, // default timeout
OSAL_TIMEOUT_WAIT_FOREVER = 0xFFFFFFFFUL
};
// Return immediately
#define OSAL_TIMEOUT_NOTIMEOUT (0)
// Default timeout
#define OSAL_TIMEOUT_NORMAL (10)
// Wait forever
#define OSAL_TIMEOUT_WAIT_FOREVER (UINT32_MAX)
#define OSAL_TIMEOUT_CONTROL_XFER OSAL_TIMEOUT_WAIT_FOREVER

View File

@@ -426,4 +426,16 @@ void dcd_irq_handler(uint8_t rhport)
USBD->INTSTS = status & enabled_irqs;
}
void dcd_disconnect(uint8_t rhport)
{
(void) rhport;
usb_detach();
}
void dcd_connect(uint8_t rhport)
{
(void) rhport;
usb_attach();
}
#endif

View File

@@ -442,4 +442,16 @@ void dcd_irq_handler(uint8_t rhport)
USBD->INTSTS = status & enabled_irqs;
}
void dcd_disconnect(uint8_t rhport)
{
(void) rhport;
usb_detach();
}
void dcd_connect(uint8_t rhport)
{
(void) rhport;
usb_attach();
}
#endif

View File

@@ -126,6 +126,11 @@ static void usb_attach(void)
USBD->PHYCTL |= USBD_PHYCTL_DPPUEN_Msk;
}
static void usb_detach(void)
{
USBD->PHYCTL &= ~USBD_PHYCTL_DPPUEN_Msk;
}
static void usb_control_send_zlp(void)
{
USBD->CEPINTSTS = USBD_CEPINTSTS_STSDONEIF_Msk;
@@ -643,4 +648,16 @@ void dcd_irq_handler(uint8_t rhport)
}
}
void dcd_disconnect(uint8_t rhport)
{
(void) rhport;
usb_detach();
}
void dcd_connect(uint8_t rhport)
{
(void) rhport;
usb_attach();
}
#endif