diff --git a/Bootloaders/CDC/makefile b/Bootloaders/CDC/makefile index 87cc5c79211068c7c9b9352971d1175cd111b880..83f38089454778653de12b3b41ecfdf983eedd89 100644 --- a/Bootloaders/CDC/makefile +++ b/Bootloaders/CDC/makefile @@ -121,7 +121,6 @@ LUFA_PATH = ../.. # LUFA library compile-time options LUFA_OPTS = -D USB_DEVICE_ONLY -LUFA_OPTS += -D USE_NONSTANDARD_DESCRIPTOR_NAMES LUFA_OPTS += -D DEVICE_STATE_AS_GPIOR=0 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 diff --git a/Bootloaders/DFU/makefile b/Bootloaders/DFU/makefile index 622290ff3ed6ba43c54f9131451f2d0050beb067..0a1e02ea2abe260039687d31b70cd75de3420109 100644 --- a/Bootloaders/DFU/makefile +++ b/Bootloaders/DFU/makefile @@ -121,7 +121,6 @@ LUFA_PATH = ../.. # LUFA library compile-time options LUFA_OPTS = -D USB_DEVICE_ONLY -LUFA_OPTS += -D USE_NONSTANDARD_DESCRIPTOR_NAMES LUFA_OPTS += -D DEVICE_STATE_AS_GPIOR=0 LUFA_OPTS += -D CONTROL_ONLY_DEVICE LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=32 diff --git a/Bootloaders/TeensyHID/makefile b/Bootloaders/TeensyHID/makefile index 15d1d9dffc9c5eb317ef7b45087b69f52f80cd5d..1eec1f9aee7d6a8693b1f47f2189dab0684f6e1e 100644 --- a/Bootloaders/TeensyHID/makefile +++ b/Bootloaders/TeensyHID/makefile @@ -121,7 +121,6 @@ LUFA_PATH = ../.. # LUFA library compile-time options LUFA_OPTS = -D USB_DEVICE_ONLY -LUFA_OPTS += -D USE_NONSTANDARD_DESCRIPTOR_NAMES LUFA_OPTS += -D CONTROL_ONLY_DEVICE LUFA_OPTS += -D DEVICE_STATE_AS_GPIOR=0 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 diff --git a/Demos/Device/ClassDriver/AudioInput/makefile b/Demos/Device/ClassDriver/AudioInput/makefile index d68fb10df94d46ecacfc8e2476d45d92f0823e7a..17514384efc03105449bab902f0e53de0d41ae6b 100644 --- a/Demos/Device/ClassDriver/AudioInput/makefile +++ b/Demos/Device/ClassDriver/AudioInput/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 diff --git a/Demos/Device/ClassDriver/AudioOutput/makefile b/Demos/Device/ClassDriver/AudioOutput/makefile index 9940103e36abff0002d2b51f64a48262bb8c2c19..ec60801be8bf6412494c2ead996cc7920ebb33d3 100644 --- a/Demos/Device/ClassDriver/AudioOutput/makefile +++ b/Demos/Device/ClassDriver/AudioOutput/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 diff --git a/Demos/Device/ClassDriver/CDC/makefile b/Demos/Device/ClassDriver/CDC/makefile index 996ec418d9bbb6fbc1bb048cde74bc88d23d7270..4aec962b9b176c4a27667c5303740926afed39c7 100644 --- a/Demos/Device/ClassDriver/CDC/makefile +++ b/Demos/Device/ClassDriver/CDC/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_DEVICE_ONLY +LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS diff --git a/Demos/Device/ClassDriver/DualCDC/makefile b/Demos/Device/ClassDriver/DualCDC/makefile index 0f2f41507471f018c18c80071d54864525cef8fa..f3750170af9a4fc0c1a6f4661b1e76f654bc55f6 100644 --- a/Demos/Device/ClassDriver/DualCDC/makefile +++ b/Demos/Device/ClassDriver/DualCDC/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_DEVICE_ONLY +LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS diff --git a/Demos/Device/ClassDriver/GenericHID/makefile b/Demos/Device/ClassDriver/GenericHID/makefile index bf5e411930a8b0eb068ddea473041aeb71e0f879..17037623aac0c395e10a54c327d36d182231ce28 100644 --- a/Demos/Device/ClassDriver/GenericHID/makefile +++ b/Demos/Device/ClassDriver/GenericHID/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_DEVICE_ONLY +LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS diff --git a/Demos/Device/ClassDriver/Joystick/makefile b/Demos/Device/ClassDriver/Joystick/makefile index 10051d70cb8f719c3ffc6f2af79b655f16d8360e..2915b97b4428b8ebe3153be18d276a24e2052805 100644 --- a/Demos/Device/ClassDriver/Joystick/makefile +++ b/Demos/Device/ClassDriver/Joystick/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_DEVICE_ONLY +LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS diff --git a/Demos/Device/ClassDriver/Keyboard/makefile b/Demos/Device/ClassDriver/Keyboard/makefile index d9e805aa0167c438a3e4af2b31ff207a7727279a..5f06d18120f9fbc533b43735575e321ea5a4b6b9 100644 --- a/Demos/Device/ClassDriver/Keyboard/makefile +++ b/Demos/Device/ClassDriver/Keyboard/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_DEVICE_ONLY +LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS diff --git a/Demos/Device/ClassDriver/KeyboardMouse/makefile b/Demos/Device/ClassDriver/KeyboardMouse/makefile index a02e34dd54a5d5817ca759c5a62e52675df0bdad..aaaa6e72e48f329ebc745032a0ba0d249590e454 100644 --- a/Demos/Device/ClassDriver/KeyboardMouse/makefile +++ b/Demos/Device/ClassDriver/KeyboardMouse/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_DEVICE_ONLY +LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS diff --git a/Demos/Device/ClassDriver/MIDI/makefile b/Demos/Device/ClassDriver/MIDI/makefile index dd150d6ce5c0d07cfa56e2c1646913395c059c52..d9a0d23a193e6b19367c7c078f066d9bc0a950aa 100644 --- a/Demos/Device/ClassDriver/MIDI/makefile +++ b/Demos/Device/ClassDriver/MIDI/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_DEVICE_ONLY +LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS diff --git a/Demos/Device/ClassDriver/MassStorage/makefile b/Demos/Device/ClassDriver/MassStorage/makefile index 34d76a977d4efde4c667f9a5879744aa70a700f2..cac929c233406612ed613b4ccbf69db9b4acbdbe 100644 --- a/Demos/Device/ClassDriver/MassStorage/makefile +++ b/Demos/Device/ClassDriver/MassStorage/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_DEVICE_ONLY +LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS diff --git a/Demos/Device/ClassDriver/Mouse/makefile b/Demos/Device/ClassDriver/Mouse/makefile index 3664e8c4d5721fbdf21a1c82b80f04309700e668..62f3a6913afdd1ecee15f1cb3b080b66528ad228 100644 --- a/Demos/Device/ClassDriver/Mouse/makefile +++ b/Demos/Device/ClassDriver/Mouse/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_DEVICE_ONLY +LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS diff --git a/Demos/Device/ClassDriver/RNDISEthernet/makefile b/Demos/Device/ClassDriver/RNDISEthernet/makefile index 84a39327a80eb59f0bc873a566a8127f1dfb2703..a2ee1d86b848d5ccadc94c3456b3ab1dad8333f1 100644 --- a/Demos/Device/ClassDriver/RNDISEthernet/makefile +++ b/Demos/Device/ClassDriver/RNDISEthernet/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_DEVICE_ONLY +LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS diff --git a/Demos/Device/ClassDriver/USBtoSerial/makefile b/Demos/Device/ClassDriver/USBtoSerial/makefile index ea45d066f60bbdf5549cace46d733f715ef553d0..da62fa62016bf637cfe1fbbc2458ff5fe19b9a19 100644 --- a/Demos/Device/ClassDriver/USBtoSerial/makefile +++ b/Demos/Device/ClassDriver/USBtoSerial/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_DEVICE_ONLY +LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS diff --git a/Demos/Device/Incomplete/Sideshow/makefile b/Demos/Device/Incomplete/Sideshow/makefile index 6ceafa1a75bbe539af6f6ccbeda28b56bc52fc8b..c1b38ff235fa1d724c24ab1001b7ec6b18537425 100644 --- a/Demos/Device/Incomplete/Sideshow/makefile +++ b/Demos/Device/Incomplete/Sideshow/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 diff --git a/Demos/Device/LowLevel/AudioInput/makefile b/Demos/Device/LowLevel/AudioInput/makefile index 06703c0e177c7e564e36f623ab6951e22f9e591b..fa2f7bc5187b48f767dfa9cdf2c41eb2ed7f24c2 100644 --- a/Demos/Device/LowLevel/AudioInput/makefile +++ b/Demos/Device/LowLevel/AudioInput/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 diff --git a/Demos/Device/LowLevel/AudioOutput/makefile b/Demos/Device/LowLevel/AudioOutput/makefile index 611472058a99dbdfd41c4a042d3fd08fd6259995..606c5b77fb1370234ccf97e891d3dffec38b5a69 100644 --- a/Demos/Device/LowLevel/AudioOutput/makefile +++ b/Demos/Device/LowLevel/AudioOutput/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 diff --git a/Demos/Device/LowLevel/CDC/makefile b/Demos/Device/LowLevel/CDC/makefile index 8132582491749e94af82866241cae59b45e0d91e..f69c1caae37e38a23bace8d6f890d6d9f751108d 100644 --- a/Demos/Device/LowLevel/CDC/makefile +++ b/Demos/Device/LowLevel/CDC/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 diff --git a/Demos/Device/LowLevel/DualCDC/makefile b/Demos/Device/LowLevel/DualCDC/makefile index 87c4ca8a71eb374c96f1276f0428a83006499617..629d7d57bac25bbf54ff4392c153fb466e2f2426 100644 --- a/Demos/Device/LowLevel/DualCDC/makefile +++ b/Demos/Device/LowLevel/DualCDC/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 diff --git a/Demos/Device/LowLevel/GenericHID/makefile b/Demos/Device/LowLevel/GenericHID/makefile index 6f5a6e4160b25582986a6a65b7afa0f25a243edc..e1f407c0c7e9309dc5285aa841c34949466739b0 100644 --- a/Demos/Device/LowLevel/GenericHID/makefile +++ b/Demos/Device/LowLevel/GenericHID/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 diff --git a/Demos/Device/LowLevel/Joystick/makefile b/Demos/Device/LowLevel/Joystick/makefile index b23c15b13dbf936c9f14e01be4bc9fe72bb005dd..88057eb20055f71d0e94282c0f904247559b04a1 100644 --- a/Demos/Device/LowLevel/Joystick/makefile +++ b/Demos/Device/LowLevel/Joystick/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 diff --git a/Demos/Device/LowLevel/Keyboard/makefile b/Demos/Device/LowLevel/Keyboard/makefile index 0561df25140cf62862ce402667b34dc6baba8f7c..09d0d57f36d638e5388cd78a488684b45d57f0dd 100644 --- a/Demos/Device/LowLevel/Keyboard/makefile +++ b/Demos/Device/LowLevel/Keyboard/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 diff --git a/Demos/Device/LowLevel/KeyboardMouse/makefile b/Demos/Device/LowLevel/KeyboardMouse/makefile index e7aae35ce7937d4acd39ecb1560a51c73bfdb873..bb391e27844122807f97e3b698ac9a7c424e5c2a 100644 --- a/Demos/Device/LowLevel/KeyboardMouse/makefile +++ b/Demos/Device/LowLevel/KeyboardMouse/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 diff --git a/Demos/Device/LowLevel/MIDI/makefile b/Demos/Device/LowLevel/MIDI/makefile index 66843cd3b4c636b24291cd8d09b1799279af3c86..e8c675c1f01e5a4c274e3305f3ec5952f6ec441c 100644 --- a/Demos/Device/LowLevel/MIDI/makefile +++ b/Demos/Device/LowLevel/MIDI/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 diff --git a/Demos/Device/LowLevel/MassStorage/makefile b/Demos/Device/LowLevel/MassStorage/makefile index 954324f17aa2ed430edcfca7b78f37354d59b7dd..5a23ad0485bfca5fdf9c2ef71a41e01d5da9a4e7 100644 --- a/Demos/Device/LowLevel/MassStorage/makefile +++ b/Demos/Device/LowLevel/MassStorage/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_DEVICE_ONLY +LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS diff --git a/Demos/Device/LowLevel/Mouse/makefile b/Demos/Device/LowLevel/Mouse/makefile index 3eec080fdffbaf5ebfc39c6e51585f93fd44289b..865bdcaed5445669ad277a983d73133f1498e83f 100644 --- a/Demos/Device/LowLevel/Mouse/makefile +++ b/Demos/Device/LowLevel/Mouse/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 diff --git a/Demos/Device/LowLevel/RNDISEthernet/makefile b/Demos/Device/LowLevel/RNDISEthernet/makefile index c6d8306c9986921e166789f188035a0057527bcc..caa48651bfc57f760262d586d99b3b3463b3fe94 100644 --- a/Demos/Device/LowLevel/RNDISEthernet/makefile +++ b/Demos/Device/LowLevel/RNDISEthernet/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 diff --git a/Demos/Device/LowLevel/USBtoSerial/makefile b/Demos/Device/LowLevel/USBtoSerial/makefile index 324367ae1df68730c92e158e025762f5088d91f6..c607d5e97784fb1b916a7befb9dad092ac37ccaa 100644 --- a/Demos/Device/LowLevel/USBtoSerial/makefile +++ b/Demos/Device/LowLevel/USBtoSerial/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 diff --git a/Demos/Host/ClassDriver/CDCHost/makefile b/Demos/Host/ClassDriver/CDCHost/makefile index db62b2ec0656d6cc2ddfefc17239260c33428380..9163fd08747e5be5ab3795e7c1cbadd703a61beb 100644 --- a/Demos/Host/ClassDriver/CDCHost/makefile +++ b/Demos/Host/ClassDriver/CDCHost/makefile @@ -116,7 +116,6 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" diff --git a/Demos/Host/ClassDriver/MassStorageHost/makefile b/Demos/Host/ClassDriver/MassStorageHost/makefile index 42bbff874c1e8c18fb9012238748eff36f06501c..a046778fe1cca418dad60ac431660408a3550651 100644 --- a/Demos/Host/ClassDriver/MassStorageHost/makefile +++ b/Demos/Host/ClassDriver/MassStorageHost/makefile @@ -116,9 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_HOST_ONLY -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" diff --git a/Demos/Host/ClassDriver/MouseHost/makefile b/Demos/Host/ClassDriver/MouseHost/makefile index 03bcf30f5a2835fd6f3b7166c7b30f54668de559..5d1d953192bb235ae71ab546bbecd809ff159d2f 100644 --- a/Demos/Host/ClassDriver/MouseHost/makefile +++ b/Demos/Host/ClassDriver/MouseHost/makefile @@ -116,9 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES LUFA_OPTS += -D USB_HOST_ONLY -LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" diff --git a/Demos/Host/ClassDriver/StillImageHost/makefile b/Demos/Host/ClassDriver/StillImageHost/makefile index 626d6e6858b98d1c4d3834944c48af60297c9677..def72a99883f0bf71959de7d131634a5979a21fe 100644 --- a/Demos/Host/ClassDriver/StillImageHost/makefile +++ b/Demos/Host/ClassDriver/StillImageHost/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_HOST_ONLY +LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" diff --git a/Demos/Host/Incomplete/BluetoothHost/makefile b/Demos/Host/Incomplete/BluetoothHost/makefile index 019554293e3179d8763d0739229dbc6bf409d40d..3ae74d4d95e63ee6373b59640992ebae5a36990a 100644 --- a/Demos/Host/Incomplete/BluetoothHost/makefile +++ b/Demos/Host/Incomplete/BluetoothHost/makefile @@ -123,8 +123,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_HOST_ONLY +LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" diff --git a/Demos/Host/LowLevel/CDCHost/makefile b/Demos/Host/LowLevel/CDCHost/makefile index 282915fa9b1ea2bb094ac38e17b3cb0ce51a3d95..7cc95745bc4f8623a73ac8e9068a70a2e5195b51 100644 --- a/Demos/Host/LowLevel/CDCHost/makefile +++ b/Demos/Host/LowLevel/CDCHost/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_HOST_ONLY +LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" diff --git a/Demos/Host/LowLevel/GenericHIDHost/makefile b/Demos/Host/LowLevel/GenericHIDHost/makefile index bc474604d52cdef677fdcde1da70ff694382fa33..6e0641156e9e2ed702a3270171559101de4edcb5 100644 --- a/Demos/Host/LowLevel/GenericHIDHost/makefile +++ b/Demos/Host/LowLevel/GenericHIDHost/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" diff --git a/Demos/Host/LowLevel/KeyboardHost/makefile b/Demos/Host/LowLevel/KeyboardHost/makefile index 072ca250659ad2b6e536524691f3ef4996eb0e42..d6d635840171a8b12f844c36a12d1b62660e800a 100644 --- a/Demos/Host/LowLevel/KeyboardHost/makefile +++ b/Demos/Host/LowLevel/KeyboardHost/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_HOST_ONLY +LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" diff --git a/Demos/Host/LowLevel/KeyboardHostWithParser/makefile b/Demos/Host/LowLevel/KeyboardHostWithParser/makefile index 1ec8d4754014f250e31dd34d6e652345ebe96b8c..5561ac7d3c0d7a7c3a62596e5c0853eef6ae6bc7 100644 --- a/Demos/Host/LowLevel/KeyboardHostWithParser/makefile +++ b/Demos/Host/LowLevel/KeyboardHostWithParser/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_HOST_ONLY +LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" diff --git a/Demos/Host/LowLevel/MassStorageHost/makefile b/Demos/Host/LowLevel/MassStorageHost/makefile index 96242749e73a707329ecadb61cd6143037ab2e67..63b1db3b45be8e8d0c9143e191f871021bc3fe3f 100644 --- a/Demos/Host/LowLevel/MassStorageHost/makefile +++ b/Demos/Host/LowLevel/MassStorageHost/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USB_STREAM_TIMEOUT_MS=2000 diff --git a/Demos/Host/LowLevel/MouseHost/makefile b/Demos/Host/LowLevel/MouseHost/makefile index 1f955163099777f01b329fae5fd108716d7dab78..19be8d110d5f1e2b7265ddf1cef69be254b745a4 100644 --- a/Demos/Host/LowLevel/MouseHost/makefile +++ b/Demos/Host/LowLevel/MouseHost/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" diff --git a/Demos/Host/LowLevel/MouseHostWithParser/makefile b/Demos/Host/LowLevel/MouseHostWithParser/makefile index 241563f6793213acbb685f9b342a9874ab626aa6..8cf9d43f9c6c35cb473cdfab0f9ac43d9d863044 100644 --- a/Demos/Host/LowLevel/MouseHostWithParser/makefile +++ b/Demos/Host/LowLevel/MouseHostWithParser/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" diff --git a/Demos/Host/LowLevel/PrinterHost/makefile b/Demos/Host/LowLevel/PrinterHost/makefile index 8e28bdaf184f5a9dc708ad7f1efa5cef20a7b20e..b9f0eb575ddca4a52e2dd2e17830c331c247b029 100644 --- a/Demos/Host/LowLevel/PrinterHost/makefile +++ b/Demos/Host/LowLevel/PrinterHost/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_HOST_ONLY +LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" diff --git a/Demos/Host/LowLevel/StillImageHost/makefile b/Demos/Host/LowLevel/StillImageHost/makefile index 583f7cfc81f5b3cfd8e6b30caf3138fb37cb8da4..64bf730d2637e180a565fcbe7e192729798e8a91 100644 --- a/Demos/Host/LowLevel/StillImageHost/makefile +++ b/Demos/Host/LowLevel/StillImageHost/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" diff --git a/Demos/OTG/TestApp/makefile b/Demos/OTG/TestApp/makefile index 2935bafb55375f5fb972a7f27ec6558deaa8bcf1..7cf4e6e740d3c7731ee09b0e44ddd549315c360e 100644 --- a/Demos/OTG/TestApp/makefile +++ b/Demos/OTG/TestApp/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USE_FLASH_DESCRIPTORS +LUFA_OPTS = -D USE_FLASH_DESCRIPTORS # List C source files here. (C dependencies are automatically generated.) diff --git a/LUFA/Drivers/USB/Class/Host/CDC.c b/LUFA/Drivers/USB/Class/Host/CDC.c index 68dddeacb2e4339167ed9a1af1f90405c3e13cc3..4a4d88461ae1a49f7464b08d2c82bfe393ab889d 100644 --- a/LUFA/Drivers/USB/Class/Host/CDC.c +++ b/LUFA/Drivers/USB/Class/Host/CDC.c @@ -50,12 +50,7 @@ uint8_t CDC_Host_ConfigurePipes(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo, uint return CDC_ENUMERROR_NoCDCInterfaceFound; } - CDCInterfaceInfo->State.ControlInterfaceNumber = -#if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES) - DESCRIPTOR_CAST(ConfigDescriptorData, USB_Descriptor_Interface_t).InterfaceNumber; -#else - DESCRIPTOR_CAST(ConfigDescriptorData, USB_Descriptor_Interface_t).bInterfaceNumber; -#endif + CDCInterfaceInfo->State.ControlInterfaceNumber = DESCRIPTOR_CAST(ConfigDescriptorData, USB_Descriptor_Interface_t).InterfaceNumber; while (FoundEndpoints != (CDC_FOUND_NOTIFICATION_IN | CDC_FOUND_DATAPIPE_IN | CDC_FOUND_DATAPIPE_OUT)) { @@ -259,7 +254,7 @@ uint8_t CDC_Host_SendControlLineStateChange(USB_ClassInfo_CDC_Host_t* CDCInterfa uint8_t CDC_Host_SendString(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo, char* Data, uint16_t Length) { if ((USB_HostState != HOST_STATE_Configured) || !(CDCInterfaceInfo->State.IsActive)) - return; + return PIPE_READYWAIT_NoError; uint8_t ErrorCode; @@ -274,7 +269,7 @@ uint8_t CDC_Host_SendString(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo, char* Da uint8_t CDC_Host_SendByte(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo, uint8_t Data) { if ((USB_HostState != HOST_STATE_Configured) || !(CDCInterfaceInfo->State.IsActive)) - return; + return PIPE_READYWAIT_NoError;; uint8_t ErrorCode; diff --git a/LUFA/Drivers/USB/Class/Host/HID.c b/LUFA/Drivers/USB/Class/Host/HID.c index 15106cee1d709fafaaf296f7cd3cac7a0cc6065e..11dfb67adc37ebbf58844af84de1cb00fb42964e 100644 --- a/LUFA/Drivers/USB/Class/Host/HID.c +++ b/LUFA/Drivers/USB/Class/Host/HID.c @@ -60,14 +60,16 @@ uint8_t HID_Host_ConfigurePipes(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo, uint } while (HIDInterfaceInfo->Config.HIDInterfaceProtocol && (CurrentHIDInterface->Protocol != HIDInterfaceInfo->Config.HIDInterfaceProtocol)); - HIDInterfaceInfo->State.InterfaceNumber = - #if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES) - CurrentHIDInterface->InterfaceNumber; - #else - CurrentHIDInterface->bInterfaceNumber; - #endif + HIDInterfaceInfo->State.InterfaceNumber = CurrentHIDInterface->InterfaceNumber; HIDInterfaceInfo->State.SupportsBootSubClass = (CurrentHIDInterface->SubClass != 0); + if (USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData, DComp_NextHID) != DESCRIPTOR_SEARCH_COMP_Found) + { + return HID_ENUMERROR_NoHIDDescriptorFound; + } + + HIDInterfaceInfo->State.HIDReportSize = DESCRIPTOR_CAST(ConfigDescriptorData, USB_HID_Descriptor_t).HIDReportLength; + while (FoundEndpoints != (HID_FOUND_DATAPIPE_IN | HID_FOUND_DATAPIPE_OUT)) { if (USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData, @@ -117,6 +119,16 @@ static uint8_t DComp_HID_Host_NextHIDInterface(void* CurrentDescriptor) return DESCRIPTOR_SEARCH_NotFound; } +static uint8_t DComp_NextHID(void* CurrentDescriptor) +{ + if (DESCRIPTOR_TYPE(CurrentDescriptor) == DTYPE_HID) + return DESCRIPTOR_SEARCH_Found; + else if (DESCRIPTOR_TYPE(CurrentDescriptor) == DTYPE_Interface) + return DESCRIPTOR_SEARCH_Fail; + else + return DESCRIPTOR_SEARCH_NotFound; +} + static uint8_t DComp_HID_Host_NextHIDInterfaceEndpoint(void* CurrentDescriptor) { if (DESCRIPTOR_TYPE(CurrentDescriptor) == DTYPE_Endpoint) @@ -170,6 +182,9 @@ uint8_t USB_HID_Host_SetProtocol(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo, boo Pipe_SelectPipe(PIPE_CONTROLPIPE); + if (UseReportProtocol && !(HIDInterfaceInfo->State.SupportsBootSubClass)) + return MS_ERROR_UNSUPPORTED; + return USB_Host_SendControlRequest(NULL); } diff --git a/LUFA/Drivers/USB/Class/Host/HID.h b/LUFA/Drivers/USB/Class/Host/HID.h index dd4a7537faa8a2ac403f0c428409daec3b90e26f..c1a68f819b52054a4366ac40fdb449a7bd92c13d 100644 --- a/LUFA/Drivers/USB/Class/Host/HID.h +++ b/LUFA/Drivers/USB/Class/Host/HID.h @@ -55,6 +55,10 @@ #endif /* Public Interface - May be used in end-application: */ + /* Macros: */ + /** Error code for some HID Host functions, indicating a logical (and not hardware) error */ + #define MS_ERROR_UNSUPPORTED 0xC0 + /* Type Defines: */ /** Class state structure. An instance of this structure should be made within the user application, * and passed to each of the HID class driver functions as the HIDInterfaceInfo parameter. This @@ -71,6 +75,8 @@ * boot subclass protocol is required (e.g. keyboard, mouse), or * leave as 0 to match against the first HID interface found */ + HID_ReportInfo_t* HIDParserData; /**< HID parser data to store the parsed HID report data, when boot protocol + * is not used */ } Config; /**< Config data for the USB class interface within the device. All elements in this section * <b>must</b> be set or the interface will fail to enumerate and operate correctly. */ @@ -88,6 +94,7 @@ bool SupportsBootSubClass; /**< Indicates if the current interface instance supports the HID Boot * Protocol when enabled via \ref USB_HID_Host_SetProtocol() */ + uint16_t HIDReportSize; /**< Size in bytes of the HID report descriptor in the device */ } State; /**< State data for the USB class interface within the device. All elements in this section * <b>may</b> be set to initial values, but may also be ignored to default to sane values when * the interface is enumerated. @@ -100,7 +107,8 @@ HID_ENUMERROR_NoError = 0, /**< Configuration Descriptor was processed successfully */ HID_ENUMERROR_InvalidConfigDescriptor = 1, /**< The device returned an invalid Configuration Descriptor */ HID_ENUMERROR_NoHIDInterfaceFound = 2, /**< A compatible HID interface was not found in the device's Configuration Descriptor */ - HID_ENUMERROR_EndpointsNotFound = 3, /**< Compatible HID endpoints were not found in the device's HID interface */ + HID_ENUMERROR_NoHIDDescriptorFound = 3, /**< The HID descriptor was not found in the device's HID interface */ + HID_ENUMERROR_EndpointsNotFound = 4, /**< Compatible HID endpoints were not found in the device's HID interface */ }; /* Function Prototypes: */ @@ -109,6 +117,7 @@ uint8_t* DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1, 3); bool HID_Host_IsReportReceived(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1); + uint8_t USB_HID_Host_SetProtocol(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo, bool UseReportProtocol) ATTR_NON_NULL_PTR_ARG(1); /* Private Interface - For use in library only: */ @@ -122,6 +131,7 @@ /* Function Prototypes: */ #if defined(INCLUDE_FROM_HID_CLASS_HOST_C) static uint8_t DComp_HID_Host_NextHIDInterface(void* CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1); + static uint8_t DComp_NextHID(void* CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1); static uint8_t DComp_HID_Host_NextHIDInterfaceEndpoint(void* CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1); #endif #endif diff --git a/LUFA/Drivers/USB/Class/Host/MassStorage.c b/LUFA/Drivers/USB/Class/Host/MassStorage.c index a812fa9759a0c49faf072ed0f3547e2608aaf1de..2d2f042b71596763a04b6ce1c2de613e4831e1c4 100644 --- a/LUFA/Drivers/USB/Class/Host/MassStorage.c +++ b/LUFA/Drivers/USB/Class/Host/MassStorage.c @@ -50,12 +50,7 @@ uint8_t MS_Host_ConfigurePipes(USB_ClassInfo_MS_Host_t* MSInterfaceInfo, uint16_ return MS_ENUMERROR_NoMSInterfaceFound; } - MSInterfaceInfo->State.InterfaceNumber = - #if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES) - DESCRIPTOR_PCAST(DeviceConfigDescriptor, USB_Descriptor_Interface_t)->InterfaceNumber; - #else - DESCRIPTOR_PCAST(DeviceConfigDescriptor, USB_Descriptor_Interface_t)->bInterfaceNumber; - #endif + MSInterfaceInfo->State.InterfaceNumber = DESCRIPTOR_PCAST(DeviceConfigDescriptor, USB_Descriptor_Interface_t)->InterfaceNumber; while (FoundEndpoints != (MS_FOUND_DATAPIPE_IN | MS_FOUND_DATAPIPE_OUT)) { @@ -150,7 +145,8 @@ static uint8_t MS_Host_SendCommand(USB_ClassInfo_MS_Host_t* MSInterfaceInfo, MS_ Pipe_SelectPipe(MSInterfaceInfo->Config.DataOUTPipeNumber); Pipe_Unfreeze(); - if ((ErrorCode = Pipe_Write_Stream_LE(SCSICommandBlock, sizeof(MS_CommandBlockWrapper_t))) != PIPE_RWSTREAM_NoError) + if ((ErrorCode = Pipe_Write_Stream_LE(SCSICommandBlock, sizeof(MS_CommandBlockWrapper_t), + NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError) return ErrorCode; Pipe_ClearOUT(); @@ -238,7 +234,7 @@ static uint8_t MS_Host_SendReceiveData(USB_ClassInfo_MS_Host_t* MSInterfaceInfo, Pipe_SelectPipe(MSInterfaceInfo->Config.DataINPipeNumber); Pipe_Unfreeze(); - if ((ErrorCode = Pipe_Read_Stream_LE(BufferPtr, BytesRem)) != PIPE_RWSTREAM_NoError) + if ((ErrorCode = Pipe_Read_Stream_LE(BufferPtr, BytesRem, NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError) return ErrorCode; Pipe_ClearIN(); @@ -248,7 +244,7 @@ static uint8_t MS_Host_SendReceiveData(USB_ClassInfo_MS_Host_t* MSInterfaceInfo, Pipe_SelectPipe(MSInterfaceInfo->Config.DataOUTPipeNumber); Pipe_Unfreeze(); - if ((ErrorCode = Pipe_Write_Stream_LE(BufferPtr, BytesRem)) != PIPE_RWSTREAM_NoError) + if ((ErrorCode = Pipe_Write_Stream_LE(BufferPtr, BytesRem, NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError) return ErrorCode; Pipe_ClearOUT(); @@ -276,7 +272,8 @@ static uint8_t MS_Host_GetReturnedStatus(USB_ClassInfo_MS_Host_t* MSInterfaceInf Pipe_SelectPipe(MSInterfaceInfo->Config.DataINPipeNumber); Pipe_Unfreeze(); - if ((ErrorCode = Pipe_Read_Stream_LE(SCSICommandStatus, sizeof(MS_CommandStatusWrapper_t))) != PIPE_RWSTREAM_NoError) + if ((ErrorCode = Pipe_Read_Stream_LE(SCSICommandStatus, sizeof(MS_CommandStatusWrapper_t), + NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError) return ErrorCode; Pipe_ClearIN(); diff --git a/LUFA/Drivers/USB/Class/Host/MassStorage.h b/LUFA/Drivers/USB/Class/Host/MassStorage.h index ff2e9019ee328f46f73745bc18f27d871c4d011a..f6a1b61c2cd6fdb4314391d0aa1d3c146a945a84 100644 --- a/LUFA/Drivers/USB/Class/Host/MassStorage.h +++ b/LUFA/Drivers/USB/Class/Host/MassStorage.h @@ -55,6 +55,7 @@ /* Public Interface - May be used in end-application: */ /* Macros: */ + /** Error code for some Mass Storage Host functions, indicating a logical (and not hardware) error */ #define MS_ERROR_LOGICAL_CMD_FAILED 0xC0 /* Type Defines: */ diff --git a/LUFA/Drivers/USB/Class/Host/StillImage.h b/LUFA/Drivers/USB/Class/Host/StillImage.h index 0e14469785e45ee8d9be268211a482f18f530192..66dc3925c19896905e7b69e7bf281ee947d47ef4 100644 --- a/LUFA/Drivers/USB/Class/Host/StillImage.h +++ b/LUFA/Drivers/USB/Class/Host/StillImage.h @@ -55,6 +55,7 @@ /* Public Interface - May be used in end-application: */ /* Macros: */ + /** Error code for some Still Image Host functions, indicating a logical (and not hardware) error */ #define SI_ERROR_LOGICAL_CMD_FAILED 0xC0 /* Type Defines: */ @@ -134,7 +135,7 @@ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum, or \ref SI_ERROR_LOGICAL_CMD_FAILED if the device * returned a logical command failure */ - uint8_t SImage_Host_OpenSession(USB_ClassInfo_SI_Host_t* SIInterfaceInfo); + uint8_t SImage_Host_OpenSession(USB_ClassInfo_SI_Host_t* SIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1); /** Closes an already opened PIMA session with the attached device. This should be used after all session-orientated * PIMA commands have been issued to the device. @@ -144,7 +145,7 @@ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum, or \ref SI_ERROR_LOGICAL_CMD_FAILED if the device * returned a logical command failure */ - uint8_t SImage_Host_CloseSession(USB_ClassInfo_SI_Host_t* SIInterfaceInfo); + uint8_t SImage_Host_CloseSession(USB_ClassInfo_SI_Host_t* SIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1); /** Sends a given PIMA command to the attached device, filling out the PIMA command header automatically as required. * @@ -157,7 +158,7 @@ * returned a logical command failure */ uint8_t SImage_Host_SendCommand(USB_ClassInfo_SI_Host_t* SIInterfaceInfo, uint16_t Operation, uint8_t TotalParams, - uint32_t* Params); + uint32_t* Params) ATTR_NON_NULL_PTR_ARG(1); /** Receives and checks a response block from the attached PIMA device, once a command has been issued and all data * associated with the command has been transferred. @@ -167,7 +168,7 @@ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum, or \ref SI_ERROR_LOGICAL_CMD_FAILED if the device * returned a logical command failure */ - uint8_t SImage_Host_ReceiveResponse(USB_ClassInfo_SI_Host_t* SIInterfaceInfo); + uint8_t SImage_Host_ReceiveResponse(USB_ClassInfo_SI_Host_t* SIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1); /** Indicates if the device has issued a PIMA event block to the host via the asynchronous events pipe. * @@ -175,7 +176,7 @@ * * \return Boolean true if an event is waiting to be read, false otherwise */ - bool SImage_Host_IsEventReceived(USB_ClassInfo_SI_Host_t* SIInterfaceInfo); + bool SImage_Host_IsEventReceived(USB_ClassInfo_SI_Host_t* SIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1); /** Receives an asynchronous event block from the device via the asynchronous events pipe. * @@ -186,7 +187,7 @@ * returned a logical command failure */ uint8_t SImage_Host_ReceiveEventHeader(USB_ClassInfo_SI_Host_t* SIInterfaceInfo, - SI_PIMA_Container_t* PIMAHeader); + SI_PIMA_Container_t* PIMAHeader) ATTR_NON_NULL_PTR_ARG(1, 2); /** Sends arbitrary data to the attached device, for use in the data phase of PIMA commands which require data * transfer beyond the regular PIMA command block parameters. @@ -197,7 +198,7 @@ * * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum */ - uint8_t SImage_Host_SendData(USB_ClassInfo_SI_Host_t* SIInterfaceInfo, void* Buffer, uint16_t Bytes); + uint8_t SImage_Host_SendData(USB_ClassInfo_SI_Host_t* SIInterfaceInfo, void* Buffer, uint16_t Bytes) ATTR_NON_NULL_PTR_ARG(1, 2); /** Receives arbitrary data from the attached device, for use in the data phase of PIMA commands which require data * transfer beyond the regular PIMA command block parameters. @@ -208,7 +209,7 @@ * * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum */ - uint8_t SImage_Host_ReadData(USB_ClassInfo_SI_Host_t* SIInterfaceInfo, void* Buffer, uint16_t Bytes); + uint8_t SImage_Host_ReadData(USB_ClassInfo_SI_Host_t* SIInterfaceInfo, void* Buffer, uint16_t Bytes) ATTR_NON_NULL_PTR_ARG(1, 2); /* Private Interface - For use in library only: */ #if !defined(__DOXYGEN__) diff --git a/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c b/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c index 4c6fbfdabe0a8b48280e91b7429ceca5d80fbbe4..6b20f464265a5e5cf45cc85d64ec4917fe299927 100644 --- a/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c +++ b/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c @@ -51,11 +51,7 @@ uint8_t USB_GetDeviceConfigDescriptor(uint8_t ConfigNumber, uint16_t* const Conf if ((ErrorCode = USB_Host_SendControlRequest(ConfigHeader)) != HOST_SENDCONTROL_Successful) return ErrorCode; - #if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES) *ConfigSizePtr = DESCRIPTOR_CAST(ConfigHeader, USB_Descriptor_Configuration_Header_t).TotalConfigurationSize; - #else - *ConfigSizePtr = DESCRIPTOR_CAST(ConfigHeader, USB_Descriptor_Configuration_Header_t).wTotalLength; - #endif if (*ConfigSizePtr > BufferSize) return HOST_GETCONFIG_BuffOverflow; diff --git a/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h b/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h index 9f7b1f60a989868450353465f5b749a543470fbf..be24debbabe4cb113b3ef4f08cce586b984b91bf 100644 --- a/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h +++ b/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h @@ -98,18 +98,10 @@ * This value's meaning depends on the descriptor's placement in the descriptor, but standard type * values can be accessed in the \ref USB_DescriptorTypes_t enum. */ - #if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES) || defined(__DOXYGEN__) - #define DESCRIPTOR_TYPE(DescriptorPtr) DESCRIPTOR_CAST(DescriptorPtr, USB_Descriptor_Header_t).Type - #else - #define DESCRIPTOR_TYPE(DescriptorPtr) DESCRIPTOR_CAST(DescriptorPtr, USB_Descriptor_Header_t).bDescriptorType - #endif + #define DESCRIPTOR_TYPE(DescriptorPtr) DESCRIPTOR_CAST(DescriptorPtr, USB_Descriptor_Header_t).Type /** Returns the descriptor's size, expressed as the 8-bit value indicating the number of bytes. */ - #if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES) || defined(__DOXYGEN__) - #define DESCRIPTOR_SIZE(DescriptorPtr) DESCRIPTOR_CAST(DescriptorPtr, USB_Descriptor_Header_t).Size - #else - #define DESCRIPTOR_SIZE(DescriptorPtr) DESCRIPTOR_CAST(DescriptorPtr, USB_Descriptor_Header_t).bLength - #endif + #define DESCRIPTOR_SIZE(DescriptorPtr) DESCRIPTOR_CAST(DescriptorPtr, USB_Descriptor_Header_t).Size /* Type Defines: */ /** Type define for a Configuration Descriptor comparator function (function taking a pointer to an array @@ -268,11 +260,7 @@ static inline void USB_GetNextDescriptor(uint16_t* const BytesRem, uint8_t** const CurrConfigLoc) { - #if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES) uint16_t CurrDescriptorSize = DESCRIPTOR_CAST(*CurrConfigLoc, USB_Descriptor_Header_t).Size; - #else - uint16_t CurrDescriptorSize = DESCRIPTOR_CAST(*CurrConfigLoc, USB_Descriptor_Header_t).bLength; - #endif *CurrConfigLoc += CurrDescriptorSize; *BytesRem -= CurrDescriptorSize; diff --git a/LUFA/Drivers/USB/HighLevel/StdDescriptors.h b/LUFA/Drivers/USB/HighLevel/StdDescriptors.h index 0e0d1e9f496ad3d5029691b23c61318279d7dc7e..0b56ab6d08bff20527e99ff8aaf5e70a8e8361ef 100644 --- a/LUFA/Drivers/USB/HighLevel/StdDescriptors.h +++ b/LUFA/Drivers/USB/HighLevel/StdDescriptors.h @@ -34,16 +34,6 @@ * Standard USB device descriptor defines and retrieval routines, for USB devices. This module contains * structures and macros for the easy creation of standard USB descriptors in USB device projects. * - * All standard descriptors have their elements named in an identical manner to the official USB specification, - * however slightly more verbose alternate (non-standard) names are also supplied if the macro - * USE_NONSTANDARD_DESCRIPTOR_NAMES is defined in the user project makefile and passed to the compiler at - * compilation time using the -D option. - * - * The non-standard names are documented here - if USE_NONSTANDARD_DESCRIPTOR_NAMES is not defined, then all - * descriptors will contain elements named identically to the official USB specification. The alternately - * named descriptor elements are placed in the same order inside the descriptor structures as their officially - * named counterparts, thus they can be correlated easily with the official USB specification. - * * @{ */ @@ -206,170 +196,232 @@ }; /* Type Defines: */ - /** Type define for all descriptor's header, indicating the descriptor's length and type. + /** Type define for all descriptors standard header, indicating the descriptor's length and type. This structure + * uses LUFA-specific element names to make each element's purpose clearer. * - * \note The non-standard structure element names are documented here. If the - * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements - * with names identical to those listed in the USB standard. + * \see \ref USB_StdDescriptor_Header_t for the version of this define with standard element names */ typedef struct { - #if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES) || defined(__DOXYGEN__) - uint8_t Size; /**< Size of the descriptor, in bytes. */ - uint8_t Type; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value - * given by the specific class. - */ - #else - uint8_t bLength; - uint8_t bDescriptorType; - #endif + uint8_t Size; /**< Size of the descriptor, in bytes. */ + uint8_t Type; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value + * given by the specific class. + */ } USB_Descriptor_Header_t; - /** Type define for a standard device descriptor. + /** Type define for all descriptors standard header, indicating the descriptor's length and type. This structure + * uses the relevant standard's given element names to ensure compatibility with the standard. + * + * \see \ref USB_Descriptor_Header_t for the version of this define with non-standard LUFA specific element names + */ + 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. + */ + } USB_StdDescriptor_Header_t; + + /** Type define for a standard Device Descriptor. This structure uses LUFA-specific element names to make each + * element's purpose clearer. * - * \note The non-standard structure element names are documented here. If the - * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements - * with names identical to those listed in the USB standard. + * \see \ref USB_StdDescriptor_Device_t for the version of this define with standard element names */ typedef struct { - #if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES) || defined(__DOXYGEN__) USB_Descriptor_Header_t Header; /**< Descriptor header, including type and size. */ - uint16_t USBSpecification; /**< BCD of the supported USB specification. */ - uint8_t Class; /**< USB device class. */ - uint8_t SubClass; /**< USB device subclass. */ - uint8_t Protocol; /**< USB device protocol. */ + uint16_t USBSpecification; /**< BCD of the supported USB specification. */ + uint8_t Class; /**< USB device class. */ + uint8_t SubClass; /**< USB device subclass. */ + uint8_t Protocol; /**< USB device protocol. */ - uint8_t Endpoint0Size; /**< Size of the control (address 0) endpoint's bank in bytes. */ + uint8_t Endpoint0Size; /**< Size of the control (address 0) endpoint's bank in bytes. */ - uint16_t VendorID; /**< Vendor ID for the USB product. */ - uint16_t ProductID; /**< Unique product ID for the USB product. */ - uint16_t ReleaseNumber; /**< Product release (version) number. */ + uint16_t VendorID; /**< Vendor ID for the USB product. */ + uint16_t ProductID; /**< Unique product ID for the USB product. */ + uint16_t ReleaseNumber; /**< Product release (version) number. */ - uint8_t ManufacturerStrIndex; /**< String index for the manufacturer's name. The - * host will request this string via a separate - * control request for the string descriptor. - * - * \note If no string supplied, use \ref NO_DESCRIPTOR. - */ - uint8_t ProductStrIndex; /**< String index for the product name/details. - * - * \see ManufacturerStrIndex structure entry. - */ - uint8_t SerialNumStrIndex; /**< String index for the product's globally unique hexadecimal - * serial number, in uppercase Unicode ASCII. - * - * \note On some AVR models, there is an embedded serial number - * in the chip which can be used for the device serial number. - * To use this serial number, set this to USE_INTERNAL_SERIAL. - * On unsupported devices, this will evaluate to 0 and will cause - * the host to generate a pseudo-unique value for the device upon - * insertion. - * - * \see ManufacturerStrIndex structure entry. - */ - - uint8_t NumberOfConfigurations; /**< Total number of configurations supported by - * the device. - */ - #else - uint8_t bLength; - uint8_t bDescriptorType; - uint16_t bcdUSB; - uint8_t bDeviceClass; - uint8_t bDeviceSubClass; - uint8_t bDeviceProtocol; - uint8_t bMaxPacketSize0; - uint16_t idVendor; - uint16_t idProduct; - uint16_t bcdDevice; - uint8_t iManufacturer; - uint8_t iProduct; - uint8_t iSerialNumber; - uint8_t bNumConfigurations; - #endif + uint8_t ManufacturerStrIndex; /**< String index for the manufacturer's name. The + * host will request this string via a separate + * control request for the string descriptor. + * + * \note If no string supplied, use \ref NO_DESCRIPTOR. + */ + uint8_t ProductStrIndex; /**< String index for the product name/details. + * + * \see ManufacturerStrIndex structure entry. + */ + uint8_t SerialNumStrIndex; /**< String index for the product's globally unique hexadecimal + * serial number, in uppercase Unicode ASCII. + * + * \note On some AVR models, there is an embedded serial number + * in the chip which can be used for the device serial number. + * To use this serial number, set this to USE_INTERNAL_SERIAL. + * On unsupported devices, this will evaluate to 0 and will cause + * the host to generate a pseudo-unique value for the device upon + * insertion. + * + * \see ManufacturerStrIndex structure entry. + */ + uint8_t NumberOfConfigurations; /**< Total number of configurations supported by + * the device. + */ } USB_Descriptor_Device_t; - /** Type define for a standard configuration descriptor. + /** Type define for a standard Device Descriptor. This structure uses the relevant standard's given element names + * to ensure compatibility with the standard. * - * \note The non-standard structure element names are documented here. If the - * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements - * with names identical to those listed in the USB standard. + * \see \ref USB_Descriptor_Device_t for the version of this define with non-standard LUFA specific element names + */ + 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. + */ + uint16_t bcdUSB; /**< BCD of the supported USB specification. */ + uint8_t bDeviceClass; /**< USB device class. */ + uint8_t bDeviceSubClass; /**< USB device subclass. */ + uint8_t bDeviceProtocol; /**< USB device protocol. */ + uint8_t bMaxPacketSize0; /**< Size of the control (address 0) endpoint's bank in bytes. */ + uint16_t idVendor; /**< Vendor ID for the USB product. */ + uint16_t idProduct; /**< Unique product ID for the USB product. */ + uint16_t bcdDevice; /**< Product release (version) number. */ + uint8_t iManufacturer; /**< String index for the manufacturer's name. The + * host will request this string via a separate + * control request for the string descriptor. + * + * \note If no string supplied, use \ref NO_DESCRIPTOR. + */ + uint8_t iProduct; /**< String index for the product name/details. + * + * \see ManufacturerStrIndex structure entry. + */ + uint8_t iSerialNumber; /**< String index for the product's globally unique hexadecimal + * serial number, in uppercase Unicode ASCII. + * + * \note On some AVR models, there is an embedded serial number + * in the chip which can be used for the device serial number. + * To use this serial number, set this to USE_INTERNAL_SERIAL. + * On unsupported devices, this will evaluate to 0 and will cause + * the host to generate a pseudo-unique value for the device upon + * insertion. + * + * \see ManufacturerStrIndex structure entry. + */ + uint8_t bNumConfigurations; /**< Total number of configurations supported by + * the device. + */ + } USB_StdDescriptor_Device_t; + + /** Type define for a standard Configuration Descriptor header. This structure uses LUFA-specific element names + * to make each element's purpose clearer. + * + * \see \ref USB_StdDescriptor_Configuration_Header_t for the version of this define with standard element names */ typedef struct { - #if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES) || defined(__DOXYGEN__) USB_Descriptor_Header_t Header; /**< Descriptor header, including type and size. */ - uint16_t TotalConfigurationSize; /**< Size of the configuration descriptor header, - * and all sub descriptors inside the configuration. - */ - uint8_t TotalInterfaces; /**< Total number of interfaces in the configuration. */ + uint16_t TotalConfigurationSize; /**< Size of the configuration descriptor header, + * and all sub descriptors inside the configuration. + */ + uint8_t TotalInterfaces; /**< Total number of interfaces in the configuration. */ - uint8_t ConfigurationNumber; /**< Configuration index of the current configuration. */ - uint8_t ConfigurationStrIndex; /**< Index of a string descriptor describing the configuration. */ + uint8_t ConfigurationNumber; /**< Configuration index of the current configuration. */ + uint8_t ConfigurationStrIndex; /**< Index of a string descriptor describing the configuration. */ - uint8_t ConfigAttributes; /**< Configuration attributes, comprised of a mask of zero or - * more USB_CONFIG_ATTR_* masks. - */ + uint8_t ConfigAttributes; /**< Configuration attributes, comprised of a mask of zero or + * more USB_CONFIG_ATTR_* masks. + */ - uint8_t MaxPowerConsumption; /**< Maximum power consumption of the device while in the - * current configuration, calculated by the \ref USB_CONFIG_POWER_MA() - * macro. - */ - #else - uint8_t bLength; - uint8_t bDescriptorType; - uint16_t wTotalLength; - uint8_t bNumInterfaces; - uint8_t bConfigurationValue; - uint8_t iConfiguration; - uint8_t bmAttributes; - uint8_t bMaxPower; - #endif + uint8_t MaxPowerConsumption; /**< Maximum power consumption of the device while in the + * current configuration, calculated by the \ref USB_CONFIG_POWER_MA() + * macro. + */ } USB_Descriptor_Configuration_Header_t; - - /** Type define for a standard interface descriptor. + + /** Type define for a standard Configuration Descriptor header. This structure uses the relevant standard's given element names + * to ensure compatibility with the standard. * - * \note The non-standard structure element names are documented here. If the - * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements - * with names identical to those listed in the USB standard. + * \see \ref USB_Descriptor_Device_t for the version of this define with non-standard LUFA specific element names + */ + 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. + */ + uint16_t wTotalLength; /**< Size of the configuration descriptor header, + * and all sub descriptors inside the configuration. + */ + uint8_t bNumInterfaces; /**< Total number of interfaces in the configuration. */ + uint8_t bConfigurationValue; /**< Configuration index of the current configuration. */ + uint8_t iConfiguration; /**< Index of a string descriptor describing the configuration. */ + uint8_t bmAttributes; /**< Configuration attributes, comprised of a mask of zero or + * more USB_CONFIG_ATTR_* masks. + */ + uint8_t bMaxPower; /**< Maximum power consumption of the device while in the + * current configuration, calculated by the \ref USB_CONFIG_POWER_MA() + * macro. + */ + } USB_StdDescriptor_Configuration_Header_t; + + /** Type define for a standard Interface Descriptor. This structure uses LUFA-specific element names + * to make each element's purpose clearer. + * + * \see \ref USB_StdDescriptor_Interface_t for the version of this define with standard element names */ typedef struct { - #if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES) || defined(__DOXYGEN__) USB_Descriptor_Header_t Header; /**< Descriptor header, including type and size. */ - uint8_t InterfaceNumber; /**< Index of the interface in the current configuration. */ - uint8_t AlternateSetting; /**< Alternate setting for the interface number. The same - * interface number can have multiple alternate settings - * with different endpoint configurations, which can be - * selected by the host. - */ - uint8_t TotalEndpoints; /**< Total number of endpoints in the interface. */ + uint8_t InterfaceNumber; /**< Index of the interface in the current configuration. */ + uint8_t AlternateSetting; /**< Alternate setting for the interface number. The same + * interface number can have multiple alternate settings + * with different endpoint configurations, which can be + * selected by the host. + */ + uint8_t TotalEndpoints; /**< Total number of endpoints in the interface. */ - uint8_t Class; /**< Interface class ID. */ - uint8_t SubClass; /**< Interface subclass ID. */ - uint8_t Protocol; /**< Interface protocol ID. */ - - uint8_t InterfaceStrIndex; /**< Index of the string descriptor describing the - * interface. - */ - #else - uint8_t bLength; - uint8_t bDescriptorType; - uint8_t bInterfaceNumber; - uint8_t bAlternateSetting; - uint8_t bNumEndpoints; - uint8_t bInterfaceClass; - uint8_t bInterfaceSubClass; - uint8_t bInterfaceProtocol; - uint8_t iInterface; - #endif - } USB_Descriptor_Interface_t; + uint8_t Class; /**< Interface class ID. */ + uint8_t SubClass; /**< Interface subclass ID. */ + uint8_t Protocol; /**< Interface protocol ID. */ - /** Type define for a standard Interface Association descriptor. + uint8_t InterfaceStrIndex; /**< Index of the string descriptor describing the + * interface. + */ + } USB_Descriptor_Interface_t; + + /** Type define for a standard Interface Descriptor. This structure uses the relevant standard's given element names + * to ensure compatibility with the standard. + * + * \see \ref USB_Descriptor_Interface_t for the version of this define with non-standard LUFA specific element names + */ + 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 bInterfaceNumber; /**< Index of the interface in the current configuration. */ + uint8_t bAlternateSetting; /**< Alternate setting for the interface number. The same + * interface number can have multiple alternate settings + * with different endpoint configurations, which can be + * selected by the host. + */ + uint8_t bNumEndpoints; /**< Total number of endpoints in the interface. */ + uint8_t bInterfaceClass; /**< Interface class ID. */ + uint8_t bInterfaceSubClass; /**< Interface subclass ID. */ + uint8_t bInterfaceProtocol; /**< Interface protocol ID. */ + uint8_t iInterface; /**< Index of the string descriptor describing the + * interface. + */ + } USB_StdDescriptor_Interface_t; + + /** Type define for a standard Interface Association Descriptor. This structure uses LUFA-specific element names + * to make each element's purpose clearer. * * This descriptor has been added as a supplement to the USB2.0 standard, in the ECN located at * <a>http://www.usb.org/developers/docs/InterfaceAssociationDescriptor_ecn.pdf</a>. It allows compound @@ -377,72 +429,105 @@ * together at the point of enumeration, loading one generic driver for all the interfaces in the single * function. Read the ECN for more information. * - * \note The non-standard structure element names are documented here. If the - * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements - * with names identical to those listed in the USB standard. + * \see \ref USB_StdDescriptor_Interface_Association_t for the version of this define with standard element names */ typedef struct { - #if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES) || defined(__DOXYGEN__) USB_Descriptor_Header_t Header; /**< Descriptor header, including type and size. */ - uint8_t FirstInterfaceIndex; /**< Index of the first associated interface. */ - uint8_t TotalInterfaces; /** Total number of associated interfaces. */ - - uint8_t Class; /**< Interface class ID. */ - uint8_t SubClass; /**< Interface subclass ID. */ - uint8_t Protocol; /**< Interface protocol ID. */ - - uint8_t IADStrIndex; /**< Index of the string descriptor describing the - * interface association. - */ - #else - uint8_t bLength; - uint8_t bDescriptorType; - uint8_t bFirstInterface; - uint8_t bInterfaceCount; - uint8_t bFunctionClass; - uint8_t bFunctionSubClass; - uint8_t bFunctionProtocol; - uint8_t iFunction; - #endif - } USB_Descriptor_Interface_Association_t; + uint8_t FirstInterfaceIndex; /**< Index of the first associated interface. */ + uint8_t TotalInterfaces; /** Total number of associated interfaces. */ - /** Type define for a standard endpoint descriptor. + uint8_t Class; /**< Interface class ID. */ + uint8_t SubClass; /**< Interface subclass ID. */ + uint8_t Protocol; /**< Interface protocol ID. */ + + uint8_t IADStrIndex; /**< Index of the string descriptor describing the + * interface association. + */ + } USB_Descriptor_Interface_Association_t; + + /** Type define for a standard Interface Association Descriptor. This structure uses the relevant standard's given + * element names to ensure compatibility with the standard. * - * \note The non-standard structure element names are documented here. If the - * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements - * with names identical to those listed in the USB standard. - */ + * This descriptor has been added as a supplement to the USB2.0 standard, in the ECN located at + * <a>http://www.usb.org/developers/docs/InterfaceAssociationDescriptor_ecn.pdf</a>. It allows compound + * devices with multiple interfaces related to the same function to have the multiple interfaces bound + * together at the point of enumeration, loading one generic driver for all the interfaces in the single + * function. Read the ECN for more information. + * + * \see \ref USB_Descriptor_Interface_Association_t for the version of this define with non-standard LUFA specific + * element names + */ + 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 bFirstInterface; /**< Index of the first associated interface. */ + uint8_t bInterfaceCount; /** Total number of associated interfaces. */ + uint8_t bFunctionClass; /**< Interface class ID. */ + uint8_t bFunctionSubClass; /**< Interface subclass ID. */ + uint8_t bFunctionProtocol; /**< Interface protocol ID. */ + uint8_t iFunction; /**< Index of the string descriptor describing the + * interface association. + */ + } USB_StdDescriptor_Interface_Association_t; + + /** Type define for a standard Endpoint Descriptor. This structure uses LUFA-specific element names + * to make each element's purpose clearer. + * + * \see \ref USB_StdDescriptor_Endpoint_t for the version of this define with standard element names + */ typedef struct { - #if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES) || defined(__DOXYGEN__) USB_Descriptor_Header_t Header; /**< Descriptor header, including type and size. */ - uint8_t EndpointAddress; /**< Logical address of the endpoint within the device - * for the current configuration, including direction - * mask. - */ - uint8_t Attributes; /**< Endpoint attributes, comprised of a mask of the - * endpoint type (EP_TYPE_*) and attributes (ENDPOINT_ATTR_*) - * masks. - */ - uint16_t EndpointSize; /**< Size of the endpoint bank, in bytes. This indicates the - * maximum packet size that the endpoint can receive at a time. - */ + uint8_t EndpointAddress; /**< Logical address of the endpoint within the device + * for the current configuration, including direction + * mask. + */ + uint8_t Attributes; /**< Endpoint attributes, comprised of a mask of the + * endpoint type (EP_TYPE_*) and attributes (ENDPOINT_ATTR_*) + * masks. + */ + uint16_t EndpointSize; /**< Size of the endpoint bank, in bytes. This indicates the + * maximum packet size that the endpoint can receive at a time. + */ - uint8_t PollingIntervalMS; /**< Polling interval in milliseconds for the endpoint - * if it is an INTERRUPT or ISOCHRONOUS type. - */ - #else - uint8_t bLength; - uint8_t bDescriptorType; - uint8_t bEndpointAddress; - uint8_t bmAttributes; - uint16_t wMaxPacketSize; - uint8_t bInterval; - #endif + uint8_t PollingIntervalMS; /**< Polling interval in milliseconds for the endpoint + * if it is an INTERRUPT or ISOCHRONOUS type. + */ } USB_Descriptor_Endpoint_t; + + /** Type define for a standard Endpoint Descriptor. This structure uses the relevant standard's given + * element names to ensure compatibility with the standard. + * + * \see \ref USB_Descriptor_Endpoint_t for the version of this define with non-standard LUFA specific + * element names + */ + 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 bEndpointAddress; /**< Logical address of the endpoint within the device + * for the current configuration, including direction + * mask. + */ + uint8_t bmAttributes; /**< Endpoint attributes, comprised of a mask of the + * endpoint type (EP_TYPE_*) and attributes (ENDPOINT_ATTR_*) + * masks. + */ + uint16_t wMaxPacketSize; /**< Size of the endpoint bank, in bytes. This indicates the + * maximum packet size that the endpoint can receive at a time. + */ + uint8_t bInterval; /**< Polling interval in milliseconds for the endpoint + * if it is an INTERRUPT or ISOCHRONOUS type. + */ + } USB_StdDescriptor_Endpoint_t; /** Type define for a standard string descriptor. Unlike other standard descriptors, the length * of the descriptor for placement in the descriptor header must be determined by the \ref USB_STRING_LEN() @@ -451,33 +536,59 @@ * This structure should also be used for string index 0, which contains the supported language IDs for * the device as an array. * - * \note The non-standard structure element names are documented here. If the - * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements - * with names identical to those listed in the USB standard. + * This structure uses LUFA-specific element names to make each element's purpose clearer. + * + * \see \ref USB_StdDescriptor_String_t for the version of this define with standard element names */ typedef struct { - #if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES) || defined(__DOXYGEN__) USB_Descriptor_Header_t Header; /**< Descriptor header, including type and size. */ - int16_t UnicodeString[]; /**< String data, as unicode characters (alternatively, - * string language IDs). If normal ASCII characters are - * to be used, they must be added as an array of characters - * rather than a normal C string so that they are widened to - * Unicode size. - * - * Under GCC, strings prefixed with the "L" character (before - * the opening string quotation mark) are considered to be - * Unicode strings, and may be used instead of an explicit - * array of ASCII characters. - */ - #else - uint8_t bLength; - uint8_t bDescriptorType; - int16_t bString[]; - #endif + int16_t UnicodeString[]; /**< String data, as unicode characters (alternatively, + * string language IDs). If normal ASCII characters are + * to be used, they must be added as an array of characters + * rather than a normal C string so that they are widened to + * Unicode size. + * + * Under GCC, strings prefixed with the "L" character (before + * the opening string quotation mark) are considered to be + * Unicode strings, and may be used instead of an explicit + * array of ASCII characters. + */ } USB_Descriptor_String_t; + /** Type define for a standard string descriptor. Unlike other standard descriptors, the length + * of the descriptor for placement in the descriptor header must be determined by the \ref USB_STRING_LEN() + * macro rather than by the size of the descriptor structure, as the length is not fixed. + * + * This structure should also be used for string index 0, which contains the supported language IDs for + * the device as an array. + * + * This structure uses the relevant standard's given element names to ensure compatibility with the standard. + * + * \see \ref USB_Descriptor_String_t for the version of this define with with non-standard LUFA specific + * element names + */ + 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. + */ + int16_t bString[]; /**< String data, as unicode characters (alternatively, + * string language IDs). If normal ASCII characters are + * to be used, they must be added as an array of characters + * rather than a normal C string so that they are widened to + * Unicode size. + * + * Under GCC, strings prefixed with the "L" character (before + * the opening string quotation mark) are considered to be + * Unicode strings, and may be used instead of an explicit + * array of ASCII characters. + */ + } USB_StdDescriptor_String_t; + /* Private Interface - For use in library only: */ #if !defined(__DOXYGEN__) /* Macros: */ diff --git a/LUFA/Drivers/USB/LowLevel/DevChapter9.c b/LUFA/Drivers/USB/LowLevel/DevChapter9.c index fa35a1b61c42580662b57310df0c1af0a65273f6..50afb61be26bf633ce38a315e345082a6b65aca1 100644 --- a/LUFA/Drivers/USB/LowLevel/DevChapter9.c +++ b/LUFA/Drivers/USB/LowLevel/DevChapter9.c @@ -232,14 +232,9 @@ static void USB_Device_GetInternalSerialDescriptor(void) int16_t UnicodeString[20]; } SignatureDescriptor; - #if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES) - SignatureDescriptor.Header.Size = sizeof(SignatureDescriptor); - SignatureDescriptor.Header.Type = DTYPE_String; - #else - SignatureDescriptor.Header.bLength = sizeof(SignatureDescriptor); - SignatureDescriptor.Header.bDescriptorType = DTYPE_String; - #endif - + SignatureDescriptor.Header.Size = sizeof(SignatureDescriptor); + SignatureDescriptor.Header.Type = DTYPE_String; + uint8_t SigReadAddress = 0x0E; for (uint8_t SerialCharNum = 0; SerialCharNum < 20; SerialCharNum++) diff --git a/LUFA/Drivers/USB/LowLevel/Host.c b/LUFA/Drivers/USB/LowLevel/Host.c index 8a51ae5bfc77821b852517b0681ba251212ca1ce..2685f5f0baa3bcc030d6f5241c5e54114abea9de 100644 --- a/LUFA/Drivers/USB/LowLevel/Host.c +++ b/LUFA/Drivers/USB/LowLevel/Host.c @@ -137,11 +137,7 @@ void USB_Host_ProcessNextHostState(void) break; } - #if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES) USB_ControlPipeSize = DataBuffer[offsetof(USB_Descriptor_Device_t, Endpoint0Size)]; - #else - USB_ControlPipeSize = DataBuffer[offsetof(USB_Descriptor_Device_t, bMaxPacketSize0)]; - #endif USB_Host_ResetDevice(); diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt index 9bbfba113adc4f949d20f3606e0467648d5a595d..6b16e1e7f6d96228b6aef597f21751cd1939d643 100644 --- a/LUFA/ManPages/ChangeLog.txt +++ b/LUFA/ManPages/ChangeLog.txt @@ -40,6 +40,8 @@ * - Add in new invalid event hook check targets to project makefiles to produce compilation errors when invalid event names * are used in a project * - The HID Report Parser now gives information on the total length of each report within a HID interface + * - The USE_NONSTANDARD_DESCRIPTOR_NAMES compile time token has been removed - there are now seperate USB_Descriptor_* and + * USB_StdDescriptor_* structures for both the LUFA and standardized element naming conventions so both may be used * * <b>Fixed:</b> * - Fixed possible lockup in the CDC device class driver, when the host sends data that is a multiple of the diff --git a/LUFA/ManPages/CompileTimeTokens.txt b/LUFA/ManPages/CompileTimeTokens.txt index fb051b8c89047f8f4db7c0cadde29a42f631be79..8213c678b47604e4a9dae94f51755043623917a4 100644 --- a/LUFA/ManPages/CompileTimeTokens.txt +++ b/LUFA/ManPages/CompileTimeTokens.txt @@ -72,12 +72,6 @@ * <b>USE_EEPROM_DESCRIPTORS</b> - ( \ref Group_Descriptors ) \n * Similar to USE_RAM_DESCRIPTORS, but all descriptors are stored in the AVR's EEPROM memory rather than RAM. * - * <b>USE_NONSTANDARD_DESCRIPTOR_NAMES</b> - ( \ref Group_Descriptors ) \n - * The USB 2.0 standard gives some rather obscure names for the elements in the standard descriptor types (device, configuration, - * string, endpoint, etc.). By default the LUFA library uses these names in its predefined descriptor structure types for - * compatibility. If this token is defined, the structure element names are switched to the LUFA-specific but more descriptive - * names documented in the StdDescriptors.h source file. - * * <b>NO_INTERNAL_SERIAL</b> - ( \ref Group_Descriptors ) \n * Some AVR models contain a unique 20-digit serial number which can be used as the device serial number, while in device mode. This * allows the host to uniquely identify the device regardless of if it is moved between USB ports on the same computer, allowing diff --git a/LUFA/ManPages/MigrationInformation.txt b/LUFA/ManPages/MigrationInformation.txt index c098e130df28a3cb401b4388d7aab603056d406c..0070a34acd6faf887c79b0d6ad86719e243dc926 100644 --- a/LUFA/ManPages/MigrationInformation.txt +++ b/LUFA/ManPages/MigrationInformation.txt @@ -14,10 +14,10 @@ * * <b>Non-USB Library Components</b> * - The ADC_Off() function has been renamed to \ref ADC_ShutDown() to be consistent with the rest of the library. - * - The Dataflash_Init() routine no longer initializes the SPI bus - the SPI bus should be initialized manually via a + * - The \ref SPI_Init() routine's parameters have changed, so that the clock polarity and data sampling modes can be set. See + * the \ref SPI_Init() function documentation for more details + * - The \ref Dataflash_Init() routine no longer initializes the SPI bus - the SPI bus should be initialized manually via a * call to SPI_Init() before using the Dataflash driver - * - The SPI_Init() routine's parameters have changed, so that the clock polarity and data sampling modes can be set. See - * the SPI_Init() function documentation for more details * * <b>Host Mode</b> * - The \ref USB_GetDeviceConfigDescriptor() function's parameters and behaviour has changed; the user is required to @@ -28,6 +28,14 @@ * is interested in into the processed HID report item structure to save RAM. See \ref CALLBACK_HIDParser_FilterHIDReportItem(). * - The HID report parser now always parses FEATURE and always ignores constant-data items - the HID_ENABLE_FEATURE_PROCESSING * and HID_INCLUDE_CONSTANT_DATA_ITEMS compile time tokens now have no effect. + * - The USE_NONSTANDARD_DESCRIPTOR_NAMES compile time token has been removed - there are now seperate USB_Descriptor_* + * and USB_StdDescriptor_* structures for both the LUFA and standardized element naming conventions so that both may be used in + * the one project. For existing projects using the standardized names, change all code to use the USB_StdDescriptor_* variants. + * + * <b>Device Mode</b> + * - The USE_NONSTANDARD_DESCRIPTOR_NAMES compile time token has been removed - there are now seperate USB_Descriptor_* + * and USB_StdDescriptor_* structures for both the LUFA and standardized element naming conventions so that both may be used in + * the one project. For existing projects using the standardized names, change all code to use the USB_StdDescriptor_* variants. * * \section Sec_Migration090810 Migrating from 090605 to 090810 * diff --git a/Projects/AVRISP/makefile b/Projects/AVRISP/makefile index 35e1e4244922c2e2bea16f82c90ce36c22f52f3c..6f0cb92859caca61de057a853eda058fe365bf6a 100644 --- a/Projects/AVRISP/makefile +++ b/Projects/AVRISP/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../ # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_DEVICE_ONLY +LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=16 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D NO_STREAM_CALLBACKS diff --git a/Projects/Benito/makefile b/Projects/Benito/makefile index 5a1e7637823e4a43bb52a33cafd83c12e6a0c856..ac834b0addfc67dd942ce0390c93de93f18e2a76 100644 --- a/Projects/Benito/makefile +++ b/Projects/Benito/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../../ # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_DEVICE_ONLY +LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS diff --git a/Projects/Magstripe/makefile b/Projects/Magstripe/makefile index f672660b2ea48b7c31d11fffb5dce3c752273316..ace13c1ffb5c11bb81f01f98787ee123354264c1 100644 --- a/Projects/Magstripe/makefile +++ b/Projects/Magstripe/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D USB_DEVICE_ONLY +LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS diff --git a/Projects/MissileLauncher/makefile b/Projects/MissileLauncher/makefile index a32030890dc9c653c9bb8cb2cee741226d11e4b2..18372a4e3b433e6809155ed6a31fe3a3c48aa82a 100644 --- a/Projects/MissileLauncher/makefile +++ b/Projects/MissileLauncher/makefile @@ -116,8 +116,7 @@ LUFA_PATH = ../.. # LUFA library compile-time options -LUFA_OPTS = -D USE_NONSTANDARD_DESCRIPTOR_NAMES -LUFA_OPTS += -D NO_STREAM_CALLBACKS +LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"