update tinyusb to latest for scsi write10 complete fix

This commit is contained in:
hathach 2019-02-22 14:46:16 +07:00
parent 9ed3f5ea32
commit 57aa554430
5 changed files with 15 additions and 27 deletions

1
.gitmodules vendored
View File

@ -1,7 +1,6 @@
[submodule "tinyusb"] [submodule "tinyusb"]
path = lib/tinyusb path = lib/tinyusb
url = https://github.com/hathach/tinyusb.git url = https://github.com/hathach/tinyusb.git
branch = develop
[submodule "lib/nrfx"] [submodule "lib/nrfx"]
path = lib/nrfx path = lib/nrfx
url = https://github.com/NordicSemiconductor/nrfx.git url = https://github.com/NordicSemiconductor/nrfx.git

View File

@ -130,9 +130,9 @@ static void wait_for_events(void)
#ifdef NRF52840_XXAA #ifdef NRF52840_XXAA
// skip if usb is not inited ( e.g OTA / finializing sd/bootloader ) // skip if usb is not inited ( e.g OTA / finializing sd/bootloader )
extern bool usb_inited(void); extern bool usb_inited(void);
if ( usb_inited() ) if ( tusb_inited() )
{ {
tusb_task(); tud_task();
tud_cdc_write_flush(); tud_cdc_write_flush();
} }
#endif #endif

@ -1 +1 @@
Subproject commit a1c596490aa40863cd5f1e36a821157ffeab2af6 Subproject commit 55874813f82157b7509729b1a0c66e68f86e2d07

View File

@ -63,22 +63,9 @@ extern uint16_t usb_desc_str_serial[1+16];
* We must call it within SD's SOC event handler, or set it as power event handler if SD is not enabled. */ * We must call it within SD's SOC event handler, or set it as power event handler if SD is not enabled. */
extern void tusb_hal_nrf_power_event(uint32_t event); extern void tusb_hal_nrf_power_event(uint32_t event);
//------------- IMPLEMENTATION -------------// //------------- IMPLEMENTATION -------------//
static bool _inited = false;
bool usb_inited(void)
{
return _inited;
}
void usb_init(bool cdc_only) void usb_init(bool cdc_only)
{ {
// skipped if already inited
if ( _inited ) return;
_inited = true;
NVIC_SetPriority(USBD_IRQn, 2); NVIC_SetPriority(USBD_IRQn, 2);
// USB power may already be ready at this time -> no event generated // USB power may already be ready at this time -> no event generated

View File

@ -59,19 +59,21 @@ enum {
}; };
/*------------- Endpoint Numbering & Size -------------*/ /*------------- Endpoint Numbering & Size -------------*/
#define _EP_IN(x) (0x80 | (x)) #define _EP_IN(x) (0x80 | (x))
#define _EP_OUT(x) (x) #define _EP_OUT(x) (x)
// CDC // CDC
#define EP_CDC_NOTIF _EP_IN ( ITF_NUM_CDC+1 ) #define EP_CDC_NOTIF _EP_IN ( ITF_NUM_CDC+1 )
#define EP_CDC_NOTIF_SIZE 8 #define EP_CDC_NOTIF_SIZE 8
#define EP_CDC_OUT _EP_OUT( ITF_NUM_CDC+2 ) #define EP_CDC_OUT _EP_OUT( ITF_NUM_CDC+2 )
#define EP_CDC_IN _EP_IN ( ITF_NUM_CDC+2 ) #define EP_CDC_IN _EP_IN ( ITF_NUM_CDC+2 )
// Mass Storage // Mass Storage
#define EP_MSC_OUT _EP_OUT( ITF_NUM_MSC+1 ) #define EP_MSC_OUT _EP_OUT( ITF_NUM_MSC+1 )
#define EP_MSC_IN _EP_IN ( ITF_NUM_MSC+1 ) #define EP_MSC_IN _EP_IN ( ITF_NUM_MSC+1 )
#define EP_MSC_SIZE 64
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
// STRING DESCRIPTORS // STRING DESCRIPTORS
@ -280,7 +282,7 @@ usb_desc_cfg_t usb_desc_cfg =
.bDescriptorType = TUSB_DESC_ENDPOINT, .bDescriptorType = TUSB_DESC_ENDPOINT,
.bEndpointAddress = EP_MSC_OUT, .bEndpointAddress = EP_MSC_OUT,
.bmAttributes = { .xfer = TUSB_XFER_BULK }, .bmAttributes = { .xfer = TUSB_XFER_BULK },
.wMaxPacketSize = { .size = CFG_TUD_MSC_EPSIZE}, .wMaxPacketSize = { .size = EP_MSC_SIZE},
.bInterval = 1 .bInterval = 1
}, },
@ -290,7 +292,7 @@ usb_desc_cfg_t usb_desc_cfg =
.bDescriptorType = TUSB_DESC_ENDPOINT, .bDescriptorType = TUSB_DESC_ENDPOINT,
.bEndpointAddress = EP_MSC_IN, .bEndpointAddress = EP_MSC_IN,
.bmAttributes = { .xfer = TUSB_XFER_BULK }, .bmAttributes = { .xfer = TUSB_XFER_BULK },
.wMaxPacketSize = { .size = CFG_TUD_MSC_EPSIZE}, .wMaxPacketSize = { .size = EP_MSC_SIZE },
.bInterval = 1 .bInterval = 1
} }
} }