#include "StillImage.h"\r
 \r
 uint8_t SI_Host_ConfigurePipes(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo, uint16_t ConfigDescriptorSize,\r
-                              uint8_t* DeviceConfigDescriptor)\r
+                               void* DeviceConfigDescriptor)\r
 {\r
        uint8_t  FoundEndpoints = 0;\r
        \r
                        {\r
                                Pipe_ConfigurePipe(SIInterfaceInfo->Config.EventsPipeNumber, EP_TYPE_INTERRUPT, PIPE_TOKEN_IN,\r
                                                                   EndpointData->EndpointAddress, EndpointData->EndpointSize,\r
-                                                                  PIPE_BANK_DOUBLE);                   \r
+                                                                  SIInterfaceInfo->Config.EventsPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);                 \r
                                SIInterfaceInfo->State.EventsPipeSize = EndpointData->EndpointSize;\r
 \r
                                Pipe_SetInterruptPeriod(EndpointData->PollingIntervalMS);\r
                        {\r
                                Pipe_ConfigurePipe(SIInterfaceInfo->Config.DataINPipeNumber, EP_TYPE_BULK, PIPE_TOKEN_IN,\r
                                                                   EndpointData->EndpointAddress, EndpointData->EndpointSize,\r
-                                                                  PIPE_BANK_DOUBLE);\r
+                                                                  SIInterfaceInfo->Config.DataINPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);\r
                                SIInterfaceInfo->State.DataINPipeSize = EndpointData->EndpointSize;\r
 \r
                                FoundEndpoints |= SI_FOUND_DATAPIPE_IN;\r
                        {\r
                                Pipe_ConfigurePipe(SIInterfaceInfo->Config.DataOUTPipeNumber, EP_TYPE_BULK, PIPE_TOKEN_OUT,\r
                                                                   EndpointData->EndpointAddress, EndpointData->EndpointSize,\r
-                                                                  PIPE_BANK_DOUBLE);\r
+                                                                  SIInterfaceInfo->Config.DataOUTPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);\r
                                SIInterfaceInfo->State.DataOUTPipeSize = EndpointData->EndpointSize;\r
 \r
                                FoundEndpoints |= SI_FOUND_DATAPIPE_OUT;\r