KBA228228 with AN75779: This device cannot start. (Code 10)

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
LeGa_3963206
Level 4
Level 4
50 replies posted 25 replies posted 10 replies posted

Hi all,

I'm trying to add multiple FPS values to Uncompressed VS frame descriptor as described in KBA228228 but id doesn't work - device manager reports "This device cannot start. (Code 10)".

According to serial log output it not even get to probe get/set stage.

Here is my SS descriptor:

const uint8_t CyFxUSBSSConfigDscr[] __attribute__ ((aligned (32))) =

{

    /* Configuration descriptor */

    0x09,                           /* Descriptor size */

    CY_U3P_USB_CONFIG_DESCR,        /* Configuration descriptor type */

#ifdef MULTIPLE_FPS

    0x4B,0x01,                      /* Length of this descriptor and all sub descriptors */

#else

    0x3f,0x01,                      /* Length of this descriptor and all sub descriptors */

#endif

    0x05,                           /* Number of interfaces */

    0x01,                           /* Configuration number */

    0x00,                           /* COnfiguration string index */

    0x80,                           /* Config characteristics - Bus powered */

    0x32,                           /* Max power consumption of device (in 8mA unit) : 400mA */

    /* Interface association descriptor */

    0x08,                           /* Descriptor size */

    CY_FX_INTF_ASSN_DSCR_TYPE,      /* Interface association descr type */

    0x00,                           /* Interface number of first VideoControl i/f */

    0x02,                           /* Number of video i/f */

    0x0E,                           /* CC_VIDEO : Video i/f class code */

    0x03,                           /* SC_VIDEO_INTERFACE_COLLECTION : Subclass code */

    0x00,                           /* Protocol : Not used */

    0x00,                           /* String desc index for interface */

    /* Standard video control interface descriptor */

    0x09,                           /* Descriptor size */

    CY_U3P_USB_INTRFC_DESCR,        /* Interface descriptor type */

    0x00,                           /* Interface number */

    0x00,                           /* Alternate setting number */

    0x01,                           /* Number of end points */

    0x0E,                           /* CC_VIDEO : Interface class */

    0x01,                           /* CC_VIDEOCONTROL : Interface sub class */

    0x00,                           /* Interface protocol code */

    0x00,                           /* Interface descriptor string index */

    /* Class specific VC interface header descriptor */

    0x0D,                           /* Descriptor size */

    0x24,                           /* Class specific i/f header descriptor type */

    0x01,                           /* Descriptor sub type : VC_HEADER */

    0x10,0x01,                      /* Revision of class spec : 1.1 */

    0x51,0x00,                      /* Total size of class specific descriptors (till output terminal) */

    0x00,0xe1,0xf5,0x05,            /* Clock frequency : 100MHz */

    0x01,                           /* Number of streaming interfaces */

    0x01,                           /* Video streaming i/f 1 belongs to VC i/f */

    /* Input (camera) terminal descriptor */

    0x12,                           /* Descriptor size */

    0x24,                           /* Class specific interface desc type */

    0x02,                           /* Input Terminal Descriptor type */

    0x01,                           /* ID of this terminal */

    0x01,0x02,                      /* Camera terminal type */

    0x00,                           /* No association terminal */

    0x00,                           /* String desc index : Not used */

    0x00,0x00,                      /* No optical zoom supported */

    0x00,0x00,                      /* No optical zoom supported */

    0x00,0x00,                      /* No optical zoom supported */

    0x03,                           /* Size of controls field for this terminal : 3 bytes */

    0x00,0x00,0x00,                 /* No controls supported */

    /* Processing unit descriptor */

    0x0D,                           /* Descriptor size */

    0x24,                           /* Class specific interface desc type */

    0x05,                           /* Processing unit descriptor type */

    0x02,                           /* ID of this terminal */

    0x01,                           /* Source ID : 1 : connected to input terminal */

    0x00,0x40,                      /* Digital multiplier */

    0x03,                           /* Size of controls field for this terminal : 3 bytes */

    0x00,0x00,0x00,                 /* No controls supported */

    0x00,                           /* String desc index : Not used */

    0x00,                           /* No analog mode support. */

    /* Extension unit descriptor */

    0x1C,                           /* Descriptor size */

    0x24,                           /* Class specific interface desc type */

    0x06,                           /* Extension unit descriptor type */

    0x03,                           /* ID of this terminal */

    0xFF,0xFF,0xFF,0xFF,            /* 16 byte GUID */

    0xFF,0xFF,0xFF,0xFF,

    0xFF,0xFF,0xFF,0xFF,

    0xFF,0xFF,0xFF,0xFF,

    0x00,                           /* Number of controls in this terminal */

    0x01,                           /* Number of input pins in this terminal */

    0x02,                           /* Source ID : 2 : connected to proc unit */

    0x03,                           /* Size of controls field for this terminal : 3 bytes */

    0x00,0x00,0x00,                 /* No controls supported */

    0x00,                           /* String desc index : Not used */

    /* Output terminal descriptor */

    0x09,                           /* Descriptor size */

    0x24,                           /* Class specific interface desc type */

    0x03,                           /* Output terminal descriptor type */

    0x04,                           /* ID of this terminal */

    0x01,0x01,                      /* USB streaming terminal type */

    0x00,                           /* No association terminal */

    0x03,                           /* Source ID : 3 : Connected to extn Unit */

    0x00,                           /* String desc index : Not used */

    /* Video control status interrupt endpoint descriptor */

    0x07,                           /* Descriptor size */

    CY_U3P_USB_ENDPNT_DESCR,        /* Endpoint descriptor type */

    CY_FX_EP_CONTROL_STATUS,        /* Endpoint address and description */

    CY_U3P_USB_EP_INTR,             /* Interrupt end point type */

    0x40,0x00,                      /* Max packet size = 64 bytes */

    0x01,                           /* Servicing interval */

    /* Super speed endpoint companion descriptor */

    0x06,                           /* Descriptor size */

    CY_U3P_SS_EP_COMPN_DESCR,       /* SS endpoint companion descriptor type */

    0x00,                           /* Max no. of packets in a Burst : 1 */

    0x00,                           /* Mult.: Max number of packets : 1 */

    0x40, 0x00,                     /* Bytes per interval : 64 */

    /* Class specific interrupt endpoint descriptor */

    0x05,                           /* Descriptor size */

    0x25,                           /* Class specific endpoint descriptor type */

    CY_U3P_USB_EP_INTR,             /* End point sub type */

    0x40,0x00,                      /* Max packet size = 64 */

    /* Standard video streaming interface descriptor (Alternate setting 0) */

    0x09,                           /* Descriptor size */

    CY_U3P_USB_INTRFC_DESCR,        /* Interface descriptor type */

    0x01,                           /* Interface number */

    0x00,                           /* Alternate setting number */

    0x01,                           /* Number of end points : One bulk */

    0x0E,                           /* Interface class : CC_VIDEO */

    0x02,                           /* Interface sub class : CC_VIDEOSTREAMING */

    0x00,                           /* Interface protocol code : Undefined */

    0x00,                           /* Interface descriptor string index */

    /* Class-specific Video Streaming Input Header Descriptor */

    0x0E,                           /* Descriptor size */

    0x24,                           /* Class-specific VS I/f Type */

    0x01,                           /* Descriptotor Subtype : Input Header */

    0x01,                           /* 1 format desciptor follows */

#ifdef MULTIPLE_FPS

    0x53,0x00,                      /* Total size of Class specific VS descr */

#else

    0x47,0x00,

#endif

    CY_FX_EP_BULK_VIDEO,            /* EP address for BULK video data */

    0x00,                           /* No dynamic format change supported */

    0x04,                           /* Output terminal ID : 4 */

    0x00,                           /* Still image capture method 1 supported */

    0x00,                           /* Hardware trigger NOT supported */

    0x00,                           /* Hardware to initiate still image capture NOT supported */

    0x01,                           /* Size of controls field : 1 byte */

    0x00,                           /* D2 : Compression quality supported 14*/

    /* Class specific Uncompressed VS format descriptor */

    0x1B,                           /* Descriptor size */

    0x24,                           /* Class-specific VS I/f Type */

    0x04,                           /* Subtype : uncompressed format I/F */

    0x01,                           /* Format desciptor index */

    0x01,                           /* Number of frame descriptor followed */

    0x59,0x55,0x59,0x32,            /* GUID used to identify streaming-encoding format: YUY2  */

    0x00,0x00,0x10,0x00,

    0x80,0x00,0x00,0xAA,

    0x00,0x38,0x9B,0x71,

    16,                             /* Number of bits per pixel */

    0x01,                           /* Optimum Frame Index for this stream: 1 */

    0x10,                           /* X dimension of the picture aspect ratio; Non-interlaced */

    0x09,                           /* Y dimension of the pictuer aspect ratio: Non-interlaced */

    0x00,                           /* Interlace Flags: Progressive scanning, no interlace */

    0x00,                           /* duplication of the video stream restriction: 0 - no restriction 27 */

    /* Class specific Uncompressed VS frame descriptor */

    0x2A,                           /* Descriptor size */

    0x24,                           /* Descriptor type*/

    0x05,                           /* Subtype: uncompressed frame I/F */

    0x01,                           /* Frame Descriptor Index */

    0x00,                           /* Still image capture method 1 supported */

    0x20, 0x03,                    /* Width in pixel */

    0xe2, 0x01,                    /* Height in pixel */

    0x00,0x38,0x08,0x0b,            /* 800*482*16*30 Min bit rate bits/s. */

    0x00,0xe0,0x20,0x2c,            /* 800*482*16*120 Max bit rate bits/s. */

    0x00,0xA4,0x1F,0x00,            /* Maximum video or still frame size in bytes(Deprecated)*/

    0x85, 0x45, 0x01, 0x00, // Default frame interval

#ifdef MULTIPLE_FPS

    0x04, // Frame interval type (0 - continuous, 1..255 - discrete)

    0x15, 0x16, 0x05, 0x00, // Frame interval 1 30 fps

    0x0a, 0x8b, 0x02, 0x00, // Frame interval 2 60 fps

    0x07, 0xb2, 0x01, 0x00, // Frame interval 3 90 fps

    0x85, 0x45, 0x01, 0x00, // Frame interval 4 120 fps

#else

    0x01,

    0x85, 0x45, 0x01, 0x00, // The only interval 120 fps

#endif

    /* Endpoint Descriptor for BULK Streaming Video Data */

    0x07,                           /* Descriptor size */

    CY_U3P_USB_ENDPNT_DESCR,        /* Endpoint Descriptor Type */

    CY_FX_EP_BULK_VIDEO,            /* Endpoint address and description */

    CY_U3P_USB_EP_BULK,             /* BULK End point */

    0x00, /* EP MaxPcktSize: 1024B */

    0x04, /* EP MaxPcktSize: 1024B */

    0x00,                           /* Servicing interval for data transfers */

   

    /* Super Speed Endpoint Companion Descriptor */

    0x06,                           /* Descriptor size */

    CY_U3P_SS_EP_COMPN_DESCR,       /* SS Endpoint Companion Descriptor Type */

    0x0F,                           /* Max number of packets per burst: 16 */

    0x00,                           /* Attribute: Streams not defined */

    0x00,                           /* No meaning for bulk */

    0x00,

    /* Interface association descriptor */

0x08,                           /* Descriptor size */

CY_FX_INTF_ASSN_DSCR_TYPE,      /* Interface association descr type */

0x02,                           /* First interface number */

0x02,                           /* i/f count */

0x02,                           /* CC - CDC i/f class code */

0x02,                           /* SC - Subclass code */

0x01,                           /* Protocol : Not used */

0x00,                           /* String desc index for interface */

    /* Communication Interface descriptor */

0x09,                           /* Descriptor size */

CY_U3P_USB_INTRFC_DESCR,        /* Interface Descriptor type */

0x02,                           /* Interface number */

0x00,                           /* Alternate setting number */

0x01,                           /* Number of endpoints */

0x02,                           /* Interface class : Communication interface */

0x02,                           /* Interface sub class */

0x01,                           /* Interface protocol code */

0x00,                           /* Interface descriptor string index */

/* CDC Class-specific Descriptors */

/* Header functional Descriptor */

0x05,                           /* Descriptors length(5) */

0x24,                           /* Descriptor type : CS_Interface */

0x00,                           /* DescriptorSubType : Header Functional Descriptor */

0x10,0x01,                      /* bcdCDC : CDC Release Number */

/* Abstract Control Management Functional Descriptor */

0x04,                           /* Descriptors Length (4) */

0x24,                           /* bDescriptorType: CS_INTERFACE */

0x02,                           /* bDescriptorSubType: Abstract Control Model Functional Descriptor */

0x02,                           /* bmCapabilities: Supports the request combination of Set_Line_Coding,

   Set_Control_Line_State, Get_Line_Coding and the notification Serial_State */

/* Union Functional Descriptor */

0x05,                           /* Descriptors Length (5) */

0x24,                           /* bDescriptorType: CS_INTERFACE */

0x06,                           /* bDescriptorSubType: Union Functional Descriptor */

0x00,                           /* bMasterInterface */

0x01,                           /* bSlaveInterface */

/* Call Management Functional Descriptor */

0x05,                           /*  Descriptors Length (5) */

0x24,                           /*  bDescriptorType: CS_INTERFACE */

0x01,                           /*  bDescriptorSubType: Call Management Functional Descriptor */

0x00,                           /*  bmCapabilities: Device sends/receives call management information

only over the Communication Class Interface. */

0x01,                           /*  Interface Number of Data Class interface */

/* Endpoint Descriptor(Interrupt) */

0x07,                           /* Descriptor size */

CY_U3P_USB_ENDPNT_DESCR,        /* Endpoint descriptor type */

CY_FX_EP_INTERRUPT,             /* Endpoint address and description */

CY_U3P_USB_EP_INTR,             /* Interrupt endpoint type */

0x40,0x00,                      /* Max packet size = 1024 bytes */

0x01,                           /* Servicing interval for data transfers */

/* Super speed endpoint companion descriptor for interrupt endpoint */

0x06,                           /* Descriptor size */

CY_U3P_SS_EP_COMPN_DESCR,       /* SS endpoint companion descriptor type */

0x00,                           /* Max no. of packets in a Burst : 1 */

0x00,                           /* Mult.: Max number of packets : 1 */

0x40,0x00,                      /* Bytes per interval : 1024 */

/* Data Interface Descriptor */

0x09,                           /* Descriptor size */

CY_U3P_USB_INTRFC_DESCR,        /* Interface Descriptor type */

0x03,                           /* Interface number */

0x00,                           /* Alternate setting number */

0x02,                           /* Number of endpoints */

0x0A,                           /* Interface class: Data interface */

0x00,                           /* Interface sub class */

0x00,                           /* Interface protocol code */

0x00,                           /* Interface descriptor string index */

/* Endpoint Descriptor(BULK-PRODUCER) */

0x07,                           /* Descriptor size */

CY_U3P_USB_ENDPNT_DESCR,        /* Endpoint descriptor type */

CY_FX_EP_PRODUCER,              /* Endpoint address and description */

CY_U3P_USB_EP_BULK,             /* BULK endpoint type */

0x00,0x04,                      /* Max packet size = 1024 bytes */

0x00,                           /* Servicing interval for data transfers */

/* Super speed endpoint companion descriptor for producer ep */

0x06,                           /* Descriptor size */

CY_U3P_SS_EP_COMPN_DESCR,       /* SS endpoint companion descriptor type */

0x00,                           /* Max no. of packets in a burst : 1 */

0x00,                           /* Mult.: Max number of packets : 1 */

0x00,0x00,                      /* Bytes per interval : 1024 */

/* Endpoint Descriptor(BULK- CONSUMER) */

0x07,                           /* Descriptor size */

CY_U3P_USB_ENDPNT_DESCR,        /* Endpoint descriptor type */

CY_FX_EP_CONSUMER,              /* Endpoint address and description */

CY_U3P_USB_EP_BULK,             /* BULK endpoint type */

0x00,0x04,                      /* Max packet size = 1024 bytes */

0x00,                           /* Servicing interval for data transfers */

/* Super speed endpoint companion descriptor for consumer ep */

0x06,                           /* Descriptor size */

CY_U3P_SS_EP_COMPN_DESCR,       /* SS endpoint companion descriptor type */

0x00,                           /* Max no. of packets in a burst : 1 */

0x00,                           /* Mult.: Max number of packets : 1 */

0x00,0x00,                       /* Bytes per interval : 1024 */

/* Interface association descriptor */

0x08,                           /* Descriptor size */

CY_FX_INTF_ASSN_DSCR_TYPE,      /* Interface association descr type */

0x04,                           /* First interface number */

0x01,                           /* Number of interfaces */

0xFF,                           /* Class code */

0x00,                           /* Subclass code */

0x00,                           /* Protocol : Not used */

0x01,                           /* String desc index for interface */

/* Interface descriptor */

0x09,                           /* Descriptor size */

CY_U3P_USB_INTRFC_DESCR,        /* Interface Descriptor type */

0x04,                           /* Interface number */

0x00,                           /* Alternate setting number */

0x00,                           /* Number of end points */

0xFF,                           /* Interface class */

0x00,                           /* Interface sub class */

0x00,                           /* Interface protocol code */

0x01,                           /* Interface descriptor string index */

};

