fix(class): use different buffer for cdc_acm,hid,msc,serial
This commit is contained in:
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
#define DEV_FORMAT "/dev/ttyACM%d"
|
#define DEV_FORMAT "/dev/ttyACM%d"
|
||||||
|
|
||||||
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t g_cdc_acm_buf[64];
|
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t g_cdc_acm_buf[CONFIG_USBHOST_MAX_CDC_ACM_CLASS][USB_ALIGN_UP(64, CONFIG_USB_ALIGN_SIZE)];
|
||||||
|
|
||||||
static struct usbh_cdc_acm g_cdc_acm_class[CONFIG_USBHOST_MAX_CDC_ACM_CLASS];
|
static struct usbh_cdc_acm g_cdc_acm_class[CONFIG_USBHOST_MAX_CDC_ACM_CLASS];
|
||||||
static uint32_t g_devinuse = 0;
|
static uint32_t g_devinuse = 0;
|
||||||
@@ -57,9 +57,9 @@ int usbh_cdc_acm_set_line_coding(struct usbh_cdc_acm *cdc_acm_class, struct cdc_
|
|||||||
setup->wIndex = cdc_acm_class->intf;
|
setup->wIndex = cdc_acm_class->intf;
|
||||||
setup->wLength = 7;
|
setup->wLength = 7;
|
||||||
|
|
||||||
memcpy(g_cdc_acm_buf, line_coding, sizeof(struct cdc_line_coding));
|
memcpy(g_cdc_acm_buf[cdc_acm_class->minor], line_coding, sizeof(struct cdc_line_coding));
|
||||||
|
|
||||||
return usbh_control_transfer(cdc_acm_class->hport, setup, g_cdc_acm_buf);
|
return usbh_control_transfer(cdc_acm_class->hport, setup, g_cdc_acm_buf[cdc_acm_class->minor]);
|
||||||
}
|
}
|
||||||
|
|
||||||
int usbh_cdc_acm_get_line_coding(struct usbh_cdc_acm *cdc_acm_class, struct cdc_line_coding *line_coding)
|
int usbh_cdc_acm_get_line_coding(struct usbh_cdc_acm *cdc_acm_class, struct cdc_line_coding *line_coding)
|
||||||
@@ -78,11 +78,11 @@ int usbh_cdc_acm_get_line_coding(struct usbh_cdc_acm *cdc_acm_class, struct cdc_
|
|||||||
setup->wIndex = cdc_acm_class->intf;
|
setup->wIndex = cdc_acm_class->intf;
|
||||||
setup->wLength = 7;
|
setup->wLength = 7;
|
||||||
|
|
||||||
ret = usbh_control_transfer(cdc_acm_class->hport, setup, g_cdc_acm_buf);
|
ret = usbh_control_transfer(cdc_acm_class->hport, setup, g_cdc_acm_buf[cdc_acm_class->minor]);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
memcpy(line_coding, g_cdc_acm_buf, sizeof(struct cdc_line_coding));
|
memcpy(line_coding, g_cdc_acm_buf[cdc_acm_class->minor], sizeof(struct cdc_line_coding));
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
#define DEV_FORMAT "/dev/input%d"
|
#define DEV_FORMAT "/dev/input%d"
|
||||||
|
|
||||||
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t g_hid_buf[128];
|
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t g_hid_buf[CONFIG_USBHOST_MAX_HID_CLASS][USB_ALIGN_UP(256, CONFIG_USB_ALIGN_SIZE)];
|
||||||
|
|
||||||
static struct usbh_hid g_hid_class[CONFIG_USBHOST_MAX_HID_CLASS];
|
static struct usbh_hid g_hid_class[CONFIG_USBHOST_MAX_HID_CLASS];
|
||||||
static uint32_t g_devinuse = 0;
|
static uint32_t g_devinuse = 0;
|
||||||
@@ -58,11 +58,11 @@ static int usbh_hid_get_report_descriptor(struct usbh_hid *hid_class, uint8_t *b
|
|||||||
setup->wIndex = hid_class->intf;
|
setup->wIndex = hid_class->intf;
|
||||||
setup->wLength = 128;
|
setup->wLength = 128;
|
||||||
|
|
||||||
ret = usbh_control_transfer(hid_class->hport, setup, g_hid_buf);
|
ret = usbh_control_transfer(hid_class->hport, setup, g_hid_buf[hid_class->minor]);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
memcpy(buffer, g_hid_buf, ret - 8);
|
memcpy(buffer, g_hid_buf[hid_class->minor], ret - 8);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -100,11 +100,11 @@ int usbh_hid_get_idle(struct usbh_hid *hid_class, uint8_t *buffer)
|
|||||||
setup->wIndex = hid_class->intf;
|
setup->wIndex = hid_class->intf;
|
||||||
setup->wLength = 1;
|
setup->wLength = 1;
|
||||||
|
|
||||||
ret = usbh_control_transfer(hid_class->hport, setup, g_hid_buf);
|
ret = usbh_control_transfer(hid_class->hport, setup, g_hid_buf[hid_class->minor]);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
memcpy(buffer, g_hid_buf, 1);
|
memcpy(buffer, g_hid_buf[hid_class->minor], ret - 8);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -147,6 +147,7 @@ int usbh_hid_set_report(struct usbh_hid *hid_class, uint8_t report_type, uint8_t
|
|||||||
int usbh_hid_get_report(struct usbh_hid *hid_class, uint8_t report_type, uint8_t report_id, uint8_t *buffer, uint32_t buflen)
|
int usbh_hid_get_report(struct usbh_hid *hid_class, uint8_t report_type, uint8_t report_id, uint8_t *buffer, uint32_t buflen)
|
||||||
{
|
{
|
||||||
struct usb_setup_packet *setup;
|
struct usb_setup_packet *setup;
|
||||||
|
int ret;
|
||||||
|
|
||||||
if (!hid_class || !hid_class->hport) {
|
if (!hid_class || !hid_class->hport) {
|
||||||
return -USB_ERR_INVAL;
|
return -USB_ERR_INVAL;
|
||||||
@@ -159,7 +160,12 @@ int usbh_hid_get_report(struct usbh_hid *hid_class, uint8_t report_type, uint8_t
|
|||||||
setup->wIndex = 0;
|
setup->wIndex = 0;
|
||||||
setup->wLength = buflen;
|
setup->wLength = buflen;
|
||||||
|
|
||||||
return usbh_control_transfer(hid_class->hport, setup, buffer);
|
ret = usbh_control_transfer(hid_class->hport, setup, g_hid_buf[hid_class->minor]);
|
||||||
|
if (ret < 0) {
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
memcpy(buffer, g_hid_buf[hid_class->minor], ret - 8);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int usbh_hid_connect(struct usbh_hubport *hport, uint8_t intf)
|
int usbh_hid_connect(struct usbh_hubport *hport, uint8_t intf)
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
#define MSC_INQUIRY_TIMEOUT 500
|
#define MSC_INQUIRY_TIMEOUT 500
|
||||||
|
|
||||||
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t g_msc_buf[64];
|
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t g_msc_buf[CONFIG_USBHOST_MAX_MSC_CLASS][USB_ALIGN_UP(64, CONFIG_USB_ALIGN_SIZE)];
|
||||||
|
|
||||||
static struct usbh_msc g_msc_class[CONFIG_USBHOST_MAX_MSC_CLASS];
|
static struct usbh_msc g_msc_class[CONFIG_USBHOST_MAX_MSC_CLASS];
|
||||||
static uint32_t g_devinuse = 0;
|
static uint32_t g_devinuse = 0;
|
||||||
@@ -182,14 +182,14 @@ static inline int usbh_msc_scsi_testunitready(struct usbh_msc *msc_class)
|
|||||||
struct CBW *cbw;
|
struct CBW *cbw;
|
||||||
|
|
||||||
/* Construct the CBW */
|
/* Construct the CBW */
|
||||||
cbw = (struct CBW *)g_msc_buf;
|
cbw = (struct CBW *)g_msc_buf[msc_class->sdchar - 'a'];
|
||||||
memset(cbw, 0, USB_SIZEOF_MSC_CBW);
|
memset(cbw, 0, USB_SIZEOF_MSC_CBW);
|
||||||
cbw->dSignature = MSC_CBW_Signature;
|
cbw->dSignature = MSC_CBW_Signature;
|
||||||
|
|
||||||
cbw->bCBLength = SCSICMD_TESTUNITREADY_SIZEOF;
|
cbw->bCBLength = SCSICMD_TESTUNITREADY_SIZEOF;
|
||||||
cbw->CB[0] = SCSI_CMD_TESTUNITREADY;
|
cbw->CB[0] = SCSI_CMD_TESTUNITREADY;
|
||||||
|
|
||||||
return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, NULL, MSC_INQUIRY_TIMEOUT);
|
return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf[msc_class->sdchar - 'a'], NULL, MSC_INQUIRY_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int usbh_msc_scsi_requestsense(struct usbh_msc *msc_class)
|
static inline int usbh_msc_scsi_requestsense(struct usbh_msc *msc_class)
|
||||||
@@ -197,7 +197,7 @@ static inline int usbh_msc_scsi_requestsense(struct usbh_msc *msc_class)
|
|||||||
struct CBW *cbw;
|
struct CBW *cbw;
|
||||||
|
|
||||||
/* Construct the CBW */
|
/* Construct the CBW */
|
||||||
cbw = (struct CBW *)g_msc_buf;
|
cbw = (struct CBW *)g_msc_buf[msc_class->sdchar - 'a'];
|
||||||
memset(cbw, 0, USB_SIZEOF_MSC_CBW);
|
memset(cbw, 0, USB_SIZEOF_MSC_CBW);
|
||||||
cbw->dSignature = MSC_CBW_Signature;
|
cbw->dSignature = MSC_CBW_Signature;
|
||||||
|
|
||||||
@@ -207,7 +207,7 @@ static inline int usbh_msc_scsi_requestsense(struct usbh_msc *msc_class)
|
|||||||
cbw->CB[0] = SCSI_CMD_REQUESTSENSE;
|
cbw->CB[0] = SCSI_CMD_REQUESTSENSE;
|
||||||
cbw->CB[4] = SCSIRESP_FIXEDSENSEDATA_SIZEOF;
|
cbw->CB[4] = SCSIRESP_FIXEDSENSEDATA_SIZEOF;
|
||||||
|
|
||||||
return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, g_msc_buf, MSC_INQUIRY_TIMEOUT);
|
return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf[msc_class->sdchar - 'a'], g_msc_buf[msc_class->sdchar - 'a'], MSC_INQUIRY_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int usbh_msc_scsi_inquiry(struct usbh_msc *msc_class)
|
static inline int usbh_msc_scsi_inquiry(struct usbh_msc *msc_class)
|
||||||
@@ -215,7 +215,7 @@ static inline int usbh_msc_scsi_inquiry(struct usbh_msc *msc_class)
|
|||||||
struct CBW *cbw;
|
struct CBW *cbw;
|
||||||
|
|
||||||
/* Construct the CBW */
|
/* Construct the CBW */
|
||||||
cbw = (struct CBW *)g_msc_buf;
|
cbw = (struct CBW *)g_msc_buf[msc_class->sdchar - 'a'];
|
||||||
memset(cbw, 0, USB_SIZEOF_MSC_CBW);
|
memset(cbw, 0, USB_SIZEOF_MSC_CBW);
|
||||||
cbw->dSignature = MSC_CBW_Signature;
|
cbw->dSignature = MSC_CBW_Signature;
|
||||||
|
|
||||||
@@ -225,7 +225,7 @@ static inline int usbh_msc_scsi_inquiry(struct usbh_msc *msc_class)
|
|||||||
cbw->CB[0] = SCSI_CMD_INQUIRY;
|
cbw->CB[0] = SCSI_CMD_INQUIRY;
|
||||||
cbw->CB[4] = SCSIRESP_INQUIRY_SIZEOF;
|
cbw->CB[4] = SCSIRESP_INQUIRY_SIZEOF;
|
||||||
|
|
||||||
return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, g_msc_buf, MSC_INQUIRY_TIMEOUT);
|
return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf[msc_class->sdchar - 'a'], g_msc_buf[msc_class->sdchar - 'a'], MSC_INQUIRY_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int usbh_msc_scsi_readcapacity10(struct usbh_msc *msc_class)
|
static inline int usbh_msc_scsi_readcapacity10(struct usbh_msc *msc_class)
|
||||||
@@ -233,7 +233,7 @@ static inline int usbh_msc_scsi_readcapacity10(struct usbh_msc *msc_class)
|
|||||||
struct CBW *cbw;
|
struct CBW *cbw;
|
||||||
|
|
||||||
/* Construct the CBW */
|
/* Construct the CBW */
|
||||||
cbw = (struct CBW *)g_msc_buf;
|
cbw = (struct CBW *)g_msc_buf[msc_class->sdchar - 'a'];
|
||||||
memset(cbw, 0, USB_SIZEOF_MSC_CBW);
|
memset(cbw, 0, USB_SIZEOF_MSC_CBW);
|
||||||
cbw->dSignature = MSC_CBW_Signature;
|
cbw->dSignature = MSC_CBW_Signature;
|
||||||
|
|
||||||
@@ -242,7 +242,7 @@ static inline int usbh_msc_scsi_readcapacity10(struct usbh_msc *msc_class)
|
|||||||
cbw->bCBLength = SCSICMD_READCAPACITY10_SIZEOF;
|
cbw->bCBLength = SCSICMD_READCAPACITY10_SIZEOF;
|
||||||
cbw->CB[0] = SCSI_CMD_READCAPACITY10;
|
cbw->CB[0] = SCSI_CMD_READCAPACITY10;
|
||||||
|
|
||||||
return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, g_msc_buf, MSC_INQUIRY_TIMEOUT);
|
return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf[msc_class->sdchar - 'a'], g_msc_buf[msc_class->sdchar - 'a'], MSC_INQUIRY_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void usbh_msc_modeswitch(struct usbh_msc *msc_class, const uint8_t *message)
|
static inline void usbh_msc_modeswitch(struct usbh_msc *msc_class, const uint8_t *message)
|
||||||
@@ -250,11 +250,11 @@ static inline void usbh_msc_modeswitch(struct usbh_msc *msc_class, const uint8_t
|
|||||||
struct CBW *cbw;
|
struct CBW *cbw;
|
||||||
|
|
||||||
/* Construct the CBW */
|
/* Construct the CBW */
|
||||||
cbw = (struct CBW *)g_msc_buf;
|
cbw = (struct CBW *)g_msc_buf[msc_class->sdchar - 'a'];
|
||||||
|
|
||||||
memcpy(g_msc_buf, message, 31);
|
memcpy(g_msc_buf[msc_class->sdchar - 'a'], message, 31);
|
||||||
|
|
||||||
usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, NULL, MSC_INQUIRY_TIMEOUT);
|
usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf[msc_class->sdchar - 'a'], NULL, MSC_INQUIRY_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int usbh_msc_connect(struct usbh_hubport *hport, uint8_t intf)
|
static int usbh_msc_connect(struct usbh_hubport *hport, uint8_t intf)
|
||||||
@@ -274,12 +274,12 @@ static int usbh_msc_connect(struct usbh_hubport *hport, uint8_t intf)
|
|||||||
|
|
||||||
hport->config.intf[intf].priv = msc_class;
|
hport->config.intf[intf].priv = msc_class;
|
||||||
|
|
||||||
ret = usbh_msc_get_maxlun(msc_class, g_msc_buf);
|
ret = usbh_msc_get_maxlun(msc_class, g_msc_buf[msc_class->sdchar - 'a']);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
USB_LOG_INFO("Get max LUN:%u\r\n", g_msc_buf[0] + 1);
|
USB_LOG_INFO("Get max LUN:%u\r\n", g_msc_buf[msc_class->sdchar - 'a'][0] + 1);
|
||||||
|
|
||||||
for (uint8_t i = 0; i < hport->config.intf[intf].altsetting[0].intf_desc.bNumEndpoints; i++) {
|
for (uint8_t i = 0; i < hport->config.intf[intf].altsetting[0].intf_desc.bNumEndpoints; i++) {
|
||||||
ep_desc = &hport->config.intf[intf].altsetting[0].ep[i].ep_desc;
|
ep_desc = &hport->config.intf[intf].altsetting[0].ep[i].ep_desc;
|
||||||
@@ -376,7 +376,7 @@ int usbh_msc_scsi_write10(struct usbh_msc *msc_class, uint32_t start_sector, con
|
|||||||
struct CBW *cbw;
|
struct CBW *cbw;
|
||||||
|
|
||||||
/* Construct the CBW */
|
/* Construct the CBW */
|
||||||
cbw = (struct CBW *)g_msc_buf;
|
cbw = (struct CBW *)g_msc_buf[msc_class->sdchar - 'a'];
|
||||||
memset(cbw, 0, USB_SIZEOF_MSC_CBW);
|
memset(cbw, 0, USB_SIZEOF_MSC_CBW);
|
||||||
cbw->dSignature = MSC_CBW_Signature;
|
cbw->dSignature = MSC_CBW_Signature;
|
||||||
|
|
||||||
@@ -387,7 +387,7 @@ int usbh_msc_scsi_write10(struct usbh_msc *msc_class, uint32_t start_sector, con
|
|||||||
SET_BE32(&cbw->CB[2], start_sector);
|
SET_BE32(&cbw->CB[2], start_sector);
|
||||||
SET_BE16(&cbw->CB[7], nsectors);
|
SET_BE16(&cbw->CB[7], nsectors);
|
||||||
|
|
||||||
return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, (uint8_t *)buffer, CONFIG_USBHOST_MSC_TIMEOUT);
|
return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf[msc_class->sdchar - 'a'], (uint8_t *)buffer, CONFIG_USBHOST_MSC_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
int usbh_msc_scsi_read10(struct usbh_msc *msc_class, uint32_t start_sector, const uint8_t *buffer, uint32_t nsectors)
|
int usbh_msc_scsi_read10(struct usbh_msc *msc_class, uint32_t start_sector, const uint8_t *buffer, uint32_t nsectors)
|
||||||
@@ -395,7 +395,7 @@ int usbh_msc_scsi_read10(struct usbh_msc *msc_class, uint32_t start_sector, cons
|
|||||||
struct CBW *cbw;
|
struct CBW *cbw;
|
||||||
|
|
||||||
/* Construct the CBW */
|
/* Construct the CBW */
|
||||||
cbw = (struct CBW *)g_msc_buf;
|
cbw = (struct CBW *)g_msc_buf[msc_class->sdchar - 'a'];
|
||||||
memset(cbw, 0, USB_SIZEOF_MSC_CBW);
|
memset(cbw, 0, USB_SIZEOF_MSC_CBW);
|
||||||
cbw->dSignature = MSC_CBW_Signature;
|
cbw->dSignature = MSC_CBW_Signature;
|
||||||
|
|
||||||
@@ -407,7 +407,7 @@ int usbh_msc_scsi_read10(struct usbh_msc *msc_class, uint32_t start_sector, cons
|
|||||||
SET_BE32(&cbw->CB[2], start_sector);
|
SET_BE32(&cbw->CB[2], start_sector);
|
||||||
SET_BE16(&cbw->CB[7], nsectors);
|
SET_BE16(&cbw->CB[7], nsectors);
|
||||||
|
|
||||||
return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, (uint8_t *)buffer, CONFIG_USBHOST_MSC_TIMEOUT);
|
return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf[msc_class->sdchar - 'a'], (uint8_t *)buffer, CONFIG_USBHOST_MSC_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
void usbh_msc_modeswitch_enable(struct usbh_msc_modeswitch_config *config)
|
void usbh_msc_modeswitch_enable(struct usbh_msc_modeswitch_config *config)
|
||||||
|
|||||||
2
class/vendor/serial/usbh_cp210x.c
vendored
2
class/vendor/serial/usbh_cp210x.c
vendored
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t g_cp210x_buf[64];
|
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t g_cp210x_buf[64];
|
||||||
|
|
||||||
#define CONFIG_USBHOST_MAX_CP210X_CLASS 4
|
#define CONFIG_USBHOST_MAX_CP210X_CLASS 1
|
||||||
|
|
||||||
static struct usbh_cp210x g_cp210x_class[CONFIG_USBHOST_MAX_CP210X_CLASS];
|
static struct usbh_cp210x g_cp210x_class[CONFIG_USBHOST_MAX_CP210X_CLASS];
|
||||||
static uint32_t g_devinuse = 0;
|
static uint32_t g_devinuse = 0;
|
||||||
|
|||||||
2
class/vendor/serial/usbh_ftdi.c
vendored
2
class/vendor/serial/usbh_ftdi.c
vendored
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t g_ftdi_buf[64];
|
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t g_ftdi_buf[64];
|
||||||
|
|
||||||
#define CONFIG_USBHOST_MAX_FTDI_CLASS 4
|
#define CONFIG_USBHOST_MAX_FTDI_CLASS 1
|
||||||
|
|
||||||
static struct usbh_ftdi g_ftdi_class[CONFIG_USBHOST_MAX_FTDI_CLASS];
|
static struct usbh_ftdi g_ftdi_class[CONFIG_USBHOST_MAX_FTDI_CLASS];
|
||||||
static uint32_t g_devinuse = 0;
|
static uint32_t g_devinuse = 0;
|
||||||
|
|||||||
2
class/vendor/serial/usbh_pl2303.c
vendored
2
class/vendor/serial/usbh_pl2303.c
vendored
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t g_pl2303_buf[64];
|
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t g_pl2303_buf[64];
|
||||||
|
|
||||||
#define CONFIG_USBHOST_MAX_PL2303_CLASS 4
|
#define CONFIG_USBHOST_MAX_PL2303_CLASS 1
|
||||||
|
|
||||||
#define UT_WRITE_VENDOR_DEVICE (USB_REQUEST_DIR_OUT | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_DEVICE)
|
#define UT_WRITE_VENDOR_DEVICE (USB_REQUEST_DIR_OUT | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_DEVICE)
|
||||||
#define UT_READ_VENDOR_DEVICE (USB_REQUEST_DIR_IN | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_DEVICE)
|
#define UT_READ_VENDOR_DEVICE (USB_REQUEST_DIR_IN | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_DEVICE)
|
||||||
|
|||||||
Reference in New Issue
Block a user