26
26
27
27
using namespace arduino ;
28
28
29
+ #warning "USBAudio library is EXTREMELY EXPERIMENTAL, expect crashes"
30
+
29
31
#define SAMPLE_SIZE 2
30
32
#define XFER_FREQUENCY_HZ 1000
31
33
#define WRITE_READY_UNBLOCK (1 << 0 )
@@ -639,7 +641,7 @@ void USBAudio::_build_configuration_desc()
639
641
// Interface 0, Alternate Setting 0, Audio Control
640
642
INTERFACE_DESCRIPTOR_LENGTH, // bLength
641
643
INTERFACE_DESCRIPTOR, // bDescriptorType
642
- 0x00 , // bInterfaceNumber
644
+ uint8_t (pluggedInterface), // bInterfaceNumber
643
645
0x00 , // bAlternateSetting
644
646
0x00 , // bNumEndpoints
645
647
AUDIO_CLASS, // bInterfaceClass
@@ -657,8 +659,8 @@ void USBAudio::_build_configuration_desc()
657
659
LSB (TOTAL_CONTROL_INTF_LENGTH), // wTotalLength
658
660
MSB (TOTAL_CONTROL_INTF_LENGTH), // wTotalLength
659
661
0x02 , // bInCollection
660
- 0x01 , // baInterfaceNr
661
- 0x02 , // baInterfaceNr
662
+ uint8_t (pluggedInterface+ 1 ), // baInterfaceNr
663
+ uint8_t (pluggedInterface+ 2 ), // baInterfaceNr
662
664
663
665
// Audio Input Terminal (Speaker)
664
666
INPUT_TERMINAL_DESCRIPTOR_LENGTH, // bLength
@@ -731,7 +733,7 @@ void USBAudio::_build_configuration_desc()
731
733
// Interface 1, Alternate Setting 0, Audio Streaming - Zero Bandwith
732
734
INTERFACE_DESCRIPTOR_LENGTH, // bLength
733
735
INTERFACE_DESCRIPTOR, // bDescriptorType
734
- 0x01 , // bInterfaceNumber
736
+ uint8_t (pluggedInterface+ 1 ), // bInterfaceNumber
735
737
0x00 , // bAlternateSetting
736
738
0x00 , // bNumEndpoints
737
739
AUDIO_CLASS, // bInterfaceClass
@@ -742,7 +744,7 @@ void USBAudio::_build_configuration_desc()
742
744
// Interface 1, Alternate Setting 1, Audio Streaming - Operational
743
745
INTERFACE_DESCRIPTOR_LENGTH, // bLength
744
746
INTERFACE_DESCRIPTOR, // bDescriptorType
745
- 0x01 , // bInterfaceNumber
747
+ uint8_t (pluggedInterface+ 1 ), // bInterfaceNumber
746
748
0x01 , // bAlternateSetting
747
749
0x01 , // bNumEndpoints
748
750
AUDIO_CLASS, // bInterfaceClass
@@ -796,7 +798,7 @@ void USBAudio::_build_configuration_desc()
796
798
// Interface 1, Alternate Setting 0, Audio Streaming - Zero Bandwith
797
799
INTERFACE_DESCRIPTOR_LENGTH, // bLength
798
800
INTERFACE_DESCRIPTOR, // bDescriptorType
799
- 0x02 , // bInterfaceNumber
801
+ uint8_t (pluggedInterface+ 2 ), // bInterfaceNumber
800
802
0x00 , // bAlternateSetting
801
803
0x00 , // bNumEndpoints
802
804
AUDIO_CLASS, // bInterfaceClass
@@ -807,7 +809,7 @@ void USBAudio::_build_configuration_desc()
807
809
// Interface 1, Alternate Setting 1, Audio Streaming - Operational
808
810
INTERFACE_DESCRIPTOR_LENGTH, // bLength
809
811
INTERFACE_DESCRIPTOR, // bDescriptorType
810
- 0x02 , // bInterfaceNumber
812
+ uint8_t (pluggedInterface+ 2 ), // bInterfaceNumber
811
813
0x01 , // bAlternateSetting
812
814
0x01 , // bNumEndpoints
813
815
AUDIO_CLASS, // bInterfaceClass
0 commit comments