And here are the probe control structures:

uint8_t glProbeCtrl_30[CY_FX_UVC_MAX_PROBE_SETTING] = {

    0x00, 0x00,                 /* bmHint : no hit */

    0x01,                       /* Use 1st Video format index */

    0x01,                       /* Use 1st Video frame index */

    0x15, 0x16, 0x05, 0x00 /* Desired frame interval in the unit of 100ns: 30 fps */

    0x00, 0x00,                 /* Key frame rate in key frame/video frame units: only applicable

                                   to video streaming with adjustable compression parameters */

    0x00, 0x00,                 /* PFrame rate in PFrame / key frame units: only applicable to

                                   video streaming with adjustable compression parameters */

    0x00, 0x00,                 /* Compression quality control: only applicable to video streaming

                                   with adjustable compression parameters */

    0x00, 0x00,                 /* Window size for average bit rate: only applicable to video

                                   streaming with adjustable compression parameters */

    0x00, 0x00,                 /* Internal video streaming i/f latency in ms */

    0x80,0xc4,0x0b,0x00,      /* Max video frame size in bytes */

    0x00, 0x40, 0x00, 0x00,      /* No. of bytes device can rx in single payload = 16 KB */

    /* UVC 1.1 Probe Control has additional fields from UVC 1.0 */

    //0x00, 0x60, 0xE3, 0x16,             /* Device Clock */

    0x00, 0x84, 0xd7, 0x17,             /* Device Clock */

    0x00,                               /* Framing Information - Ignored for uncompressed format*/

    0x00,                               /* Preferred payload format version */

    0x00,                               /* Minimum payload format version */

    0x00                                /* Maximum payload format version */

};

