Most USB Composite device debug
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4344 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
a79c599632
commit
52cd964966
@ -4940,6 +4940,15 @@ build
|
|||||||
unique and contiguous. When used with the Mass Storage driver, the
|
unique and contiguous. When used with the Mass Storage driver, the
|
||||||
correct value for this offset is zero.
|
correct value for this offset is zero.
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<code>CONFIG_CDCACM_STRBASE</code>:
|
||||||
|
If the CDC driver is part of a composite device, then this may need to
|
||||||
|
be defined to offset the CDC/ACM string numbers so that they are
|
||||||
|
unique and contiguous. When used with the Mass Storage driver, the
|
||||||
|
correct value for this offset is four (this value actuallly only needs
|
||||||
|
to be defined if names are provided for the Notification interface,
|
||||||
|
<code>CONFIG_CDCACM_NOTIFSTR</code>, or the data interface, <code>CONFIG_CDCACM_DATAIFSTR</code>).
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<code>CONFIG_CDCACM_EP0MAXPACKET</code>: Endpoint 0 max packet size. Default 64.
|
<code>CONFIG_CDCACM_EP0MAXPACKET</code>: Endpoint 0 max packet size. Default 64.
|
||||||
</li>
|
</li>
|
||||||
@ -5010,6 +5019,14 @@ build
|
|||||||
correct value for this offset is two (because of the two CDC/ACM
|
correct value for this offset is two (because of the two CDC/ACM
|
||||||
interfaces that will precede it).
|
interfaces that will precede it).
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<code>CONFIG_USBMSC_STRBASE</code>:
|
||||||
|
If the CDC driver is part of a composite device, then this may need to
|
||||||
|
be defined to offset the mass storage string numbers so that they are
|
||||||
|
unique and contiguous. When used with the CDC/ACM driver, the
|
||||||
|
correct value for this offset is four (or perhaps 5 or 6, depending
|
||||||
|
on if <code>CONFIG_CDCACM_NOTIFSTR</code> or <code>CONFIG_CDCACM_DATAIFSTR</code> are defined).
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<code>CONFIG_USBMSC_EP0MAXPACKET</code>:
|
<code>CONFIG_USBMSC_EP0MAXPACKET</code>:
|
||||||
Max packet size for endpoint 0
|
Max packet size for endpoint 0
|
||||||
|
@ -1010,6 +1010,13 @@ defconfig -- This is a configuration file similar to the Linux
|
|||||||
be defined to offset the CDC/ACM interface numbers so that they are
|
be defined to offset the CDC/ACM interface numbers so that they are
|
||||||
unique and contiguous. When used with the Mass Storage driver, the
|
unique and contiguous. When used with the Mass Storage driver, the
|
||||||
correct value for this offset is zero.
|
correct value for this offset is zero.
|
||||||
|
CONFIG_CDCACM_STRBASE
|
||||||
|
If the CDC driver is part of a composite device, then this may need to
|
||||||
|
be defined to offset the CDC/ACM string numbers so that they are
|
||||||
|
unique and contiguous. When used with the Mass Storage driver, the
|
||||||
|
correct value for this offset is four (this value actuallly only needs
|
||||||
|
to be defined if names are provided for the Notification interface,
|
||||||
|
CONFIG_CDCACM_NOTIFSTR, or the data interface, CONFIG_CDCACM_DATAIFSTR).
|
||||||
CONFIG_CDCACM_EP0MAXPACKET
|
CONFIG_CDCACM_EP0MAXPACKET
|
||||||
Endpoint 0 max packet size. Default 64.
|
Endpoint 0 max packet size. Default 64.
|
||||||
CONFIG_CDCACM_EPINTIN
|
CONFIG_CDCACM_EPINTIN
|
||||||
@ -1067,7 +1074,13 @@ defconfig -- This is a configuration file similar to the Linux
|
|||||||
be defined to offset the mass storage interface number so that it is
|
be defined to offset the mass storage interface number so that it is
|
||||||
unique and contiguous. When used with the CDC/ACM driver, the
|
unique and contiguous. When used with the CDC/ACM driver, the
|
||||||
correct value for this offset is two (because of the two CDC/ACM
|
correct value for this offset is two (because of the two CDC/ACM
|
||||||
interfaces that will precede it).
|
interfaces that will precede it).
|
||||||
|
CONFIG_USBMSC_STRBASE
|
||||||
|
If the CDC driver is part of a composite device, then this may need to
|
||||||
|
be defined to offset the mass storage string numbers so that they are
|
||||||
|
unique and contiguous. When used with the CDC/ACM driver, the
|
||||||
|
correct value for this offset is four (or perhaps 5 or 6, depending
|
||||||
|
on if CONFIG_CDCACM_NOTIFSTR or CONFIG_CDCACM_DATAIFSTR are defined).
|
||||||
CONFIG_USBMSC_EP0MAXPACKET
|
CONFIG_USBMSC_EP0MAXPACKET
|
||||||
Max packet size for endpoint 0
|
Max packet size for endpoint 0
|
||||||
CONFIG_USBMSCEPBULKOUT and CONFIG_USBMSC_EPBULKIN
|
CONFIG_USBMSCEPBULKOUT and CONFIG_USBMSC_EPBULKIN
|
||||||
|
@ -719,6 +719,12 @@ CONFIG_PL2303_TXBUFSIZE=512
|
|||||||
# unique and contiguous. When used with the CDC/ACM driver, the
|
# unique and contiguous. When used with the CDC/ACM driver, the
|
||||||
# correct value for this offset is two (because of the two CDC/ACM
|
# correct value for this offset is two (because of the two CDC/ACM
|
||||||
# interfaces that will precede it).
|
# interfaces that will precede it).
|
||||||
|
# CONFIG_USBMSC_STRBASE
|
||||||
|
# If the CDC driver is part of a composite device, then this may need to
|
||||||
|
# be defined to offset the mass storage string numbers so that they are
|
||||||
|
# unique and contiguous. When used with the CDC/ACM driver, the
|
||||||
|
# correct value for this offset is four (or perhaps 5 or 6, depending
|
||||||
|
# on if CONFIG_CDCACM_NOTIFSTR or CONFIG_CDCACM_DATAIFSTR are defined).
|
||||||
# CONFIG_USBMSC_EP0MAXPACKET
|
# CONFIG_USBMSC_EP0MAXPACKET
|
||||||
# Max packet size for endpoint 0
|
# Max packet size for endpoint 0
|
||||||
# CONFIG_USBMSC_EPBULKOUT and CONFIG_USBMSC_EPBULKIN
|
# CONFIG_USBMSC_EPBULKOUT and CONFIG_USBMSC_EPBULKIN
|
||||||
@ -740,6 +746,7 @@ CONFIG_PL2303_TXBUFSIZE=512
|
|||||||
CONFIG_USBMSC=y
|
CONFIG_USBMSC=y
|
||||||
CONFIG_USBMSC_COMPOSITE=y
|
CONFIG_USBMSC_COMPOSITE=y
|
||||||
CONFIG_USBMSC_IFNOBASE=2
|
CONFIG_USBMSC_IFNOBASE=2
|
||||||
|
CONFIG_USBMSC_STRBASE=4
|
||||||
CONFIG_USBMSC_EP0MAXPACKET=64
|
CONFIG_USBMSC_EP0MAXPACKET=64
|
||||||
CONFIG_USBMSC_EPBULKOUT=4
|
CONFIG_USBMSC_EPBULKOUT=4
|
||||||
CONFIG_USBMSC_EPBULKIN=5
|
CONFIG_USBMSC_EPBULKIN=5
|
||||||
@ -767,6 +774,13 @@ CONFIG_USBMSC_REMOVABLE=y
|
|||||||
# be defined to offset the CDC/ACM interface numbers so that they are
|
# be defined to offset the CDC/ACM interface numbers so that they are
|
||||||
# unique and contiguous. When used with the Mass Storage driver, the
|
# unique and contiguous. When used with the Mass Storage driver, the
|
||||||
# correct value for this offset is zero.
|
# correct value for this offset is zero.
|
||||||
|
# CONFIG_CDCACM_STRBASE
|
||||||
|
# If the CDC driver is part of a composite device, then this may need to
|
||||||
|
# be defined to offset the CDC/ACM string numbers so that they are
|
||||||
|
# unique and contiguous. When used with the Mass Storage driver, the
|
||||||
|
# correct value for this offset is four (this value actuallly only needs
|
||||||
|
# to be defined if names are provided for the Notification interface,
|
||||||
|
# CONFIG_CDCACM_NOTIFSTR, or the data interface, CONFIG_CDCACM_DATAIFSTR).
|
||||||
# CONFIG_CDCACM_EP0MAXPACKET
|
# CONFIG_CDCACM_EP0MAXPACKET
|
||||||
# Endpoint 0 max packet size. Default 64
|
# Endpoint 0 max packet size. Default 64
|
||||||
# CONFIG_CDCACM_EPINTIN
|
# CONFIG_CDCACM_EPINTIN
|
||||||
@ -814,6 +828,7 @@ CONFIG_USBMSC_REMOVABLE=y
|
|||||||
CONFIG_CDCACM=y
|
CONFIG_CDCACM=y
|
||||||
CONFIG_CDCACM_COMPOSITE=y
|
CONFIG_CDCACM_COMPOSITE=y
|
||||||
CONFIG_CDCACM_IFNOBASE=0
|
CONFIG_CDCACM_IFNOBASE=0
|
||||||
|
CONFIG_CDCACM_STRBASE=4
|
||||||
#CONFIG_CDCACM_EP0MAXPACKET
|
#CONFIG_CDCACM_EP0MAXPACKET
|
||||||
CONFIG_CDCACM_EPINTIN=1
|
CONFIG_CDCACM_EPINTIN=1
|
||||||
#CONFIG_CDCACM_EPINTIN_FSSIZE
|
#CONFIG_CDCACM_EPINTIN_FSSIZE
|
||||||
|
@ -140,16 +140,19 @@
|
|||||||
# define CDCACM_SERIALSTRID (3)
|
# define CDCACM_SERIALSTRID (3)
|
||||||
# define CDCACM_CONFIGSTRID (4)
|
# define CDCACM_CONFIGSTRID (4)
|
||||||
|
|
||||||
|
# define CDCACM_LASTBASESTRID (4)
|
||||||
# undef CONFIG_CDCACM_STRBASE
|
# undef CONFIG_CDCACM_STRBASE
|
||||||
# define CONFIG_CDCACM_STRBASE (4)
|
# define CONFIG_CDCACM_STRBASE (0)
|
||||||
|
#else
|
||||||
|
# define CDCACM_LASTBASESTRID CONFIG_CDCACM_STRBASE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* These string IDs only exist if a user-defined string is provided */
|
/* These string IDs only exist if a user-defined string is provided */
|
||||||
|
|
||||||
#ifdef CONFIG_CDCACM_NOTIFSTR
|
#ifdef CONFIG_CDCACM_NOTIFSTR
|
||||||
# define CDCACM_NOTIFSTRID (CONFIG_CDCACM_STRBASE+1)
|
# define CDCACM_NOTIFSTRID (CDCACM_LASTBASESTRID+1)
|
||||||
#else
|
#else
|
||||||
# define CDCACM_NOTIFSTRID CONFIG_CDCACM_STRBASE
|
# define CDCACM_NOTIFSTRID CDCACM_LASTBASESTRID
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_CDCACM_DATAIFSTR
|
#ifdef CONFIG_CDCACM_DATAIFSTR
|
||||||
@ -159,6 +162,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CDCACM_LASTSTRID CDCACM_DATAIFSTRID
|
#define CDCACM_LASTSTRID CDCACM_DATAIFSTRID
|
||||||
|
#define CDCACM_NSTRIDS (CDCACM_LASTSTRID - CONFIG_CDCACM_STRBASE)
|
||||||
|
|
||||||
/* Configuration descriptor size */
|
/* Configuration descriptor size */
|
||||||
|
|
||||||
|
@ -470,7 +470,8 @@ static int composite_setup(FAR struct usbdevclass_driver_s *driver,
|
|||||||
case USB_DESC_TYPE_CONFIG:
|
case USB_DESC_TYPE_CONFIG:
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_USBDEV_DUALSPEED
|
#ifdef CONFIG_USBDEV_DUALSPEED
|
||||||
ret = composite_mkcfgdesc(ctrlreq->buf, dev->speed, ctrl->value[1]);
|
ret = composite_mkcfgdesc(ctrlreq->buf, dev->speed,
|
||||||
|
ctrl->value[1]);
|
||||||
#else
|
#else
|
||||||
ret = composite_mkcfgdesc(ctrlreq->buf);
|
ret = composite_mkcfgdesc(ctrlreq->buf);
|
||||||
#endif
|
#endif
|
||||||
@ -479,9 +480,23 @@ static int composite_setup(FAR struct usbdevclass_driver_s *driver,
|
|||||||
|
|
||||||
case USB_DESC_TYPE_STRING:
|
case USB_DESC_TYPE_STRING:
|
||||||
{
|
{
|
||||||
/* index == language code. */
|
/* value == string index. Zero is the language ID. */
|
||||||
|
|
||||||
ret = composite_mkstrdesc(ctrl->value[0], (struct usb_strdesc_s *)ctrlreq->buf);
|
uint8_t strid = ctrl->value[0];
|
||||||
|
FAR struct usb_strdesc_s *buf = (FAR struct usb_strdesc_s *)ctrlreq->buf;
|
||||||
|
|
||||||
|
if (strid <= COMPOSITE_NSTRIDS)
|
||||||
|
{
|
||||||
|
ret = composite_mkstrdesc(strid, buf);
|
||||||
|
}
|
||||||
|
else if (strid < DEV1_STRIDBASE + DEV1_NSTRIDS)
|
||||||
|
{
|
||||||
|
ret = DEV1_MKSTRDESC(strid, buf);
|
||||||
|
}
|
||||||
|
else if (strid < DEV2_STRIDBASE + DEV2_NSTRIDS)
|
||||||
|
{
|
||||||
|
ret = DEV2_MKSTRDESC(strid, buf);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -530,7 +545,8 @@ static int composite_setup(FAR struct usbdevclass_driver_s *driver,
|
|||||||
if (ctrl->type == USB_REQ_RECIPIENT_INTERFACE &&
|
if (ctrl->type == USB_REQ_RECIPIENT_INTERFACE &&
|
||||||
priv->config == COMPOSITE_CONFIGID)
|
priv->config == COMPOSITE_CONFIGID)
|
||||||
{
|
{
|
||||||
dispatched = (composite_classsetup(priv, dev, ctrl) >= 0);
|
ret = composite_classsetup(priv, dev, ctrl);
|
||||||
|
dispatched = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -540,7 +556,8 @@ static int composite_setup(FAR struct usbdevclass_driver_s *driver,
|
|||||||
if (ctrl->type == (USB_DIR_IN|USB_REQ_RECIPIENT_INTERFACE) &&
|
if (ctrl->type == (USB_DIR_IN|USB_REQ_RECIPIENT_INTERFACE) &&
|
||||||
priv->config == COMPOSITE_CONFIGIDNONE)
|
priv->config == COMPOSITE_CONFIGIDNONE)
|
||||||
{
|
{
|
||||||
dispatched = (composite_classsetup(priv, dev, ctrl) >= 0);
|
ret = composite_classsetup(priv, dev, ctrl);
|
||||||
|
dispatched = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -565,7 +582,8 @@ static int composite_setup(FAR struct usbdevclass_driver_s *driver,
|
|||||||
recipient = ctrl->type & USB_REQ_RECIPIENT_MASK;
|
recipient = ctrl->type & USB_REQ_RECIPIENT_MASK;
|
||||||
if (recipient == USB_REQ_RECIPIENT_INTERFACE || recipient == USB_REQ_RECIPIENT_ENDPOINT)
|
if (recipient == USB_REQ_RECIPIENT_INTERFACE || recipient == USB_REQ_RECIPIENT_ENDPOINT)
|
||||||
{
|
{
|
||||||
dispatched = (composite_classsetup(priv, dev, ctrl) >= 0);
|
ret = composite_classsetup(priv, dev, ctrl);
|
||||||
|
dispatched = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -592,6 +610,7 @@ static int composite_setup(FAR struct usbdevclass_driver_s *driver,
|
|||||||
composite_ep0incomplete(dev->ep0, ctrlreq);
|
composite_ep0incomplete(dev->ep0, ctrlreq);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -118,26 +118,28 @@
|
|||||||
#if defined(CONFIG_CDCACM_COMPOSITE)
|
#if defined(CONFIG_CDCACM_COMPOSITE)
|
||||||
# define DEV1_IS_CDCACM 1
|
# define DEV1_IS_CDCACM 1
|
||||||
# define DEV1_MKCFGDESC cdcacm_mkcfgdesc
|
# define DEV1_MKCFGDESC cdcacm_mkcfgdesc
|
||||||
|
# define DEV1_MKSTRDESC cdcacm_mkstrdesc
|
||||||
# define DEV1_CLASSOBJECT board_cdcclassobject
|
# define DEV1_CLASSOBJECT board_cdcclassobject
|
||||||
# define DEV1_UNINITIALIZE board_cdcuninitialize
|
# define DEV1_UNINITIALIZE board_cdcuninitialize
|
||||||
# define DEV1_NCONFIGS CDCACM_NCONFIGS
|
# define DEV1_NCONFIGS CDCACM_NCONFIGS
|
||||||
# define DEV1_CONFIGID CDCACM_CONFIGID
|
# define DEV1_CONFIGID CDCACM_CONFIGID
|
||||||
# define DEV1_FIRSTINTERFACE CONFIG_CDCACM_IFNOBASE
|
# define DEV1_FIRSTINTERFACE CONFIG_CDCACM_IFNOBASE
|
||||||
# define DEV1_NINTERFACES CDCACM_NINTERFACES
|
# define DEV1_NINTERFACES CDCACM_NINTERFACES
|
||||||
# define DEV1_FIRSTSTRID CONFIG_CDCACM_STRBASE
|
# define DEV1_STRIDBASE CONFIG_CDCACM_STRBASE
|
||||||
# define DEV1_NSTRIDS (CDCACM_LASTSTRID-CONFIG_CDCACM_STRBASE)
|
# define DEV1_NSTRIDS CDCACM_NSTRIDS
|
||||||
# define DEV1_CFGDESCSIZE SIZEOF_CDCACM_CFGDESC
|
# define DEV1_CFGDESCSIZE SIZEOF_CDCACM_CFGDESC
|
||||||
#elif defined(CONFIG_CDCACM_COMPOSITE)
|
#elif defined(CONFIG_CDCACM_COMPOSITE)
|
||||||
# define DEV1_IS_USBMSC 1
|
# define DEV1_IS_USBMSC 1
|
||||||
# define DEV1_MKCFGDESC usbmsc_mkcfgdesc
|
# define DEV1_MKCFGDESC usbmsc_mkcfgdesc
|
||||||
|
# define DEV1_MKSTRDESC usbmsc_mkstrdesc
|
||||||
# define DEV1_CLASSOBJECT board_mscclassobject
|
# define DEV1_CLASSOBJECT board_mscclassobject
|
||||||
# define DEV1_UNINITIALIZE board_mscuninitialize
|
# define DEV1_UNINITIALIZE board_mscuninitialize
|
||||||
# define DEV1_NCONFIGS USBMSC_NCONFIGS
|
# define DEV1_NCONFIGS USBMSC_NCONFIGS
|
||||||
# define DEV1_CONFIGID USBMSC_CONFIGID
|
# define DEV1_CONFIGID USBMSC_CONFIGID
|
||||||
# define DEV1_FIRSTINTERFACE CONFIG_USBMSC_IFNOBASE
|
# define DEV1_FIRSTINTERFACE CONFIG_USBMSC_IFNOBASE
|
||||||
# define DEV1_NINTERFACES USBMSC_NINTERFACES
|
# define DEV1_NINTERFACES USBMSC_NINTERFACES
|
||||||
# define DEV1_FIRSTSTRID CONFIG_USBMSC_IFNOBASE
|
# define DEV1_STRIDBASE CONFIG_USBMSC_IFNOBASE
|
||||||
# define DEV1_NSTRIDS (USBMSC_LASTSTRID-CONFIG_USBMSC_STRBASE)
|
# define DEV1_NSTRIDS USBMSC_NSTRIDS
|
||||||
# define DEV1_CFGDESCSIZE SIZEOF_USBMSC_CFGDESC
|
# define DEV1_CFGDESCSIZE SIZEOF_USBMSC_CFGDESC
|
||||||
#else
|
#else
|
||||||
# error "No members of the composite defined"
|
# error "No members of the composite defined"
|
||||||
@ -150,26 +152,28 @@
|
|||||||
#if defined(CONFIG_CDCACM_COMPOSITE) && !defined(DEV1_IS_CDCACM)
|
#if defined(CONFIG_CDCACM_COMPOSITE) && !defined(DEV1_IS_CDCACM)
|
||||||
# define DEV2_IS_CDCACM 1
|
# define DEV2_IS_CDCACM 1
|
||||||
# define DEV2_MKCFGDESC cdcacm_mkcfgdesc
|
# define DEV2_MKCFGDESC cdcacm_mkcfgdesc
|
||||||
|
# define DEV2_MKSTRDESC cdcacm_mkstrdesc
|
||||||
# define DEV2_CLASSOBJECT board_cdcclassobject
|
# define DEV2_CLASSOBJECT board_cdcclassobject
|
||||||
# define DEV2_UNINITIALIZE board_cdcuninitialize
|
# define DEV2_UNINITIALIZE board_cdcuninitialize
|
||||||
# define DEV2_NCONFIGS CDCACM_NCONFIGS
|
# define DEV2_NCONFIGS CDCACM_NCONFIGS
|
||||||
# define DEV2_CONFIGID CDCACM_CONFIGID
|
# define DEV2_CONFIGID CDCACM_CONFIGID
|
||||||
# define DEV2_FIRSTINTERFACE CONFIG_CDCACM_IFNOBASE
|
# define DEV2_FIRSTINTERFACE CONFIG_CDCACM_IFNOBASE
|
||||||
# define DEV2_NINTERFACES CDCACM_NINTERFACES
|
# define DEV2_NINTERFACES CDCACM_NINTERFACES
|
||||||
# define DEV2_FIRSTSTRID CONFIG_CDCACM_STRBASE
|
# define DEV2_STRIDBASE CONFIG_CDCACM_STRBASE
|
||||||
# define DEV2_NSTRIDS (CDCACM_LASTSTRID-CONFIG_CDCACM_STRBASE)
|
# define DEV2_NSTRIDS CDCACM_NSTRIDS
|
||||||
# define DEV2_CFGDESCSIZE SIZEOF_CDCACM_CFGDESC
|
# define DEV2_CFGDESCSIZE SIZEOF_CDCACM_CFGDESC
|
||||||
#elif defined(CONFIG_CDCACM_COMPOSITE) && !defined(DEV1_IS_USBMSC)
|
#elif defined(CONFIG_CDCACM_COMPOSITE) && !defined(DEV1_IS_USBMSC)
|
||||||
# define DEV2_IS_USBMSC 1
|
# define DEV2_IS_USBMSC 1
|
||||||
# define DEV2_MKCFGDESC usbmsc_mkcfgdesc
|
# define DEV2_MKCFGDESC usbmsc_mkcfgdesc
|
||||||
|
# define DEV2_MKSTRDESC usbmsc_mkstrdesc
|
||||||
# define DEV2_UNINITIALIZE board_mscuninitialize
|
# define DEV2_UNINITIALIZE board_mscuninitialize
|
||||||
# define DEV2_CLASSOBJECT board_mscclassobject
|
# define DEV2_CLASSOBJECT board_mscclassobject
|
||||||
# define DEV2_NCONFIGS USBMSC_NCONFIGS
|
# define DEV2_NCONFIGS USBMSC_NCONFIGS
|
||||||
# define DEV2_CONFIGID USBMSC_CONFIGID
|
# define DEV2_CONFIGID USBMSC_CONFIGID
|
||||||
# define DEV2_FIRSTINTERFACE CONFIG_USBMSC_IFNOBASE
|
# define DEV2_FIRSTINTERFACE CONFIG_USBMSC_IFNOBASE
|
||||||
# define DEV2_NINTERFACES USBMSC_NINTERFACES
|
# define DEV2_NINTERFACES USBMSC_NINTERFACES
|
||||||
# define DEV2_FIRSTSTRID CONFIG_CDCACM_STRBASE
|
# define DEV2_STRIDBASE CONFIG_USBMSC_STRBASE
|
||||||
# define DEV2_NSTRIDS (USBMSC_LASTSTRID-CONFIG_USBMSC_STRBASE)
|
# define DEV2_NSTRIDS USBMSC_NSTRIDS
|
||||||
# define DEV2_CFGDESCSIZE SIZEOF_USBMSC_CFGDESC
|
# define DEV2_CFGDESCSIZE SIZEOF_USBMSC_CFGDESC
|
||||||
#else
|
#else
|
||||||
# error "Insufficient members of the composite defined"
|
# error "Insufficient members of the composite defined"
|
||||||
@ -232,6 +236,17 @@
|
|||||||
#define COMPOSITE_PRODUCTSTRID (2)
|
#define COMPOSITE_PRODUCTSTRID (2)
|
||||||
#define COMPOSITE_SERIALSTRID (3)
|
#define COMPOSITE_SERIALSTRID (3)
|
||||||
#define COMPOSITE_CONFIGSTRID (4)
|
#define COMPOSITE_CONFIGSTRID (4)
|
||||||
|
#define COMPOSITE_NSTRIDS (4)
|
||||||
|
|
||||||
|
/* Verify string configuration */
|
||||||
|
|
||||||
|
#if COMPOSITE_NSTRIDS != DEV1_STRIDBASE
|
||||||
|
# warning "The DEV1 string base should be COMPOSITE_NSTRIDS"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if (DEV1_STRIDBASE + DEV1_NSTRIDS) != DEV2_STRIDBASE
|
||||||
|
# warning "String IDs are not contiguous"
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Everpresent MIN/MAX macros ***********************************************/
|
/* Everpresent MIN/MAX macros ***********************************************/
|
||||||
|
|
||||||
|
@ -183,7 +183,7 @@ int composite_mkstrdesc(uint8_t id, struct usb_strdesc_s *strdesc)
|
|||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
case COMPOSITE_MANUFACTURERSTRID:
|
case COMPOSITE_MANUFACTURERSTRID:
|
||||||
str = g_compvendorstr;
|
str = g_compvendorstr;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -298,11 +298,13 @@
|
|||||||
# define USBMSC_INTERFACESTRID USBMSC_CONFIGSTRID
|
# define USBMSC_INTERFACESTRID USBMSC_CONFIGSTRID
|
||||||
|
|
||||||
# undef CONFIG_USBMSC_STRBASE
|
# undef CONFIG_USBMSC_STRBASE
|
||||||
# define CONFIG_USBMSC_STRBASE (4)
|
# define CONFIG_USBMSC_STRBASE (0)
|
||||||
#else
|
#else
|
||||||
# define USBMSC_INTERFACESTRID (CONFIG_USBMSC_STRBASE+1)
|
# define USBMSC_INTERFACESTRID (CONFIG_USBMSC_STRBASE+1)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define USBMSC_LASTSTRID USBMSC_INTERFACESTRID
|
#define USBMSC_LASTSTRID USBMSC_INTERFACESTRID
|
||||||
|
#define USBMSC_NSTRIDS (USBMSC_LASTSTRID - CONFIG_USBMSC_STRBASE)
|
||||||
|
|
||||||
#define USBMSC_NCONFIGS (1) /* Number of configurations supported */
|
#define USBMSC_NCONFIGS (1) /* Number of configurations supported */
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user