From cf4575b94a3c65e6535a159fc71fc885aebc2620 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Fri, 2 Aug 2019 14:02:40 -0700 Subject: Fix the LUFA lib to use a submodule instead of just files (#6245) * Remove LUFA files * Update descriptions for newer version of LUFA * Create PR6245.md * Fix CDC(Serial) type errors * Fix missed merge conflict for AUDIO_DTYPE_CSInterface --- .../LUFA/Drivers/USB/Class/AndroidAccessoryClass.h | 77 -- lib/lufa/LUFA/Drivers/USB/Class/AudioClass.h | 81 -- lib/lufa/LUFA/Drivers/USB/Class/CDCClass.h | 81 -- .../USB/Class/Common/AndroidAccessoryClassCommon.h | 129 --- .../Drivers/USB/Class/Common/AudioClassCommon.h | 780 ----------------- .../LUFA/Drivers/USB/Class/Common/CDCClassCommon.h | 391 --------- .../LUFA/Drivers/USB/Class/Common/HIDClassCommon.h | 681 --------------- lib/lufa/LUFA/Drivers/USB/Class/Common/HIDParser.c | 389 --------- lib/lufa/LUFA/Drivers/USB/Class/Common/HIDParser.h | 364 -------- .../LUFA/Drivers/USB/Class/Common/HIDReportData.h | 126 --- .../Drivers/USB/Class/Common/MIDIClassCommon.h | 363 -------- .../USB/Class/Common/MassStorageClassCommon.h | 368 -------- .../Drivers/USB/Class/Common/PrinterClassCommon.h | 119 --- .../Drivers/USB/Class/Common/RNDISClassCommon.h | 411 --------- .../USB/Class/Common/StillImageClassCommon.h | 161 ---- .../Drivers/USB/Class/Device/AudioClassDevice.c | 197 ----- .../Drivers/USB/Class/Device/AudioClassDevice.h | 396 --------- .../LUFA/Drivers/USB/Class/Device/CDCClassDevice.c | 367 -------- .../LUFA/Drivers/USB/Class/Device/CDCClassDevice.h | 387 --------- .../LUFA/Drivers/USB/Class/Device/HIDClassDevice.c | 211 ----- .../LUFA/Drivers/USB/Class/Device/HIDClassDevice.h | 210 ----- .../Drivers/USB/Class/Device/MIDIClassDevice.c | 131 --- .../Drivers/USB/Class/Device/MIDIClassDevice.h | 175 ---- .../USB/Class/Device/MassStorageClassDevice.c | 215 ----- .../USB/Class/Device/MassStorageClassDevice.h | 161 ---- .../Drivers/USB/Class/Device/PrinterClassDevice.c | 314 ------- .../Drivers/USB/Class/Device/PrinterClassDevice.h | 293 ------- .../Drivers/USB/Class/Device/RNDISClassDevice.c | 508 ----------- .../Drivers/USB/Class/Device/RNDISClassDevice.h | 207 ----- lib/lufa/LUFA/Drivers/USB/Class/HIDClass.h | 82 -- .../USB/Class/Host/AndroidAccessoryClassHost.c | 422 ---------- .../USB/Class/Host/AndroidAccessoryClassHost.h | 314 ------- .../LUFA/Drivers/USB/Class/Host/AudioClassHost.c | 223 ----- .../LUFA/Drivers/USB/Class/Host/AudioClassHost.h | 411 --------- .../LUFA/Drivers/USB/Class/Host/CDCClassHost.c | 512 ------------ .../LUFA/Drivers/USB/Class/Host/CDCClassHost.h | 385 --------- .../LUFA/Drivers/USB/Class/Host/HIDClassHost.c | 399 --------- .../LUFA/Drivers/USB/Class/Host/HIDClassHost.h | 313 ------- .../LUFA/Drivers/USB/Class/Host/MIDIClassHost.c | 231 ------ .../LUFA/Drivers/USB/Class/Host/MIDIClassHost.h | 190 ----- .../Drivers/USB/Class/Host/MassStorageClassHost.c | 579 ------------- .../Drivers/USB/Class/Host/MassStorageClassHost.h | 335 -------- .../LUFA/Drivers/USB/Class/Host/PrinterClassHost.c | 400 --------- .../LUFA/Drivers/USB/Class/Host/PrinterClassHost.h | 285 ------- .../LUFA/Drivers/USB/Class/Host/RNDISClassHost.c | 476 ----------- .../LUFA/Drivers/USB/Class/Host/RNDISClassHost.h | 270 ------ .../Drivers/USB/Class/Host/StillImageClassHost.c | 436 ---------- .../Drivers/USB/Class/Host/StillImageClassHost.h | 317 ------- lib/lufa/LUFA/Drivers/USB/Class/MIDIClass.h | 84 -- lib/lufa/LUFA/Drivers/USB/Class/MassStorageClass.h | 81 -- lib/lufa/LUFA/Drivers/USB/Class/PrinterClass.h | 83 -- lib/lufa/LUFA/Drivers/USB/Class/RNDISClass.h | 81 -- lib/lufa/LUFA/Drivers/USB/Class/StillImageClass.h | 76 -- lib/lufa/LUFA/Drivers/USB/Core/AVR8/Device_AVR8.c | 57 -- lib/lufa/LUFA/Drivers/USB/Core/AVR8/Device_AVR8.h | 269 ------ .../Drivers/USB/Core/AVR8/EndpointStream_AVR8.c | 275 ------ .../Drivers/USB/Core/AVR8/EndpointStream_AVR8.h | 658 --------------- .../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.c | 201 ----- .../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.h | 819 ------------------ lib/lufa/LUFA/Drivers/USB/Core/AVR8/Host_AVR8.c | 297 ------- lib/lufa/LUFA/Drivers/USB/Core/AVR8/Host_AVR8.h | 372 --------- lib/lufa/LUFA/Drivers/USB/Core/AVR8/OTG_AVR8.h | 159 ---- .../LUFA/Drivers/USB/Core/AVR8/PipeStream_AVR8.c | 221 ----- .../LUFA/Drivers/USB/Core/AVR8/PipeStream_AVR8.h | 442 ---------- lib/lufa/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.c | 210 ----- lib/lufa/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.h | 922 -------------------- .../AVR8/Template/Template_Endpoint_Control_R.c | 84 -- .../AVR8/Template/Template_Endpoint_Control_W.c | 95 --- .../USB/Core/AVR8/Template/Template_Endpoint_RW.c | 89 -- .../USB/Core/AVR8/Template/Template_Pipe_RW.c | 88 -- .../Drivers/USB/Core/AVR8/USBController_AVR8.c | 273 ------ .../Drivers/USB/Core/AVR8/USBController_AVR8.h | 432 ---------- .../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c | 279 ------- .../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.h | 375 --------- lib/lufa/LUFA/Drivers/USB/Core/ConfigDescriptors.c | 146 ---- lib/lufa/LUFA/Drivers/USB/Core/ConfigDescriptors.h | 287 ------- lib/lufa/LUFA/Drivers/USB/Core/Device.h | 159 ---- lib/lufa/LUFA/Drivers/USB/Core/DeviceStandardReq.c | 393 --------- lib/lufa/LUFA/Drivers/USB/Core/DeviceStandardReq.h | 158 ---- lib/lufa/LUFA/Drivers/USB/Core/Endpoint.h | 130 --- lib/lufa/LUFA/Drivers/USB/Core/EndpointStream.h | 124 --- lib/lufa/LUFA/Drivers/USB/Core/Events.c | 48 -- lib/lufa/LUFA/Drivers/USB/Core/Events.h | 374 --------- lib/lufa/LUFA/Drivers/USB/Core/Host.h | 139 ---- lib/lufa/LUFA/Drivers/USB/Core/HostStandardReq.c | 322 ------- lib/lufa/LUFA/Drivers/USB/Core/HostStandardReq.h | 292 ------- lib/lufa/LUFA/Drivers/USB/Core/OTG.h | 80 -- lib/lufa/LUFA/Drivers/USB/Core/Pipe.h | 144 ---- lib/lufa/LUFA/Drivers/USB/Core/PipeStream.h | 100 --- lib/lufa/LUFA/Drivers/USB/Core/StdDescriptors.h | 765 ----------------- lib/lufa/LUFA/Drivers/USB/Core/StdRequestType.h | 258 ------ lib/lufa/LUFA/Drivers/USB/Core/UC3/Device_UC3.c | 51 -- lib/lufa/LUFA/Drivers/USB/Core/UC3/Device_UC3.h | 267 ------ .../LUFA/Drivers/USB/Core/UC3/EndpointStream_UC3.c | 235 ------ .../LUFA/Drivers/USB/Core/UC3/EndpointStream_UC3.h | 438 ---------- lib/lufa/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.c | 196 ----- lib/lufa/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h | 794 ------------------ lib/lufa/LUFA/Drivers/USB/Core/UC3/Host_UC3.c | 297 ------- lib/lufa/LUFA/Drivers/USB/Core/UC3/Host_UC3.h | 363 -------- .../LUFA/Drivers/USB/Core/UC3/PipeStream_UC3.c | 166 ---- .../LUFA/Drivers/USB/Core/UC3/PipeStream_UC3.h | 352 -------- lib/lufa/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.c | 209 ----- lib/lufa/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.h | 924 --------------------- .../UC3/Template/Template_Endpoint_Control_R.c | 84 -- .../UC3/Template/Template_Endpoint_Control_W.c | 95 --- .../USB/Core/UC3/Template/Template_Endpoint_RW.c | 89 -- .../USB/Core/UC3/Template/Template_Pipe_RW.c | 88 -- .../LUFA/Drivers/USB/Core/UC3/USBController_UC3.c | 222 ----- .../LUFA/Drivers/USB/Core/UC3/USBController_UC3.h | 353 -------- .../LUFA/Drivers/USB/Core/UC3/USBInterrupt_UC3.c | 228 ----- .../LUFA/Drivers/USB/Core/UC3/USBInterrupt_UC3.h | 376 --------- lib/lufa/LUFA/Drivers/USB/Core/USBController.h | 165 ---- lib/lufa/LUFA/Drivers/USB/Core/USBInterrupt.h | 73 -- lib/lufa/LUFA/Drivers/USB/Core/USBMode.h | 283 ------- lib/lufa/LUFA/Drivers/USB/Core/USBTask.c | 89 -- lib/lufa/LUFA/Drivers/USB/Core/USBTask.h | 200 ----- .../LUFA/Drivers/USB/Core/XMEGA/Device_XMEGA.c | 49 -- .../LUFA/Drivers/USB/Core/XMEGA/Device_XMEGA.h | 266 ------ .../Drivers/USB/Core/XMEGA/EndpointStream_XMEGA.c | 275 ------ .../Drivers/USB/Core/XMEGA/EndpointStream_XMEGA.h | 658 --------------- .../LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c | 268 ------ .../LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h | 689 --------------- lib/lufa/LUFA/Drivers/USB/Core/XMEGA/Host_XMEGA.c | 41 - .../LUFA/Drivers/USB/Core/XMEGA/PipeStream_XMEGA.c | 41 - lib/lufa/LUFA/Drivers/USB/Core/XMEGA/Pipe_XMEGA.c | 37 - .../XMEGA/Template/Template_Endpoint_Control_R.c | 86 -- .../XMEGA/Template/Template_Endpoint_Control_W.c | 97 --- .../USB/Core/XMEGA/Template/Template_Endpoint_RW.c | 89 -- .../Drivers/USB/Core/XMEGA/USBController_XMEGA.c | 204 ----- .../Drivers/USB/Core/XMEGA/USBController_XMEGA.h | 313 ------- .../Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c | 106 --- .../Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.h | 172 ---- lib/lufa/LUFA/Drivers/USB/USB.h | 422 ---------- 133 files changed, 36264 deletions(-) delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/AndroidAccessoryClass.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/AudioClass.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/CDCClass.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/AndroidAccessoryClassCommon.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/AudioClassCommon.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/CDCClassCommon.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/HIDClassCommon.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/HIDParser.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/HIDParser.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/HIDReportData.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/MIDIClassCommon.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/MassStorageClassCommon.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/PrinterClassCommon.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/RNDISClassCommon.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/StillImageClassCommon.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/AudioClassDevice.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/AudioClassDevice.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/CDCClassDevice.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/CDCClassDevice.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/HIDClassDevice.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/HIDClassDevice.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/MIDIClassDevice.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/MIDIClassDevice.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/PrinterClassDevice.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/PrinterClassDevice.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/RNDISClassDevice.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/RNDISClassDevice.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/HIDClass.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/AudioClassHost.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/AudioClassHost.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/CDCClassHost.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/CDCClassHost.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/HIDClassHost.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/HIDClassHost.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/MIDIClassHost.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/MIDIClassHost.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/MassStorageClassHost.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/MassStorageClassHost.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/PrinterClassHost.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/PrinterClassHost.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/RNDISClassHost.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/RNDISClassHost.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/StillImageClassHost.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/StillImageClassHost.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/MIDIClass.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/MassStorageClass.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/PrinterClass.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/RNDISClass.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/StillImageClass.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Device_AVR8.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Device_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Host_AVR8.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Host_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/OTG_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/PipeStream_AVR8.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/PipeStream_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Template/Template_Endpoint_Control_R.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Template/Template_Endpoint_Control_W.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Template/Template_Endpoint_RW.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Template/Template_Pipe_RW.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/ConfigDescriptors.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/ConfigDescriptors.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/Device.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/DeviceStandardReq.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/DeviceStandardReq.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/Endpoint.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/EndpointStream.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/Events.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/Events.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/Host.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/HostStandardReq.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/HostStandardReq.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/OTG.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/Pipe.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/PipeStream.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/StdDescriptors.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/StdRequestType.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Device_UC3.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Device_UC3.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/EndpointStream_UC3.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/EndpointStream_UC3.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Host_UC3.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Host_UC3.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/PipeStream_UC3.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/PipeStream_UC3.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Template/Template_Endpoint_Control_R.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Template/Template_Endpoint_Control_W.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Template/Template_Endpoint_RW.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Template/Template_Pipe_RW.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/USBController_UC3.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/USBController_UC3.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/USBInterrupt_UC3.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/USBInterrupt_UC3.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/USBController.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/USBInterrupt.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/USBMode.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/USBTask.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/USBTask.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/Device_XMEGA.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/Device_XMEGA.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/EndpointStream_XMEGA.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/EndpointStream_XMEGA.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/Host_XMEGA.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/PipeStream_XMEGA.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/Pipe_XMEGA.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/Template/Template_Endpoint_Control_R.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/Template/Template_Endpoint_Control_W.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/Template/Template_Endpoint_RW.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/USBController_XMEGA.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/USBController_XMEGA.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/USB.h (limited to 'lib/lufa/LUFA/Drivers/USB') diff --git a/lib/lufa/LUFA/Drivers/USB/Class/AndroidAccessoryClass.h b/lib/lufa/LUFA/Drivers/USB/Class/AndroidAccessoryClass.h deleted file mode 100644 index f1c0109ea0..0000000000 --- a/lib/lufa/LUFA/Drivers/USB/Class/AndroidAccessoryClass.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - LUFA Library - Copyright (C) Dean Camera, 2017. - - dean [at] fourwalledcubicle [dot] com - www.lufa-lib.org -*/ - -/* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) - - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaims all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. -*/ - -/** \file - * \brief Master include file for the library USB Android Open Accessory Class driver. - * - * Master include file for the library USB Android Open Accessory Class driver, for both host and device modes, where available. - * - * This file should be included in all user projects making use of this optional class driver, instead of - * including any headers in the USB/ClassDriver/Device, USB/ClassDriver/Host or USB/ClassDriver/Common subdirectories. - */ - -/** \ingroup Group_USBClassDrivers - * \defgroup Group_USBClassAOA Android Open Accessory Class Driver - * \brief USB class driver for the Google Android Open Accessory class standard. - * - * \section Sec_USBClassAOA_Dependencies Module Source Dependencies - * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c (Makefile source module name: LUFA_SRC_USBCLASS) - * - * \section Sec_USBClassAOA_ModDescription Module Description - * Android Open Accessory Class Driver module. This module contains an internal implementation of the USB Android Open Accessory - * Class, for Host USB mode. User applications can use this class driver instead of implementing the Android Open Accessory Class - * manually via the low-level LUFA APIs. - * - * This module is designed to simplify the user code by exposing only the required interface needed to interface with - * Host using the USB Android Open Accessory Class. - * - * @{ - */ - -#ifndef _AOA_CLASS_H_ -#define _AOA_CLASS_H_ - - /* Macros: */ - #define __INCLUDE_FROM_USB_DRIVER - #define __INCLUDE_FROM_AOA_DRIVER - - /* Includes: */ - #include "../Core/USBMode.h" - - #if defined(USB_CAN_BE_HOST) - #include "Host/AndroidAccessoryClassHost.h" - #endif - -#endif - -/** @} */ - - diff --git a/lib/lufa/LUFA/Drivers/USB/Class/AudioClass.h b/lib/lufa/LUFA/Drivers/USB/Class/AudioClass.h deleted file mode 100644 index d6ced05dc6..0000000000 --- a/lib/lufa/LUFA/Drivers/USB/Class/AudioClass.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - LUFA Library - Copyright (C) Dean Camera, 2017. - - dean [at] fourwalledcubicle [dot] com - www.lufa-lib.org -*/ - -/* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) - - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaims all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. -*/ - -/** \file - * \brief Master include file for the library USB Audio 1.0 Class driver. - * - * Master include file for the library USB Audio 1.0 Class driver, for both host and device modes, where available. - * - * This file should be included in all user projects making use of this optional class driver, instead of - * including any headers in the USB/ClassDriver/Device, USB/ClassDriver/Host or USB/ClassDriver/Common subdirectories. - */ - -/** \ingroup Group_USBClassDrivers - * \defgroup Group_USBClassAudio Audio 1.0 Class Driver - * \brief USB class driver for the USB-IF Audio 1.0 class standard. - * - * \section Sec_USBClassAudio_Dependencies Module Source Dependencies - * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Device/AudioClassDevice.c (Makefile source module name: LUFA_SRC_USBCLASS) - * - LUFA/Drivers/USB/Class/Host/AudioClassHost.c (Makefile source module name: LUFA_SRC_USBCLASS) - * - * \section Sec_USBClassAudio_ModDescription Module Description - * Audio 1.0 Class Driver module. This module contains an internal implementation of the USB Audio 1.0 Class, for both - * Device and Host USB modes. User applications can use this class driver instead of implementing the Audio 1.0 class - * manually via the low-level LUFA APIs. - * - * This module is designed to simplify the user code by exposing only the required interface needed to interface with - * Hosts or Devices using the USB Audio 1.0 Class. - * - * @{ - */ - -#ifndef _AUDIO_CLASS_H_ -#define _AUDIO_CLASS_H_ - - /* Macros: */ - #define __INCLUDE_FROM_USB_DRIVER - #define __INCLUDE_FROM_AUDIO_DRIVER - - /* Includes: */ - #include "../Core/USBMode.h" - - #if defined(USB_CAN_BE_DEVICE) - #include "Device/AudioClassDevice.h" - #endif - - #if defined(USB_CAN_BE_HOST) - #include "Host/AudioClassHost.h" - #endif - -#endif - -/** @} */ - diff --git a/lib/lufa/LUFA/Drivers/USB/Class/CDCClass.h b/lib/lufa/LUFA/Drivers/USB/Class/CDCClass.h deleted file mode 100644 index 30b3ee237d..0000000000 --- a/lib/lufa/LUFA/Drivers/USB/Class/CDCClass.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - LUFA Library - Copyright (C) Dean Camera, 2017. - - dean [at] fourwalledcubicle [dot] com - www.lufa-lib.org -*/ - -/* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) - - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaims all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. -*/ - -/** \file - * \brief Master include file for the library USB CDC-ACM Class driver. - * - * Master include file for the library USB CDC Class driver, for both host and device modes, where available. - * - * This file should be included in all user projects making use of this optional class driver, instead of - * including any headers in the USB/ClassDriver/Device, USB/ClassDriver/Host or USB/ClassDriver/Common subdirectories. - */ - -/** \ingroup Group_USBClassDrivers - * \defgroup Group_USBClassCDC CDC-ACM (Virtual Serial) Class Driver - * \brief USB class driver for the USB-IF CDC-ACM (Virtual Serial) class standard. - * - * \section Sec_USBClassCDC_Dependencies Module Source Dependencies - * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Device/CDCClassDevice.c (Makefile source module name: LUFA_SRC_USBCLASS) - * - LUFA/Drivers/USB/Class/Host/CDCClassHost.c (Makefile source module name: LUFA_SRC_USBCLASS) - * - * \section Sec_USBClassCDC_ModDescription Module Description - * CDC Class Driver module. This module contains an internal implementation of the USB CDC-ACM class Virtual Serial - * Ports, for both Device and Host USB modes. User applications can use this class driver instead of implementing the - * CDC class manually via the low-level LUFA APIs. - * - * This module is designed to simplify the user code by exposing only the required interface needed to interface with - * Hosts or Devices using the USB CDC Class. - * - * @{ - */ - -#ifndef _CDC_CLASS_H_ -#define _CDC_CLASS_H_ - - /* Macros: */ - #define __INCLUDE_FROM_USB_DRIVER - #define __INCLUDE_FROM_CDC_DRIVER - - /* Includes: */ - #include "../Core/USBMode.h" - - #if defined(USB_CAN_BE_DEVICE) - #include "Device/CDCClassDevice.h" - #endif - - #if defined(USB_CAN_BE_HOST) - #include "Host/CDCClassHost.h" - #endif - -#endif - -/** @} */ - diff --git a/lib/lufa/LUFA/Drivers/USB/Class/Common/AndroidAccessoryClassCommon.h b/lib/lufa/LUFA/Drivers/USB/Class/Common/AndroidAccessoryClassCommon.h deleted file mode 100644 index fdf8671fc9..0000000000 --- a/lib/lufa/LUFA/Drivers/USB/Class/Common/AndroidAccessoryClassCommon.h +++ /dev/null @@ -1,129 +0,0 @@ -/* - LUFA Library - Copyright (C) Dean Camera, 2017. - - dean [at] fourwalledcubicle [dot] com - www.lufa-lib.org -*/ - -/* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) - - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaims all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. -*/ - -/** \file - * \brief Common definitions and declarations for the library USB Android Open Accessory Class driver. - * - * Common definitions and declarations for the library USB Android Open Accessory Class driver. - * - * \note This file should not be included directly. It is automatically included as needed by the USB module driver - * dispatch header located in LUFA/Drivers/USB.h. - */ - -/** \ingroup Group_USBClassAOA - * \defgroup Group_USBClassAOACommon Common Class Definitions - * - * \section Sec_USBClassAOACommon_ModDescription Module Description - * Constants, Types and Enum definitions that are common to both Device and Host modes for the USB - * Android Open Accessory Class. - * - * @{ - */ - -#ifndef _AOA_CLASS_COMMON_H_ -#define _AOA_CLASS_COMMON_H_ - - /* Includes: */ - #include "../../Core/StdDescriptors.h" - - /* Enable C linkage for C++ Compilers: */ - #if defined(__cplusplus) - extern "C" { - #endif - - /* Preprocessor Checks: */ - #if !defined(__INCLUDE_FROM_AOA_DRIVER) - #error Do not include this file directly. Include LUFA/Drivers/USB.h instead. - #endif - - /* Macros: */ - /** Product ID value in a Device Descriptor to indicate an Android device in Open Accessory mode. */ - #define ANDROID_ACCESSORY_PRODUCT_ID 0x2D00 - - /** Product ID value in a Device Descriptor to indicate an Android device in Open Accessory and Android Debug mode. */ - #define ANDROID_ACCESSORY_ADB_PRODUCT_ID 0x2D01 - - /* Enums: */ - /** Enum for possible Class, Subclass and Protocol values of device and interface descriptors relating to the - * Android Open Accessory class. - */ - enum AOA_Descriptor_ClassSubclassProtocol_t - { - AOA_CSCP_AOADataClass = 0xFF, /**< Descriptor Class value indicating that the device or interface - * belongs to the AOA data class. - */ - AOA_CSCP_AOADataSubclass = 0xFF, /**< Descriptor Subclass value indicating that the device or interface - * belongs to AOA data subclass. - */ - AOA_CSCP_AOADataProtocol = 0x00, /**< Descriptor Protocol value indicating that the device or interface - * belongs to the AOA data class protocol. - */ - }; - - /** Enum for the Android Open Accessory class specific control requests that can be issued by the USB bus host. */ - enum AOA_ClassRequests_t - { - AOA_REQ_GetAccessoryProtocol = 0x33, /**< Android Open Accessory control request to retrieve the device's supported Accessory Protocol version. */ - AOA_REQ_SendString = 0x34, /**< Android Open Accessory control request to set an accessory property string in the device. */ - AOA_REQ_StartAccessoryMode = 0x35, /**< Android Open Accessory control request to switch the device into Accessory mode. */ - }; - - /** Enum for the possible Android Open Accessory property string indexes. */ - enum AOA_Strings_t - { - AOA_STRING_Manufacturer = 0, /**< Index of the Manufacturer property string. */ - AOA_STRING_Model = 1, /**< Index of the Model Name property string. */ - AOA_STRING_Description = 2, /**< Index of the Description property string. */ - AOA_STRING_Version = 3, /**< Index of the Version Number property string. */ - AOA_STRING_URI = 4, /**< Index of the URI Information property string. */ - AOA_STRING_Serial = 5, /**< Index of the Serial Number property string. */ - - #if !defined(__DOXYGEN__) - AOA_STRING_TOTAL_STRINGS - #endif - }; - - /** Enum for the possible Android Open Accessory protocol versions. */ - enum AOA_Protocols_t - { - AOA_PROTOCOL_AccessoryV1 = 0x0001, /**< Android Open Accessory version 1. */ - AOA_PROTOCOL_AccessoryV2 = 0x0002, /**< Android Open Accessory version 2. */ - }; - - /* Disable C linkage for C++ Compilers: */ - #if defined(__cplusplus) - } - #endif - -#endif - -/** @} */ - - diff --git a/lib/lufa/LUFA/Drivers/USB/Class/Common/AudioClassCommon.h b/lib/lufa/LUFA/Drivers/USB/Class/Common/AudioClassCommon.h deleted file mode 100644 index 46ecd08587..0000000000 --- a/lib/lufa/LUFA/Drivers/USB/Class/Common/AudioClassCommon.h +++ /dev/null @@ -1,780 +0,0 @@ -/* - LUFA Library - Copyright (C) Dean Camera, 2017. - - dean [at] fourwalledcubicle [dot] com - www.lufa-lib.org -*/ - -/* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) - - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaims all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. -*/ - -/** \file - * \brief Common definitions and declarations for the library USB Audio 1.0 Class driver. - * - * Common definitions and declarations for the library USB Audio 1.0 Class driver. - * - * \note This file should not be included directly. It is automatically included as needed by the USB module driver - * dispatch header located in LUFA/Drivers/USB.h. - */ - -/** \ingroup Group_USBClassAudio - * \defgroup Group_USBClassAudioCommon Common Class Definitions - * - * \section Sec_USBClassAudioCommon_ModDescription Module Description - * Constants, Types and Enum definitions that are common to both Device and Host modes for the USB - * Audio 1.0 Class. - * - * @{ - */ - -#ifndef _AUDIO_CLASS_COMMON_H_ -#define _AUDIO_CLASS_COMMON_H_ - - /* Includes: */ - #include "../../Core/StdDescriptors.h" - - /* Enable C linkage for C++ Compilers: */ - #if defined(__cplusplus) - extern "C" { - #endif - - /* Preprocessor Checks: */ - #if !defined(__INCLUDE_FROM_AUDIO_DRIVER) - #error Do not include this file directly. Include LUFA/Drivers/USB.h instead. - #endif - - /* Macros: */ - /** \name Audio Channel Masks */ - //@{ - /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_CHANNEL_LEFT_FRONT (1 << 0) - - /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_CHANNEL_RIGHT_FRONT (1 << 1) - - /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_CHANNEL_CENTER_FRONT (1 << 2) - - /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_CHANNEL_LOW_FREQ_ENHANCE (1 << 3) - - /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_CHANNEL_LEFT_SURROUND (1 << 4) - - /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_CHANNEL_RIGHT_SURROUND (1 << 5) - - /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_CHANNEL_LEFT_OF_CENTER (1 << 6) - - /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_CHANNEL_RIGHT_OF_CENTER (1 << 7) - - /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_CHANNEL_SURROUND (1 << 8) - - /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_CHANNEL_SIDE_LEFT (1 << 9) - - /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_CHANNEL_SIDE_RIGHT (1 << 10) - - /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_CHANNEL_TOP (1 << 11) - //@} - - /** \name Audio Feature Masks */ - //@{ - /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */ - #define AUDIO_FEATURE_MUTE (1 << 0) - - /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */ - #define AUDIO_FEATURE_VOLUME (1 << 1) - - /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */ - #define AUDIO_FEATURE_BASS (1 << 2) - - /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */ - #define AUDIO_FEATURE_MID (1 << 3) - - /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */ - #define AUDIO_FEATURE_TREBLE (1 << 4) - - /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */ - #define AUDIO_FEATURE_GRAPHIC_EQUALIZER (1 << 5) - - /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */ - #define AUDIO_FEATURE_AUTOMATIC_GAIN (1 << 6) - - /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */ - #define AUDIO_FEATURE_DELAY (1 << 7) - - /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */ - #define AUDIO_FEATURE_BASS_BOOST (1 << 8) - - /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */ - #define AUDIO_FEATURE_BASS_LOUDNESS (1 << 9) - //@} - - /** \name Audio Terminal Types */ - //@{ - /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_TERMINAL_UNDEFINED 0x0100 - - /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_TERMINAL_STREAMING 0x0101 - - /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_TERMINAL_VENDOR 0x01FF - - /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_TERMINAL_IN_UNDEFINED 0x0200 - - /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_TERMINAL_IN_MIC 0x0201 - - /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_TERMINAL_IN_DESKTOP_MIC 0x0202 - - /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_TERMINAL_IN_PERSONAL_MIC 0x0203 - - /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_TERMINAL_IN_OMNIDIR_MIC 0x0204 - - /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_TERMINAL_IN_MIC_ARRAY 0x0205 - - /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_TERMINAL_IN_PROCESSING_MIC 0x0206 - - /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_TERMINAL_IN_OUT_UNDEFINED 0x0300 - - /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_TERMINAL_OUT_SPEAKER 0x0301 - - /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_TERMINAL_OUT_HEADPHONES 0x0302 - - /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_TERMINAL_OUT_HEAD_MOUNTED 0x0303 - - /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_TERMINAL_OUT_DESKTOP 0x0304 - - /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_TERMINAL_OUT_ROOM 0x0305 - - /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_TERMINAL_OUT_COMMUNICATION 0x0306 - - /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ - #define AUDIO_TERMINAL_OUT_LOWFREQ 0x0307 - //@} - - /** Convenience macro to fill a 24-bit \ref USB_Audio_SampleFreq_t structure with the given sample rate as a 24-bit number. - * - * \param[in] freq Required audio sampling frequency in HZ - */ - #define AUDIO_SAMPLE_FREQ(freq) {.Byte1 = ((uint32_t)freq & 0xFF), .Byte2 = (((uint32_t)freq >> 8) & 0xFF), .Byte3 = (((uint32_t)freq >> 16) & 0xFF)} - - /** Mask for the attributes parameter of an Audio class-specific Endpoint descriptor, indicating that the endpoint - * accepts only filled endpoint packets of audio samples. - */ - #define AUDIO_EP_FULL_PACKETS_ONLY (1 << 7) - - /** Mask for the attributes parameter of an Audio class-specific Endpoint descriptor, indicating that the endpoint - * will accept partially filled endpoint packets of audio samples. - */ - #define AUDIO_EP_ACCEPTS_SMALL_PACKETS (0 << 7) - - /** Mask for the attributes parameter of an Audio class-specific Endpoint descriptor, indicating that the endpoint - * allows for sampling frequency adjustments to be made via control requests directed at the endpoint. - */ - #define AUDIO_EP_SAMPLE_FREQ_CONTROL (1 << 0) - - /** Mask for the attributes parameter of an Audio class-specific Endpoint descriptor, indicating that the endpoint - * allows for pitch adjustments to be made via control requests directed at the endpoint. - */ - #define AUDIO_EP_PITCH_CONTROL (1 << 1) - - /* Enums: */ - /** Enum for possible Class, Subclass and Protocol values of device and interface descriptors relating to the Audio - * device class. - */ - enum Audio_Descriptor_ClassSubclassProtocol_t - { - AUDIO_CSCP_AudioClass = 0x01, /**< Descriptor Class value indicating that the device or - * interface belongs to the USB Audio 1.0 class. - */ - AUDIO_CSCP_ControlSubclass = 0x01, /**< Descriptor Subclass value indicating that the device or - * interface belongs to the Audio Control subclass. - */ - AUDIO_CSCP_ControlProtocol = 0x00, /**< Descriptor Protocol value indicating that the device or - * interface belongs to the Audio Control protocol. - */ - AUDIO_CSCP_AudioStreamingSubclass = 0x02, /**< Descriptor Subclass value indicating that the device or - * interface belongs to the MIDI Streaming subclass. - */ - AUDIO_CSCP_MIDIStreamingSubclass = 0x03, /**< Descriptor Subclass value indicating that the device or - * interface belongs to the Audio streaming subclass. - */ - AUDIO_CSCP_StreamingProtocol = 0x00, /**< Descriptor Protocol value indicating that the device or - * interface belongs to the Streaming Audio protocol. - */ - }; - - /** Audio class specific interface description subtypes, for the Audio Control interface. */ - enum Audio_CSInterface_AC_SubTypes_t - { - AUDIO_DSUBTYPE_CSInterface_Header = 0x01, /**< Audio class specific control interface header. */ - AUDIO_DSUBTYPE_CSInterface_InputTerminal = 0x02, /**< Audio class specific control interface Input Terminal. */ - AUDIO_DSUBTYPE_CSInterface_OutputTerminal = 0x03, /**< Audio class specific control interface Output Terminal. */ - AUDIO_DSUBTYPE_CSInterface_Mixer = 0x04, /**< Audio class specific control interface Mixer Unit. */ - AUDIO_DSUBTYPE_CSInterface_Selector = 0x05, /**< Audio class specific control interface Selector Unit. */ - AUDIO_DSUBTYPE_CSInterface_Feature = 0x06, /**< Audio class specific control interface Feature Unit. */ - AUDIO_DSUBTYPE_CSInterface_Processing = 0x07, /**< Audio class specific control interface Processing Unit. */ - AUDIO_DSUBTYPE_CSInterface_Extension = 0x08, /**< Audio class specific control interface Extension Unit. */ - }; - - /** Audio class specific interface description subtypes, for the Audio Streaming interface. */ - enum Audio_CSInterface_AS_SubTypes_t - { - AUDIO_DSUBTYPE_CSInterface_General = 0x01, /**< Audio class specific streaming interface general descriptor. */ - AUDIO_DSUBTYPE_CSInterface_FormatType = 0x02, /**< Audio class specific streaming interface format type descriptor. */ - AUDIO_DSUBTYPE_CSInterface_FormatSpecific = 0x03, /**< Audio class specific streaming interface format information descriptor. */ - }; - - /** Audio class specific endpoint description subtypes, for the Audio Streaming interface. */ - enum Audio_CSEndpoint_SubTypes_t - { - AUDIO_DSUBTYPE_CSEndpoint_General = 0x01, /**< Audio class specific endpoint general descriptor. */ - }; - - /** Enum for the Audio class specific control requests that can be issued by the USB bus host. */ - enum Audio_ClassRequests_t - { - AUDIO_REQ_SetCurrent = 0x01, /**< Audio class-specific request to set the current value of a parameter within the device. */ - AUDIO_REQ_SetMinimum = 0x02, /**< Audio class-specific request to set the minimum value of a parameter within the device. */ - AUDIO_REQ_SetMaximum = 0x03, /**< Audio class-specific request to set the maximum value of a parameter within the device. */ - AUDIO_REQ_SetResolution = 0x04, /**< Audio class-specific request to set the resolution value of a parameter within the device. */ - AUDIO_REQ_SetMemory = 0x05, /**< Audio class-specific request to set the memory value of a parameter within the device. */ - AUDIO_REQ_GetCurrent = 0x81, /**< Audio class-specific request to get the current value of a parameter within the device. */ - AUDIO_REQ_GetMinimum = 0x82, /**< Audio class-specific request to get the minimum value of a parameter within the device. */ - AUDIO_REQ_GetMaximum = 0x83, /**< Audio class-specific request to get the maximum value of a parameter within the device. */ - AUDIO_REQ_GetResolution = 0x84, /**< Audio class-specific request to get the resolution value of a parameter within the device. */ - AUDIO_REQ_GetMemory = 0x85, /**< Audio class-specific request to get the memory value of a parameter within the device. */ - AUDIO_REQ_GetStatus = 0xFF, /**< Audio class-specific request to get the device status. */ - }; - - /** Enum for Audio class specific Endpoint control modifiers which can be set and retrieved by a USB host, if the corresponding - * endpoint control is indicated to be supported in the Endpoint's Audio-class specific endpoint descriptor. - */ - enum Audio_EndpointControls_t - { - AUDIO_EPCONTROL_SamplingFreq = 0x01, /**< Sampling frequency adjustment of the endpoint. */ - AUDIO_EPCONTROL_Pitch = 0x02, /**< Pitch adjustment of the endpoint. */ - }; - - /* Type Defines: */ - /** \brief Audio class-specific Input Terminal Descriptor (LUFA naming conventions). - * - * Type define for an Audio class-specific input terminal descriptor. This indicates to the host that the device - * contains an input audio source, either from a physical terminal on the device, or a logical terminal (for example, - * a USB endpoint). See the USB Audio specification for more details. - * - * \see \ref USB_Audio_StdDescriptor_InputTerminal_t for the version of this type with standard element names. - * - * \note Regardless of CPU architecture, these values should be stored as little endian. - */ - typedef struct - { - USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */ - uint8_t Subtype; /**< Sub type value used to distinguish between audio class-specific descriptors, - * must be \ref AUDIO_DSUBTYPE_CSInterface_InputTerminal. - */ - - uint8_t TerminalID; /**< ID value of this terminal unit - must be a unique value within the device. */ - uint16_t TerminalType; /**< Type of terminal, a \c TERMINAL_* mask. */ - uint8_t AssociatedOutputTerminal; /**< ID of associated output terminal, for physically grouped terminals - * such as the speaker and microphone of a phone handset. - */ - uint8_t TotalChannels; /**< Total number of separate audio channels within this interface (right, left, etc.) */ - uint16_t ChannelConfig; /**< \c CHANNEL_* masks indicating what channel layout is supported by this terminal. */ - - uint8_t ChannelStrIndex; /**< Index of a string descriptor describing this channel within the device. */ - uint8_t TerminalStrIndex; /**< Index of a string descriptor describing this descriptor within the device. */ - } ATTR_PACKED USB_Audio_Descriptor_InputTerminal_t; - - /** \brief Audio class-specific Input Terminal Descriptor (USB-IF naming conventions). - * - * Type define for an Audio class-specific input terminal descriptor. This indicates to the host that the device - * contains an input audio source, either from a physical terminal on the device, or a logical terminal (for example, - * a USB endpoint). See the USB Audio specification for more details. - * - * \see \ref USB_Audio_Descriptor_InputTerminal_t for the version of this type with non-standard LUFA specific - * element names. - * - * \note Regardless of CPU architecture, these values should be stored as little endian. - */ - typedef struct - { - uint8_t bLength; /**< Size of the descriptor, in bytes. */ - uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value - * given by the specific class. - */ - - uint8_t bDescriptorSubtype; /**< Sub type value used to distinguish between audio class-specific descriptors, - * must be \ref AUDIO_DSUBTYPE_CSInterface_InputTerminal. - */ - uint8_t bTerminalID; /**< ID value of this terminal unit - must be a unique value within the device. */ - uint16_t wTerminalType; /**< Type of terminal, a \c TERMINAL_* mask. */ - uint8_t bAssocTerminal; /**< ID of associated output terminal, for physically grouped terminals - * such as the speaker and microphone of a phone handset. - */ - uint8_t bNrChannels; /**< Total number of separate audio channels within this interface (right, left, etc.) */ - uint16_t wChannelConfig; /**< \c CHANNEL_* masks indicating what channel layout is supported by this terminal. */ - - uint8_t iChannelNames; /**< Index of a string descriptor describing this channel within the device. */ - uint8_t iTerminal; /**< Index of a string descriptor describing this descriptor within the device. */ - } ATTR_PACKED USB_Audio_StdDescriptor_InputTerminal_t; - - /** \brief Audio class-specific Output Terminal Descriptor (LUFA naming conventions). - * - * Type define for an Audio class-specific output terminal descriptor. This indicates to the host that the device - * contains an output audio sink, either to a physical terminal on the device, or a logical terminal (for example, - * a USB endpoint). See the USB Audio specification for more details. - * - * \see \ref USB_Audio_StdDescriptor_OutputTerminal_t for the version of this type with standard element names. - * - * \note Regardless of CPU architecture, these values should be stored as little endian. - */ - typedef struct - { - USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */ - uint8_t Subtype; /**< Sub type value used to distinguish between audio class-specific descriptors, - * must be \ref AUDIO_DSUBTYPE_CSInterface_OutputTerminal. - */ - - uint8_t TerminalID; /**< ID value of this terminal unit - must be a unique value within the device. */ - uint16_t TerminalType; /**< Type of terminal, a \c TERMINAL_* mask. */ - uint8_t AssociatedInputTerminal; /**< ID of associated input terminal, for physically grouped terminals - * such as the speaker and microphone of a phone handset. - */ - uint8_t SourceID; /**< ID value of the unit this terminal's audio is sourced from. */ - - uint8_t TerminalStrIndex; /**< Index of a string descriptor describing this descriptor within the device. */ - } ATTR_PACKED USB_Audio_Descriptor_OutputTerminal_t; - - /** \brief Audio class-specific Output Terminal Descriptor (USB-IF naming conventions). - * - * Type define for an Audio class-specific output terminal descriptor. This indicates to the host that the device - * contains an output audio sink, either to a physical terminal on the device, or a logical terminal (for example, - * a USB endpoint). See the USB Audio specification for more details. - * - * \see \ref USB_Audio_Descriptor_OutputTerminal_t for the version of this type with non-standard LUFA specific - * element names. - * - * \note Regardless of CPU architecture, these values should be stored as little endian. - */ - typedef struct - { - uint8_t bLength; /**< Size of the descriptor, in bytes. */ - uint8_t bDescriptorType; /**< Sub type value used to distinguish between audio class-specific descriptors, - * must be \ref AUDIO_DSUBTYPE_CSInterface_OutputTerminal. - */ - - uint8_t bDescriptorSubtype; /**< Sub type value used to distinguish between audio class-specific descriptors, - * a value from the \ref Audio_CSInterface_AC_SubTypes_t enum. - */ - uint8_t bTerminalID; /**< ID value of this terminal unit - must be a unique value within the device. */ - uint16_t wTerminalType; /**< Type of terminal, a \c TERMINAL_* mask. */ - uint8_t bAssocTerminal; /**< ID of associated input terminal, for physically grouped terminals - * such as the speaker and microphone of a phone handset. - */ - uint8_t bSourceID; /**< ID value of the unit this terminal's audio is sourced from. */ - - uint8_t iTerminal; /**< Index of a string descriptor describing this descriptor within the device. */ - } ATTR_PACKED USB_Audio_StdDescriptor_OutputTerminal_t; - - /** \brief Audio class-specific Interface Descriptor (LUFA naming conventions). - * - * Type define for an Audio class-specific interface descriptor. This follows a regular interface descriptor to - * supply extra information about the audio device's layout to the host. See the USB Audio specification for more - * details. - * - * \see \ref USB_Audio_StdDescriptor_Interface_AC_t for the version of this type with standard element names. - * - * \note Regardless of CPU architecture, these values should be stored as little endian. - */ - typedef struct - { - USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */ - uint8_t Subtype; /**< Sub type value used to distinguish between audio class-specific descriptors, - * a value from the \ref Audio_CSInterface_AS_SubTypes_t enum. - */ - - uint16_t ACSpecification; /**< Binary Coded Decimal value, indicating the supported Audio Class specification version. - * - * \see \ref VERSION_BCD() utility macro. - */ - uint16_t TotalLength; /**< Total length of the Audio class-specific descriptors, including this descriptor. */ - - uint8_t InCollection; /**< Total number of Audio Streaming interfaces linked to this Audio Control interface (must be 1). */ - uint8_t InterfaceNumber; /**< Interface number of the associated Audio Streaming interface. */ - } ATTR_PACKED USB_Audio_Descriptor_Interface_AC_t; - - /** \brief Audio class-specific Interface Descriptor (USB-IF naming conventions). - * - * Type define for an Audio class-specific interface descriptor. This follows a regular interface descriptor to - * supply extra information about the audio device's layout to the host. See the USB Audio specification for more - * details. - * - * \see \ref USB_Audio_Descriptor_Interface_AC_t for the version of this type with non-standard LUFA specific - * element names. - * - * \note Regardless of CPU architecture, these values should be stored as little endian. - */ - typedef struct - { - uint8_t bLength; /**< Size of the descriptor, in bytes. */ - uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value - * given by the specific class. - */ - - uint8_t bDescriptorSubtype;/**< Sub type value used to distinguish between audio class-specific descriptors, - * a value from the \ref Audio_CSInterface_AS_SubTypes_t enum. - */ - - uint16_t bcdADC; /**< Binary coded decimal value, indicating the supported Audio Class specification version. - * - * \see \ref VERSION_BCD() utility macro. - */ - uint16_t wTotalLength; /**< Total length of the Audio class-specific descriptors, including this descriptor. */ - - uint8_t bInCollection; /**< Total number of Audio Streaming interfaces linked to this Audio Control interface (must be 1). */ - uint8_t bInterfaceNumbers; /**< Interface number of the associated Audio Streaming interface. */ - } ATTR_PACKED USB_Audio_StdDescriptor_Interface_AC_t; - - /** \brief Audio class-specific Feature Unit Descriptor (LUFA naming conventions). - * - * Type define for an Audio class-specific Feature Unit descriptor. This indicates to the host what features - * are present in the device's audio stream for basic control, such as per-channel volume. See the USB Audio - * specification for more details. - * - * \see \ref USB_Audio_StdDescriptor_FeatureUnit_t for the version of this type with standard element names. - * - * \note Regardless of CPU architecture, these values should be stored as little endian. - */ - typedef struct - { - USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */ - uint8_t Subtype; /**< Sub type value used to distinguish between audio class-specific descriptors, - * must be \ref AUDIO_DSUBTYPE_CSInterface_Feature. - */ - - uint8_t UnitID; /**< ID value of this feature unit - must be a unique value within the device. */ - uint8_t SourceID; /**< Source ID value of the audio source input into this feature unit. */ - - uint8_t ControlSize; /**< Size of each element in the \c ChannelControls array. */ - uint8_t ChannelControls[3]; /**< Feature masks for the control channel, and each separate audio channel. */ - - uint8_t FeatureUnitStrIndex; /**< Index of a string descriptor describing this descriptor within the device. */ - } ATTR_PACKED USB_Audio_Descriptor_FeatureUnit_t; - - /** \brief Audio class-