/* UVC Probe Control Settings for a USB 3.0 connection. */

uint8_t glProbeCtrl_60[CY_FX_UVC_MAX_PROBE_SETTING] = {

    0x00, 0x00,                 /* bmHint : no hit */

    0x01,                       /* Use 1st Video format index */

    0x01,                       /* Use 1st Video frame index */

    0x0a, 0x8b, 0x02, 0x00,      /* Desired frame interval in the unit of 100ns: 60 fps */

    0x00, 0x00,                 /* Key frame rate in key frame/video frame units: only applicable

                                   to video streaming with adjustable compression parameters */

    0x00, 0x00,                 /* PFrame rate in PFrame / key frame units: only applicable to

                                   video streaming with adjustable compression parameters */

    0x00, 0x00,                 /* Compression quality control: only applicable to video streaming

                                   with adjustable compression parameters */

    0x00, 0x00,                 /* Window size for average bit rate: only applicable to video

                                   streaming with adjustable compression parameters */

    0x00, 0x00,                 /* Internal video streaming i/f latency in ms */

    0x80,0xc4,0x0b,0x00,      /* Max video frame size in bytes */

    0x00, 0x40, 0x00, 0x00,      /* No. of bytes device can rx in single payload = 16 KB */

    /* UVC 1.1 Probe Control has additional fields from UVC 1.0 */

    //0x00, 0x60, 0xE3, 0x16,             /* Device Clock */

    0x00, 0x84, 0xd7, 0x17,             /* Device Clock */

    0x00,                               /* Framing Information - Ignored for uncompressed format*/

    0x00,                               /* Preferred payload format version */

    0x00,                               /* Minimum payload format version */

    0x00                                /* Maximum payload format version */

};

/* UVC Probe Control Settings for a USB 3.0 connection. */

uint8_t glProbeCtrl_90[CY_FX_UVC_MAX_PROBE_SETTING] = {

    0x00, 0x00,                 /* bmHint : no hit */

    0x01,                       /* Use 1st Video format index */

    0x01,                       /* Use 1st Video frame index */

    0x07, 0xb2, 0x01, 0x00,     /* Desired frame interval in the unit of 100ns: 90 fps */

    0x00, 0x00,                 /* Key frame rate in key frame/video frame units: only applicable

                                   to video streaming with adjustable compression parameters */

    0x00, 0x00,                 /* PFrame rate in PFrame / key frame units: only applicable to

                                   video streaming with adjustable compression parameters */

    0x00, 0x00,                 /* Compression quality control: only applicable to video streaming

                                   with adjustable compression parameters */

    0x00, 0x00,                 /* Window size for average bit rate: only applicable to video

                                   streaming with adjustable compression parameters */

    0x00, 0x00,                 /* Internal video streaming i/f latency in ms */

    0x80,0xc4,0x0b,0x00,      /* Max video frame size in bytes */

    0x00, 0x40, 0x00, 0x00,      /* No. of bytes device can rx in single payload = 16 KB */

    /* UVC 1.1 Probe Control has additional fields from UVC 1.0 */

    //0x00, 0x60, 0xE3, 0x16,             /* Device Clock */

    0x00, 0x84, 0xd7, 0x17,             /* Device Clock */

    0x00,                               /* Framing Information - Ignored for uncompressed format*/

    0x00,                               /* Preferred payload format version */

    0x00,                               /* Minimum payload format version */

    0x00                                /* Maximum payload format version */

};

/* UVC Probe Control Settings for a USB 3.0 connection. */

uint8_t glProbeCtrl_120[CY_FX_UVC_MAX_PROBE_SETTING] = {

    0x00, 0x00,                 /* bmHint : no hit */

    0x01,                       /* Use 1st Video format index */

    0x01,                       /* Use 1st Video frame index */

    0x85, 0x45, 0x01, 0x00,      /* Desired frame interval in the unit of 100ns: 30 fps */

    0x00, 0x00,                 /* Key frame rate in key frame/video frame units: only applicable

                                   to video streaming with adjustable compression parameters */

    0x00, 0x00,                 /* PFrame rate in PFrame / key frame units: only applicable to

                                   video streaming with adjustable compression parameters */

    0x00, 0x00,                 /* Compression quality control: only applicable to video streaming

                                   with adjustable compression parameters */

    0x00, 0x00,                 /* Window size for average bit rate: only applicable to video

                                   streaming with adjustable compression parameters */

    0x00, 0x00,                 /* Internal video streaming i/f latency in ms */

    0x80,0xc4,0x0b,0x00,      /* Max video frame size in bytes */

    0x00, 0x40, 0x00, 0x00,      /* No. of bytes device can rx in single payload = 16 KB */

    /* UVC 1.1 Probe Control has additional fields from UVC 1.0 */

    //0x00, 0x60, 0xE3, 0x16,             /* Device Clock */

    0x00, 0x84, 0xd7, 0x17,             /* Device Clock */

    0x00,                               /* Framing Information - Ignored for uncompressed format*/

    0x00,                               /* Preferred payload format version */

    0x00,                               /* Minimum payload format version */

    0x00                                /* Maximum payload format version */

};

What am I missing here?

0 Likes
1 Solution
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello Leonid,

  /* Class specific Uncompressed VS frame descriptor */

#ifdef MULTIPLE_FPS

    0x2A,                           /* Descriptor size */

#else

    0x1E,

#endif

    0x24,                           /* Descriptor type*/

    0x05,                           /* Subtype: uncompressed frame I/F */

    0x01,                           /* Frame Descriptor Index */

    0x00,                           /* Still image capture method 1 supported */

    0x20, 0x03,                    /* Width in pixel */

    0xe2, 0x01,                    /* Height in pixel */

    0x00,0x38,0x08,0x0b,            /* 800*482*16*30 Min bit rate bits/s. */

    0x00,0xe0,0x20,0x2c,            /* 800*482*16*120 Max bit rate bits/s. */

    0x00,0xA4,0x1F,0x00,            /* Maximum video or still frame size in bytes(Deprecated)*/

    0x85, 0x45, 0x01, 0x00, // Default frame interval

#ifdef MULTIPLE_FPS

   0x04, // Frame interval type (0 - continuous, 1..255 - discrete)

  0x85, 0x45, 0x01, 0x00, // Frame interval 4 120 fps

  0x07, 0xb2, 0x01, 0x00, // Frame interval 3 90 fps

0x0a, 0x8b, 0x02, 0x00, // Frame interval 2 60 fps

            0x15, 0x16, 0x05, 0x00, // Frame interval 1 30 fps

      

#else

    0x01,

    0x85, 0x45, 0x01, 0x00, // The only interval 120 fps

#endif

- In this descriptors the descriptor size should be according to the Macro enabled so please add for descriptor size as done after Default frame interval i.e descriptor size should be 0x1E for one fps and 0x2A for 4 fps.

-  Also, the  multiple fps defined in descriptor should be in decreasing order

Please let me know if any queries on this

Regards,

Rashi

Regards,
Rashi

View solution in original post

0 Likes
2 Replies