From 7ace314cc12f24c1c3108311bdfb3a2ed484ab37 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Wed, 9 Dec 2009 00:50:55 +0000 Subject: [PATCH] Increase timeout of Mass Storage and Still Image host commands to 10 seconds (up from 5) to account for slow-processing devices. Added brace guards to macros with parameters to prevent unintended changed evaluation of the macro expression. Minor code cleanups (remove redundant comments, fix spacing, etc.). --- Bootloaders/DFU/BootloaderDFU.h | 4 ++-- .../MassStorage/Lib/DataflashManager.h | 8 ++++---- .../Device/ClassDriver/MassStorage/Lib/SCSI.h | 6 +++--- .../ClassDriver/MassStorage/MassStorage.h | 2 +- .../Lib/DataflashManager.h | 6 +++--- .../MassStorageKeyboard/MassStorageKeyboard.h | 2 +- .../ClassDriver/RNDISEthernet/RNDISEthernet.h | 2 +- .../Device/Incomplete/Sideshow/Descriptors.c | 8 +++----- Demos/Device/Incomplete/Sideshow/Sideshow.h | 12 +++++++---- .../Device/LowLevel/AudioInput/Descriptors.h | 4 ++-- .../Device/LowLevel/AudioOutput/Descriptors.h | 2 +- .../DualVirtualSerial/DualVirtualSerial.h | 6 +++--- Demos/Device/LowLevel/GenericHID/GenericHID.h | 4 ++-- Demos/Device/LowLevel/Joystick/Joystick.h | 2 +- Demos/Device/LowLevel/Keyboard/Keyboard.h | 14 ++++++------- .../LowLevel/KeyboardMouse/KeyboardMouse.h | 8 ++++---- Demos/Device/LowLevel/MIDI/MIDI.h | 2 +- .../MassStorage/Lib/DataflashManager.h | 6 +++--- Demos/Device/LowLevel/MassStorage/Lib/SCSI.h | 20 +++++++++---------- .../Device/LowLevel/MassStorage/MassStorage.h | 2 +- Demos/Device/LowLevel/Mouse/Mouse.h | 14 ++++++------- .../LowLevel/RNDISEthernet/RNDISEthernet.h | 2 +- .../LowLevel/VirtualSerial/VirtualSerial.h | 8 ++++---- .../MassStorageHost/MassStorageHost.h | 2 +- .../ClassDriver/PrinterHost/PrinterHost.h | 2 +- .../RNDISEthernetHost/RNDISEthernetHost.h | 2 +- .../BluetoothHost/ConfigDescriptor.h | 2 +- .../BluetoothHost/DeviceDescriptor.h | 2 +- .../GenericHIDHost/ConfigDescriptor.h | 4 ++-- .../LowLevel/GenericHIDHost/GenericHIDHost.h | 6 +++--- .../JoystickHostWithParser/ConfigDescriptor.h | 2 +- .../JoystickHostWithParser.h | 2 +- .../LowLevel/KeyboardHost/ConfigDescriptor.h | 2 +- .../KeyboardHostWithParser/ConfigDescriptor.h | 2 +- .../KeyboardHostWithParser.h | 2 +- .../Host/LowLevel/MIDIHost/ConfigDescriptor.h | 2 +- .../MassStorageHost/ConfigDescriptor.h | 2 +- .../MassStorageHost/Lib/MassStoreCommands.h | 2 +- .../MassStorageHost/MassStorageHost.h | 2 +- .../LowLevel/MouseHost/ConfigDescriptor.h | 2 +- Demos/Host/LowLevel/MouseHost/MouseHost.h | 4 ++-- .../MouseHostWithParser/ConfigDescriptor.h | 2 +- .../MouseHostWithParser/MouseHostWithParser.h | 2 +- Demos/Host/LowLevel/PrinterHost/PrinterHost.h | 2 +- .../RNDISEthernetHost/ConfigDescriptor.h | 2 +- .../RNDISEthernetHost/RNDISEthernetHost.h | 2 +- .../StillImageHost/ConfigDescriptor.h | 2 +- .../StillImageHost/Lib/StillImageCommands.h | 8 ++++---- .../LowLevel/StillImageHost/StillImageHost.h | 2 +- LUFA/Drivers/Board/Dataflash.h | 2 +- LUFA/Drivers/USB/Class/Host/MassStorage.h | 2 +- LUFA/Drivers/USB/Class/Host/StillImage.h | 2 +- LUFA/Drivers/USB/HighLevel/StdDescriptors.h | 12 +++++------ LUFA/Drivers/USB/HighLevel/USBTask.h | 4 +++- LUFA/Drivers/USB/LowLevel/Endpoint.h | 2 +- LUFA/ManPages/ChangeLog.txt | 3 +++ LUFA/ManPages/FutureChanges.txt | 6 +++++- Projects/AVRISP/Lib/V2Protocol.h | 2 +- .../StandaloneProgrammer.h | 2 +- Projects/MissileLauncher/MissileLauncher.c | 2 +- Projects/MissileLauncher/MissileLauncher.h | 6 +++--- 61 files changed, 133 insertions(+), 122 deletions(-) diff --git a/Bootloaders/DFU/BootloaderDFU.h b/Bootloaders/DFU/BootloaderDFU.h index c711e43783..aac341f8cc 100644 --- a/Bootloaders/DFU/BootloaderDFU.h +++ b/Bootloaders/DFU/BootloaderDFU.h @@ -79,7 +79,7 @@ * \param[in] dataarr Command byte array to check against * \param[in] cb1 First command byte to check */ - #define IS_ONEBYTE_COMMAND(dataarr, cb1) (dataarr[0] == cb1) + #define IS_ONEBYTE_COMMAND(dataarr, cb1) (dataarr[0] == (cb1)) /** Convenience macro, used to determine if the issued command is the given two-byte long command. * @@ -87,7 +87,7 @@ * \param[in] cb1 First command byte to check * \param[in] cb2 Second command byte to check */ - #define IS_TWOBYTE_COMMAND(dataarr, cb1, cb2) ((dataarr[0] == cb1) && (dataarr[1] == cb2)) + #define IS_TWOBYTE_COMMAND(dataarr, cb1, cb2) ((dataarr[0] == (cb1)) && (dataarr[1] == (cb2))) /** Length of the DFU file suffix block, appended to the end of each complete memory write command. * The DFU file suffix is currently unused (but is designed to give extra file information, such as diff --git a/Demos/Device/ClassDriver/MassStorage/Lib/DataflashManager.h b/Demos/Device/ClassDriver/MassStorage/Lib/DataflashManager.h index 2deac0963a..dcd5deec82 100644 --- a/Demos/Device/ClassDriver/MassStorage/Lib/DataflashManager.h +++ b/Demos/Device/ClassDriver/MassStorage/Lib/DataflashManager.h @@ -42,10 +42,10 @@ #include "MassStorage.h" #include "Descriptors.h" - #include // Function Attribute, Atomic, Debug and ISR Macros - #include // USB Functionality - #include // Mass Storage Class Driver - #include // Dataflash chip driver + #include + #include + #include + #include /* Preprocessor Checks: */ #if (DATAFLASH_PAGE_SIZE % 16) diff --git a/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.h b/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.h index a1cbf675ba..9d71e14c66 100644 --- a/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.h +++ b/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.h @@ -56,9 +56,9 @@ * \param[in] acode New SCSI additional sense key to set the additional sense code to * \param[in] aqual New SCSI additional sense key qualifier to set the additional sense qualifier code to */ - #define SCSI_SET_SENSE(key, acode, aqual) MACROS{ SenseData.SenseKey = key; \ - SenseData.AdditionalSenseCode = acode; \ - SenseData.AdditionalSenseQualifier = aqual; }MACROE + #define SCSI_SET_SENSE(key, acode, aqual) MACROS{ SenseData.SenseKey = (key); \ + SenseData.AdditionalSenseCode = (acode); \ + SenseData.AdditionalSenseQualifier = (aqual); }MACROE /** Macro for the SCSI_Command_ReadWrite_10() function, to indicate that data is to be read from the storage medium. */ #define DATA_READ true diff --git a/Demos/Device/ClassDriver/MassStorage/MassStorage.h b/Demos/Device/ClassDriver/MassStorage/MassStorage.h index fca288d7ca..5fb37f1407 100644 --- a/Demos/Device/ClassDriver/MassStorage/MassStorage.h +++ b/Demos/Device/ClassDriver/MassStorage/MassStorage.h @@ -65,7 +65,7 @@ #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) /** LED mask for the library LED driver, to indicate that the USB interface is busy. */ - #define LEDMASK_USB_BUSY (LEDS_LED2) + #define LEDMASK_USB_BUSY LEDS_LED2 /** Total number of logical drives within the device - must be non-zero. */ #define TOTAL_LUNS 1 diff --git a/Demos/Device/ClassDriver/MassStorageKeyboard/Lib/DataflashManager.h b/Demos/Device/ClassDriver/MassStorageKeyboard/Lib/DataflashManager.h index 5e9debcb0b..b626d48962 100644 --- a/Demos/Device/ClassDriver/MassStorageKeyboard/Lib/DataflashManager.h +++ b/Demos/Device/ClassDriver/MassStorageKeyboard/Lib/DataflashManager.h @@ -42,9 +42,9 @@ #include "MassStorageKeyboard.h" #include "Descriptors.h" - #include // Function Attribute, Atomic, Debug and ISR Macros - #include // USB Functionality - #include // Dataflash chip driver + #include + #include + #include /* Preprocessor Checks: */ #if (DATAFLASH_PAGE_SIZE % 16) diff --git a/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.h b/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.h index c82fb78363..df01dac8a8 100644 --- a/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.h +++ b/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.h @@ -72,7 +72,7 @@ #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) /** LED mask for the library LED driver, to indicate that the USB interface is busy. */ - #define LEDMASK_USB_BUSY (LEDS_LED2) + #define LEDMASK_USB_BUSY LEDS_LED2 /** Total number of logical drives within the device - must be non-zero. */ #define TOTAL_LUNS 1 diff --git a/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.h b/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.h index b91a54d21a..a132a664bc 100644 --- a/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.h +++ b/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.h @@ -71,7 +71,7 @@ #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) /** LED mask for the library LED driver, to indicate that the USB interface is busy. */ - #define LEDMASK_USB_BUSY (LEDS_LED2) + #define LEDMASK_USB_BUSY LEDS_LED2 /* Function Prototypes: */ void SetupHardware(void); diff --git a/Demos/Device/Incomplete/Sideshow/Descriptors.c b/Demos/Device/Incomplete/Sideshow/Descriptors.c index 647e0b4f96..ed5853f90b 100644 --- a/Demos/Device/Incomplete/Sideshow/Descriptors.c +++ b/Demos/Device/Incomplete/Sideshow/Descriptors.c @@ -192,11 +192,9 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, Size = pgm_read_byte(&SerialNumberString.Header.Size); break; case 0xEE: - /* Great, another Microsoft-proprietary extention. String address 0xEE is used - by Windows for "OS Descriptors", which in this case allows us to indicate that - our device is Sideshow compatible. Most people would be happy using the normal - 0xFF 0x?? 0x?? Class/Subclass/Protocol values like the USBIF intended. */ - + /* A Microsoft-proprietary extention. String address 0xEE is used by Windows for + "OS Descriptors", which in this case allows us to indicate that our device is + Sideshow compatible regardless of VID/PID values. */ Address = (void*)&OSDescriptorString; Size = pgm_read_byte(&OSDescriptorString.Header.Size); break; diff --git a/Demos/Device/Incomplete/Sideshow/Sideshow.h b/Demos/Device/Incomplete/Sideshow/Sideshow.h index f2890ef21c..6369036e67 100644 --- a/Demos/Device/Incomplete/Sideshow/Sideshow.h +++ b/Demos/Device/Incomplete/Sideshow/Sideshow.h @@ -45,21 +45,25 @@ #include /* Macros: */ + /** Device control request for used in the Microsoft OS Descriptor for retrieving the OS Feature + * descriptors of the device + */ #define REQ_GetOSFeatureDescriptor 0x01 + /** Descriptor index for a Microsoft Proprietary Extended Device Compatibility descriptor */ #define EXTENDED_COMPAT_ID_DESCRIPTOR 0x0004 /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ - #define LEDMASK_USB_NOTREADY LEDS_LED1 + #define LEDMASK_USB_NOTREADY LEDS_LED1 /** LED mask for the library LED driver, to indicate that the USB interface is enumerating. */ - #define LEDMASK_USB_ENUMERATING (LEDS_LED2 | LEDS_LED3) + #define LEDMASK_USB_ENUMERATING (LEDS_LED2 | LEDS_LED3) /** LED mask for the library LED driver, to indicate that the USB interface is ready. */ - #define LEDMASK_USB_READY (LEDS_LED2 | LEDS_LED4) + #define LEDMASK_USB_READY (LEDS_LED2 | LEDS_LED4) /** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */ - #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) + #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) /* Function Prototypes: */ void SetupHardware(void); diff --git a/Demos/Device/LowLevel/AudioInput/Descriptors.h b/Demos/Device/LowLevel/AudioInput/Descriptors.h index 9e7b2d6d13..cda03c0c74 100644 --- a/Demos/Device/LowLevel/AudioInput/Descriptors.h +++ b/Demos/Device/LowLevel/AudioInput/Descriptors.h @@ -125,7 +125,7 @@ * * \param[in] freq Required audio sampling frequency in HZ */ - #define SAMPLE_FREQ(freq) {LowWord: ((uint32_t)freq & 0x00FFFF), HighByte: (((uint32_t)freq >> 16) & 0x0000FF)} + #define SAMPLE_FREQ(freq) {LowWord: ((uint32_t)(freq) & 0x00FFFF), HighByte: (((uint32_t)(freq) >> 16) & 0x0000FF)} /** Mask for the attributes parameter of an Audio class specific Endpoint descriptor, indicating that the endpoint * accepts only filled endpoint packets of audio samples. @@ -138,7 +138,7 @@ #define EP_ACCEPTS_SMALL_PACKETS (0 << 7) /** Endpoint number of the Audio isochronous streaming data endpoint. */ - #define AUDIO_STREAM_EPNUM 1 + #define AUDIO_STREAM_EPNUM 1 /** Endpoint size in bytes of the Audio isochronous streaming data endpoint. The Windows audio stack requires * at least 192 bytes for correct output, thus the smaller 128 byte maximum endpoint size on some of the smaller diff --git a/Demos/Device/LowLevel/AudioOutput/Descriptors.h b/Demos/Device/LowLevel/AudioOutput/Descriptors.h index 0f2bb65bde..958e69eaad 100644 --- a/Demos/Device/LowLevel/AudioOutput/Descriptors.h +++ b/Demos/Device/LowLevel/AudioOutput/Descriptors.h @@ -125,7 +125,7 @@ * * \param[in] freq Required audio sampling frequency in HZ */ - #define SAMPLE_FREQ(freq) {LowWord: ((uint32_t)freq & 0x00FFFF), HighByte: (((uint32_t)freq >> 16) & 0x0000FF)} + #define SAMPLE_FREQ(freq) {LowWord: ((uint32_t)(freq) & 0x00FFFF), HighByte: (((uint32_t)(freq) >> 16) & 0x0000FF)} /** Mask for the attributes parameter of an Audio class specific Endpoint descriptor, indicating that the endpoint * accepts only filled endpoint packets of audio samples. diff --git a/Demos/Device/LowLevel/DualVirtualSerial/DualVirtualSerial.h b/Demos/Device/LowLevel/DualVirtualSerial/DualVirtualSerial.h index 55ab6b2147..d83dd79b6a 100644 --- a/Demos/Device/LowLevel/DualVirtualSerial/DualVirtualSerial.h +++ b/Demos/Device/LowLevel/DualVirtualSerial/DualVirtualSerial.h @@ -51,13 +51,13 @@ /* Macros: */ /** CDC Class specific request to get the current virtual serial port configuration settings. */ - #define REQ_GetLineEncoding 0x21 + #define REQ_GetLineEncoding 0x21 /** CDC Class specific request to set the current virtual serial port configuration settings. */ - #define REQ_SetLineEncoding 0x20 + #define REQ_SetLineEncoding 0x20 /** CDC Class specific request to set the current virtual serial port handshake line states. */ - #define REQ_SetControlLineState 0x22 + #define REQ_SetControlLineState 0x22 /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ #define LEDMASK_USB_NOTREADY LEDS_LED1 diff --git a/Demos/Device/LowLevel/GenericHID/GenericHID.h b/Demos/Device/LowLevel/GenericHID/GenericHID.h index da3d4ac601..80379ee444 100644 --- a/Demos/Device/LowLevel/GenericHID/GenericHID.h +++ b/Demos/Device/LowLevel/GenericHID/GenericHID.h @@ -51,10 +51,10 @@ /* Macros: */ /** HID Class specific request to get the next HID report from the device. */ - #define REQ_GetReport 0x01 + #define REQ_GetReport 0x01 /** HID Class specific request to send the next HID report to the device. */ - #define REQ_SetReport 0x09 + #define REQ_SetReport 0x09 /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ #define LEDMASK_USB_NOTREADY LEDS_LED1 diff --git a/Demos/Device/LowLevel/Joystick/Joystick.h b/Demos/Device/LowLevel/Joystick/Joystick.h index db280ee5c8..bf339fe160 100644 --- a/Demos/Device/LowLevel/Joystick/Joystick.h +++ b/Demos/Device/LowLevel/Joystick/Joystick.h @@ -52,7 +52,7 @@ /* Macros: */ /** HID Class specific request to get the next HID report from the device. */ - #define REQ_GetReport 0x01 + #define REQ_GetReport 0x01 /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ #define LEDMASK_USB_NOTREADY LEDS_LED1 diff --git a/Demos/Device/LowLevel/Keyboard/Keyboard.h b/Demos/Device/LowLevel/Keyboard/Keyboard.h index 576e080308..889b6f9191 100644 --- a/Demos/Device/LowLevel/Keyboard/Keyboard.h +++ b/Demos/Device/LowLevel/Keyboard/Keyboard.h @@ -54,25 +54,25 @@ /* Macros: */ /** Idle period indicating that reports should be sent only when the inputs have changed */ - #define HID_IDLE_CHANGESONLY 0 + #define HID_IDLE_CHANGESONLY 0 /** HID Class specific request to get the next HID report from the device. */ - #define REQ_GetReport 0x01 + #define REQ_GetReport 0x01 /** HID Class specific request to get the idle timeout period of the device. */ - #define REQ_GetIdle 0x02 + #define REQ_GetIdle 0x02 /** HID Class specific request to send the next HID report to the device. */ - #define REQ_SetReport 0x09 + #define REQ_SetReport 0x09 /** HID Class specific request to set the idle timeout period of the device. */ - #define REQ_SetIdle 0x0A + #define REQ_SetIdle 0x0A /** HID Class specific request to get the current HID protocol in use, either report or boot. */ - #define REQ_GetProtocol 0x03 + #define REQ_GetProtocol 0x03 /** HID Class specific request to set the current HID protocol in use, either report or boot. */ - #define REQ_SetProtocol 0x0B + #define REQ_SetProtocol 0x0B /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ #define LEDMASK_USB_NOTREADY LEDS_LED1 diff --git a/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.h b/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.h index 57e152b9a1..c939bdfa0b 100644 --- a/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.h +++ b/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.h @@ -49,16 +49,16 @@ /* Macros: */ /** HID Class specific request to get the next HID report from the device. */ - #define REQ_GetReport 0x01 + #define REQ_GetReport 0x01 /** HID Class specific request to send the next HID report to the device. */ - #define REQ_SetReport 0x09 + #define REQ_SetReport 0x09 /** HID Class specific request to get the current HID protocol in use, either report or boot. */ - #define REQ_GetProtocol 0x03 + #define REQ_GetProtocol 0x03 /** HID Class specific request to set the current HID protocol in use, either report or boot. */ - #define REQ_SetProtocol 0x0B + #define REQ_SetProtocol 0x0B /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ #define LEDMASK_USB_NOTREADY LEDS_LED1 diff --git a/Demos/Device/LowLevel/MIDI/MIDI.h b/Demos/Device/LowLevel/MIDI/MIDI.h index 3e7a06d6d0..992d54cea8 100644 --- a/Demos/Device/LowLevel/MIDI/MIDI.h +++ b/Demos/Device/LowLevel/MIDI/MIDI.h @@ -65,7 +65,7 @@ * * \param[in] channel MIDI channel number to address */ - #define MIDI_CHANNEL(channel) (channel - 1) + #define MIDI_CHANNEL(channel) ((channel) - 1) /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ #define LEDMASK_USB_NOTREADY LEDS_LED1 diff --git a/Demos/Device/LowLevel/MassStorage/Lib/DataflashManager.h b/Demos/Device/LowLevel/MassStorage/Lib/DataflashManager.h index cfba56d3cb..e906a4c511 100644 --- a/Demos/Device/LowLevel/MassStorage/Lib/DataflashManager.h +++ b/Demos/Device/LowLevel/MassStorage/Lib/DataflashManager.h @@ -42,9 +42,9 @@ #include "MassStorage.h" #include "Descriptors.h" - #include // Function Attribute, Atomic, Debug and ISR Macros - #include // USB Functionality - #include // Dataflash chip driver + #include + #include + #include /* Preprocessor Checks: */ #if (DATAFLASH_PAGE_SIZE % 16) diff --git a/Demos/Device/LowLevel/MassStorage/Lib/SCSI.h b/Demos/Device/LowLevel/MassStorage/Lib/SCSI.h index f642debbab..93a4942156 100644 --- a/Demos/Device/LowLevel/MassStorage/Lib/SCSI.h +++ b/Demos/Device/LowLevel/MassStorage/Lib/SCSI.h @@ -40,9 +40,9 @@ #include #include - #include // Function Attribute, Atomic, Debug and ISR Macros - #include // USB Functionality - #include // LEDs driver + #include + #include + #include #include "MassStorage.h" #include "Descriptors.h" @@ -58,21 +58,21 @@ * \param[in] acode New SCSI additional sense key to set the additional sense code to * \param[in] aqual New SCSI additional sense key qualifier to set the additional sense qualifier code to */ - #define SCSI_SET_SENSE(key, acode, aqual) MACROS{ SenseData.SenseKey = key; \ - SenseData.AdditionalSenseCode = acode; \ - SenseData.AdditionalSenseQualifier = aqual; }MACROE + #define SCSI_SET_SENSE(key, acode, aqual) MACROS{ SenseData.SenseKey = (key); \ + SenseData.AdditionalSenseCode = (acode); \ + SenseData.AdditionalSenseQualifier = (aqual); }MACROE /** Macro for the SCSI_Command_ReadWrite_10() function, to indicate that data is to be read from the storage medium. */ - #define DATA_READ true + #define DATA_READ true /** Macro for the SCSI_Command_ReadWrite_10() function, to indicate that data is to be written to the storage medium. */ - #define DATA_WRITE false + #define DATA_WRITE false /** Value for the DeviceType entry in the SCSI_Inquiry_Response_t enum, indicating a Block Media device. */ - #define DEVICE_TYPE_BLOCK 0x00 + #define DEVICE_TYPE_BLOCK 0x00 /** Value for the DeviceType entry in the SCSI_Inquiry_Response_t enum, indicating a CD-ROM device. */ - #define DEVICE_TYPE_CDROM 0x05 + #define DEVICE_TYPE_CDROM 0x05 /* Type Defines: */ /** Type define for a SCSI response structure to a SCSI INQUIRY command. For details of the diff --git a/Demos/Device/LowLevel/MassStorage/MassStorage.h b/Demos/Device/LowLevel/MassStorage/MassStorage.h index 65407c8c14..05dbe75bc6 100644 --- a/Demos/Device/LowLevel/MassStorage/MassStorage.h +++ b/Demos/Device/LowLevel/MassStorage/MassStorage.h @@ -94,7 +94,7 @@ #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) /** LED mask for the library LED driver, to indicate that the USB interface is busy. */ - #define LEDMASK_USB_BUSY (LEDS_LED2) + #define LEDMASK_USB_BUSY LEDS_LED2 /* Type defines: */ /** Type define for a Command Block Wrapper, used in the Mass Storage Bulk-Only Transport protocol. */ diff --git a/Demos/Device/LowLevel/Mouse/Mouse.h b/Demos/Device/LowLevel/Mouse/Mouse.h index 698fe478ae..3296f5c892 100644 --- a/Demos/Device/LowLevel/Mouse/Mouse.h +++ b/Demos/Device/LowLevel/Mouse/Mouse.h @@ -53,25 +53,25 @@ /* Macros: */ /** Idle period indicating that reports should be sent only when the inputs have changed */ - #define HID_IDLE_CHANGESONLY 0 + #define HID_IDLE_CHANGESONLY 0 /** HID Class specific request to get the next HID report from the device. */ - #define REQ_GetReport 0x01 + #define REQ_GetReport 0x01 /** HID Class specific request to get the idle timeout period of the device. */ - #define REQ_GetIdle 0x02 + #define REQ_GetIdle 0x02 /** HID Class specific request to send the next HID report to the device. */ - #define REQ_SetReport 0x09 + #define REQ_SetReport 0x09 /** HID Class specific request to set the idle timeout period of the device. */ - #define REQ_SetIdle 0x0A + #define REQ_SetIdle 0x0A /** HID Class specific request to get the current HID protocol in use, either report or boot. */ - #define REQ_GetProtocol 0x03 + #define REQ_GetProtocol 0x03 /** HID Class specific request to set the current HID protocol in use, either report or boot. */ - #define REQ_SetProtocol 0x0B + #define REQ_SetProtocol 0x0B /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ #define LEDMASK_USB_NOTREADY LEDS_LED1 diff --git a/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.h b/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.h index 3ae896607b..0f6d9e6aae 100644 --- a/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.h +++ b/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.h @@ -74,7 +74,7 @@ #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) /** LED mask for the library LED driver, to indicate that the USB interface is busy. */ - #define LEDMASK_USB_BUSY (LEDS_LED2) + #define LEDMASK_USB_BUSY LEDS_LED2 /* Type Defines: */ /** Type define for a RNDIS notification message, for transmission to the RNDIS host via the notification diff --git a/Demos/Device/LowLevel/VirtualSerial/VirtualSerial.h b/Demos/Device/LowLevel/VirtualSerial/VirtualSerial.h index d8abc12076..ee62354747 100644 --- a/Demos/Device/LowLevel/VirtualSerial/VirtualSerial.h +++ b/Demos/Device/LowLevel/VirtualSerial/VirtualSerial.h @@ -111,16 +111,16 @@ #define CONTROL_LINE_IN_OVERRUNERROR (1 << 6) /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ - #define LEDMASK_USB_NOTREADY LEDS_LED1 + #define LEDMASK_USB_NOTREADY LEDS_LED1 /** LED mask for the library LED driver, to indicate that the USB interface is enumerating. */ - #define LEDMASK_USB_ENUMERATING (LEDS_LED2 | LEDS_LED3) + #define LEDMASK_USB_ENUMERATING (LEDS_LED2 | LEDS_LED3) /** LED mask for the library LED driver, to indicate that the USB interface is ready. */ - #define LEDMASK_USB_READY (LEDS_LED2 | LEDS_LED4) + #define LEDMASK_USB_READY (LEDS_LED2 | LEDS_LED4) /** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */ - #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) + #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) /* Type Defines: */ /** Type define for the virtual serial port line encoding settings, for storing the current USART configuration diff --git a/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.h b/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.h index 4c3539fd01..45646ce868 100644 --- a/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.h +++ b/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.h @@ -65,7 +65,7 @@ #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) /** LED mask for the library LED driver, to indicate that the USB interface is busy. */ - #define LEDMASK_USB_BUSY (LEDS_LED2) + #define LEDMASK_USB_BUSY LEDS_LED2 /* Function Prototypes: */ void SetupHardware(void); diff --git a/Demos/Host/ClassDriver/PrinterHost/PrinterHost.h b/Demos/Host/ClassDriver/PrinterHost/PrinterHost.h index 24e42ebca9..7621927630 100644 --- a/Demos/Host/ClassDriver/PrinterHost/PrinterHost.h +++ b/Demos/Host/ClassDriver/PrinterHost/PrinterHost.h @@ -64,7 +64,7 @@ #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) /** LED mask for the library LED driver, to indicate that the USB interface is busy. */ - #define LEDMASK_USB_BUSY (LEDS_LED2) + #define LEDMASK_USB_BUSY LEDS_LED2 /* Function Prototypes: */ void SetupHardware(void); diff --git a/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.h b/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.h index ea87648c01..48dc939c69 100644 --- a/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.h +++ b/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.h @@ -64,7 +64,7 @@ #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) /** LED mask for the library LED driver, to indicate that the USB interface is busy. */ - #define LEDMASK_USB_BUSY (LEDS_LED2) + #define LEDMASK_USB_BUSY LEDS_LED2 /* Function Prototypes: */ void SetupHardware(void); diff --git a/Demos/Host/Incomplete/BluetoothHost/ConfigDescriptor.h b/Demos/Host/Incomplete/BluetoothHost/ConfigDescriptor.h index e94368714a..6b59289df4 100644 --- a/Demos/Host/Incomplete/BluetoothHost/ConfigDescriptor.h +++ b/Demos/Host/Incomplete/BluetoothHost/ConfigDescriptor.h @@ -32,7 +32,7 @@ #define _CONFIGDESCRIPTOR_H_ /* Includes: */ - #include // USB Functionality + #include #include "BluetoothHost.h" diff --git a/Demos/Host/Incomplete/BluetoothHost/DeviceDescriptor.h b/Demos/Host/Incomplete/BluetoothHost/DeviceDescriptor.h index 46edbdb270..9de8bc1b5d 100644 --- a/Demos/Host/Incomplete/BluetoothHost/DeviceDescriptor.h +++ b/Demos/Host/Incomplete/BluetoothHost/DeviceDescriptor.h @@ -32,7 +32,7 @@ #define _DEVICEDESCRIPTOR_H_ /* Includes: */ - #include // USB Functionality + #include #include "BluetoothHost.h" diff --git a/Demos/Host/LowLevel/GenericHIDHost/ConfigDescriptor.h b/Demos/Host/LowLevel/GenericHIDHost/ConfigDescriptor.h index 48616106da..7cc1576ae7 100644 --- a/Demos/Host/LowLevel/GenericHIDHost/ConfigDescriptor.h +++ b/Demos/Host/LowLevel/GenericHIDHost/ConfigDescriptor.h @@ -37,13 +37,13 @@ #define _CONFIGDESCRIPTOR_H_ /* Includes: */ - #include // USB Functionality + #include #include "GenericHIDHost.h" /* Macros: */ /** Interface Class value for the Human Interface Device class */ - #define HID_CLASS 0x03 + #define HID_CLASS 0x03 /** Maximum size of a device configuration descriptor which can be processed by the host, in bytes */ #define MAX_CONFIG_DESCRIPTOR_SIZE 512 diff --git a/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.h b/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.h index 1c6210ad28..bae5369ad4 100644 --- a/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.h +++ b/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.h @@ -54,13 +54,13 @@ /* Macros: */ /** Pipe number for the HID data IN pipe */ - #define HID_DATA_IN_PIPE 1 + #define HID_DATA_IN_PIPE 1 /** Pipe number for the HID data OUT pipe */ - #define HID_DATA_OUT_PIPE 2 + #define HID_DATA_OUT_PIPE 2 /** HID Class specific request to send a HID report to the device. */ - #define REQ_SetReport 0x09 + #define REQ_SetReport 0x09 /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ #define LEDMASK_USB_NOTREADY LEDS_LED1 diff --git a/Demos/Host/LowLevel/JoystickHostWithParser/ConfigDescriptor.h b/Demos/Host/LowLevel/JoystickHostWithParser/ConfigDescriptor.h index 62684306f2..7fcd5113ec 100644 --- a/Demos/Host/LowLevel/JoystickHostWithParser/ConfigDescriptor.h +++ b/Demos/Host/LowLevel/JoystickHostWithParser/ConfigDescriptor.h @@ -37,7 +37,7 @@ #define _CONFIGDESCRIPTOR_H_ /* Includes: */ - #include // USB Functionality + #include #include "HIDReport.h" diff --git a/Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.h b/Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.h index 73c593850c..32e2626f78 100644 --- a/Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.h +++ b/Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.h @@ -54,7 +54,7 @@ /* Macros: */ /** Pipe number for the joystick report data pipe */ - #define JOYSTICK_DATAPIPE 1 + #define JOYSTICK_DATAPIPE 1 /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ #define LEDMASK_USB_NOTREADY LEDS_LED1 diff --git a/Demos/Host/LowLevel/KeyboardHost/ConfigDescriptor.h b/Demos/Host/LowLevel/KeyboardHost/ConfigDescriptor.h index 6dd9366ab9..07d3b2e937 100644 --- a/Demos/Host/LowLevel/KeyboardHost/ConfigDescriptor.h +++ b/Demos/Host/LowLevel/KeyboardHost/ConfigDescriptor.h @@ -37,7 +37,7 @@ #define _CONFIGDESCRIPTOR_H_ /* Includes: */ - #include // USB Functionality + #include #include "KeyboardHost.h" diff --git a/Demos/Host/LowLevel/KeyboardHostWithParser/ConfigDescriptor.h b/Demos/Host/LowLevel/KeyboardHostWithParser/ConfigDescriptor.h index 9c6575cb1e..2a6d56ddbb 100644 --- a/Demos/Host/LowLevel/KeyboardHostWithParser/ConfigDescriptor.h +++ b/Demos/Host/LowLevel/KeyboardHostWithParser/ConfigDescriptor.h @@ -37,7 +37,7 @@ #define _CONFIGDESCRIPTOR_H_ /* Includes: */ - #include // USB Functionality + #include #include "HIDReport.h" diff --git a/Demos/Host/LowLevel/KeyboardHostWithParser/KeyboardHostWithParser.h b/Demos/Host/LowLevel/KeyboardHostWithParser/KeyboardHostWithParser.h index 8453bb6612..461c2a0598 100644 --- a/Demos/Host/LowLevel/KeyboardHostWithParser/KeyboardHostWithParser.h +++ b/Demos/Host/LowLevel/KeyboardHostWithParser/KeyboardHostWithParser.h @@ -49,7 +49,7 @@ /* Macros: */ /** Pipe number for the keyboard report data pipe */ - #define KEYBOARD_DATAPIPE 1 + #define KEYBOARD_DATAPIPE 1 /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ #define LEDMASK_USB_NOTREADY LEDS_LED1 diff --git a/Demos/Host/LowLevel/MIDIHost/ConfigDescriptor.h b/Demos/Host/LowLevel/MIDIHost/ConfigDescriptor.h index 8a49e2bd02..1ca24d495f 100644 --- a/Demos/Host/LowLevel/MIDIHost/ConfigDescriptor.h +++ b/Demos/Host/LowLevel/MIDIHost/ConfigDescriptor.h @@ -37,7 +37,7 @@ #define _CONFIGDESCRIPTOR_H_ /* Includes: */ - #include // USB Functionality + #include #include "MIDIHost.h" diff --git a/Demos/Host/LowLevel/MassStorageHost/ConfigDescriptor.h b/Demos/Host/LowLevel/MassStorageHost/ConfigDescriptor.h index 2f311a5bb9..e51faa4819 100644 --- a/Demos/Host/LowLevel/MassStorageHost/ConfigDescriptor.h +++ b/Demos/Host/LowLevel/MassStorageHost/ConfigDescriptor.h @@ -37,7 +37,7 @@ #define _CONFIGDESCRIPTOR_H_ /* Includes: */ - #include // USB Functionality + #include #include "MassStorageHost.h" diff --git a/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h b/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h index c7bb7c7d9c..9ce419b4f1 100644 --- a/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h +++ b/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h @@ -64,7 +64,7 @@ #define COMMAND_DIRECTION_DATA_IN (1 << 7) /** Timeout period between the issuing of a CBW to a device, and the reception of the first packet */ - #define COMMAND_DATA_TIMEOUT_MS 2000 + #define COMMAND_DATA_TIMEOUT_MS 10000 /** Pipe number of the Mass Storage data IN pipe */ #define MASS_STORE_DATA_IN_PIPE 1 diff --git a/Demos/Host/LowLevel/MassStorageHost/MassStorageHost.h b/Demos/Host/LowLevel/MassStorageHost/MassStorageHost.h index e9f02784cc..663b7205df 100644 --- a/Demos/Host/LowLevel/MassStorageHost/MassStorageHost.h +++ b/Demos/Host/LowLevel/MassStorageHost/MassStorageHost.h @@ -70,7 +70,7 @@ #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) /** LED mask for the library LED driver, to indicate that the USB interface is busy. */ - #define LEDMASK_USB_BUSY (LEDS_LED2) + #define LEDMASK_USB_BUSY LEDS_LED2 /* Function Prototypes: */ void MassStorage_Task(void); diff --git a/Demos/Host/LowLevel/MouseHost/ConfigDescriptor.h b/Demos/Host/LowLevel/MouseHost/ConfigDescriptor.h index 6a194b1c8f..1acf20592a 100644 --- a/Demos/Host/LowLevel/MouseHost/ConfigDescriptor.h +++ b/Demos/Host/LowLevel/MouseHost/ConfigDescriptor.h @@ -37,7 +37,7 @@ #define _CONFIGDESCRIPTOR_H_ /* Includes: */ - #include // USB Functionality + #include #include "MouseHost.h" diff --git a/Demos/Host/LowLevel/MouseHost/MouseHost.h b/Demos/Host/LowLevel/MouseHost/MouseHost.h index 6a31c658bb..207ac0c344 100644 --- a/Demos/Host/LowLevel/MouseHost/MouseHost.h +++ b/Demos/Host/LowLevel/MouseHost/MouseHost.h @@ -54,10 +54,10 @@ /* Macros: */ /** Pipe number for the mouse data IN pipe */ - #define MOUSE_DATAPIPE 1 + #define MOUSE_DATAPIPE 1 /** HID Class Specific request to set the report protocol mode */ - #define REQ_SetProtocol 0x0B + #define REQ_SetProtocol 0x0B /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ #define LEDMASK_USB_NOTREADY LEDS_LED1 diff --git a/Demos/Host/LowLevel/MouseHostWithParser/ConfigDescriptor.h b/Demos/Host/LowLevel/MouseHostWithParser/ConfigDescriptor.h index 7b33c74282..fe0419798c 100644 --- a/Demos/Host/LowLevel/MouseHostWithParser/ConfigDescriptor.h +++ b/Demos/Host/LowLevel/MouseHostWithParser/ConfigDescriptor.h @@ -37,7 +37,7 @@ #define _CONFIGDESCRIPTOR_H_ /* Includes: */ - #include // USB Functionality + #include #include "HIDReport.h" diff --git a/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.h b/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.h index 92782cf750..9183cca1ad 100644 --- a/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.h +++ b/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.h @@ -54,7 +54,7 @@ /* Macros: */ /** Pipe number for the mouse report data pipe */ - #define MOUSE_DATAPIPE 1 + #define MOUSE_DATAPIPE 1 /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ #define LEDMASK_USB_NOTREADY LEDS_LED1 diff --git a/Demos/Host/LowLevel/PrinterHost/PrinterHost.h b/Demos/Host/LowLevel/PrinterHost/PrinterHost.h index db7a9fe7e2..b5008c1e91 100644 --- a/Demos/Host/LowLevel/PrinterHost/PrinterHost.h +++ b/Demos/Host/LowLevel/PrinterHost/PrinterHost.h @@ -67,7 +67,7 @@ #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) /** LED mask for the library LED driver, to indicate that the USB interface is busy. */ - #define LEDMASK_USB_BUSY (LEDS_LED2) + #define LEDMASK_USB_BUSY LEDS_LED2 /* Function Prototypes: */ void EVENT_USB_Host_DeviceAttached(void); diff --git a/Demos/Host/LowLevel/RNDISEthernetHost/ConfigDescriptor.h b/Demos/Host/LowLevel/RNDISEthernetHost/ConfigDescriptor.h index 4279c1a131..d2d1596f74 100644 --- a/Demos/Host/LowLevel/RNDISEthernetHost/ConfigDescriptor.h +++ b/Demos/Host/LowLevel/RNDISEthernetHost/ConfigDescriptor.h @@ -37,7 +37,7 @@ #define _CONFIGDESCRIPTOR_H_ /* Includes: */ - #include // USB Functionality + #include #include "RNDISEthernetHost.h" diff --git a/Demos/Host/LowLevel/RNDISEthernetHost/RNDISEthernetHost.h b/Demos/Host/LowLevel/RNDISEthernetHost/RNDISEthernetHost.h index 47e5c24d15..480c1138f2 100644 --- a/Demos/Host/LowLevel/RNDISEthernetHost/RNDISEthernetHost.h +++ b/Demos/Host/LowLevel/RNDISEthernetHost/RNDISEthernetHost.h @@ -67,7 +67,7 @@ #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) /** LED mask for the library LED driver, to indicate that the USB interface is busy. */ - #define LEDMASK_USB_BUSY (LEDS_LED2) + #define LEDMASK_USB_BUSY LEDS_LED2 /* Type Defines: */ /** Type define for a RNDIS notification message, for transmission to the RNDIS host via the notification diff --git a/Demos/Host/LowLevel/StillImageHost/ConfigDescriptor.h b/Demos/Host/LowLevel/StillImageHost/ConfigDescriptor.h index 24dd0664d7..946edb16bd 100644 --- a/Demos/Host/LowLevel/StillImageHost/ConfigDescriptor.h +++ b/Demos/Host/LowLevel/StillImageHost/ConfigDescriptor.h @@ -37,7 +37,7 @@ #define _CONFIGDESCRIPTOR_H_ /* Includes: */ - #include // USB Functionality + #include #include "StillImageHost.h" diff --git a/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.h b/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.h index 6ac70fc50d..b38f5c1767 100644 --- a/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.h +++ b/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.h @@ -37,7 +37,7 @@ #define _STILL_IMAGE_COMMANDS_H_ /* Includes: */ - #include // USB Functionality + #include #include "PIMACodes.h" @@ -55,10 +55,10 @@ * * \param[in] chars Total number of Unicode characters in the string */ - #define UNICODE_STRING_LENGTH(chars) (chars << 1) + #define UNICODE_STRING_LENGTH(chars) ((chars) << 1) /** Timeout period between the issuing of a command to a device, and the reception of the first packet */ - #define COMMAND_DATA_TIMEOUT_MS 5000 + #define COMMAND_DATA_TIMEOUT_MS 10000 /** Used in the DataLength field of a PIMA container, to give the total container size in bytes for * a command container. @@ -66,7 +66,7 @@ * \param[in] params Number of parameters which are to be sent in the Param field of the container */ #define PIMA_COMMAND_SIZE(params) ((sizeof(PIMA_SendBlock) - sizeof(PIMA_SendBlock.Params)) + \ - (params * sizeof(PIMA_SendBlock.Params[0]))) + ((params) * sizeof(PIMA_SendBlock.Params[0]))) /** Used in the DataLength field of a PIMA container, to give the total container size in bytes for * a data container. diff --git a/Demos/Host/LowLevel/StillImageHost/StillImageHost.h b/Demos/Host/LowLevel/StillImageHost/StillImageHost.h index 89956e0f5d..23077c44c2 100644 --- a/Demos/Host/LowLevel/StillImageHost/StillImageHost.h +++ b/Demos/Host/LowLevel/StillImageHost/StillImageHost.h @@ -66,7 +66,7 @@ #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) /** LED mask for the library LED driver, to indicate that the USB interface is busy. */ - #define LEDMASK_USB_BUSY (LEDS_LED2) + #define LEDMASK_USB_BUSY LEDS_LED2 /* Function Prototypes: */ void StillImage_Task(void); diff --git a/LUFA/Drivers/Board/Dataflash.h b/LUFA/Drivers/Board/Dataflash.h index f65298a1db..22f4b10d61 100644 --- a/LUFA/Drivers/Board/Dataflash.h +++ b/LUFA/Drivers/Board/Dataflash.h @@ -111,7 +111,7 @@ #define Dataflash_GetSelectedChip() (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK) #define Dataflash_SelectChip(mask) MACROS{ DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT \ - & ~DATAFLASH_CHIPCS_MASK) | mask); }MACROE + & ~DATAFLASH_CHIPCS_MASK) | (mask)); }MACROE #define Dataflash_DeselectChip() Dataflash_SelectChip(DATAFLASH_NO_CHIP) #endif diff --git a/LUFA/Drivers/USB/Class/Host/MassStorage.h b/LUFA/Drivers/USB/Class/Host/MassStorage.h index 584172fe83..aa70733f56 100644 --- a/LUFA/Drivers/USB/Class/Host/MassStorage.h +++ b/LUFA/Drivers/USB/Class/Host/MassStorage.h @@ -267,7 +267,7 @@ #define COMMAND_DIRECTION_DATA_OUT (0 << 7) #define COMMAND_DIRECTION_DATA_IN (1 << 7) - #define COMMAND_DATA_TIMEOUT_MS 2000 + #define COMMAND_DATA_TIMEOUT_MS 10000 #define MS_FOUND_DATAPIPE_IN (1 << 0) #define MS_FOUND_DATAPIPE_OUT (1 << 1) diff --git a/LUFA/Drivers/USB/Class/Host/StillImage.h b/LUFA/Drivers/USB/Class/Host/StillImage.h index 4478931e04..f89b59ec6f 100644 --- a/LUFA/Drivers/USB/Class/Host/StillImage.h +++ b/LUFA/Drivers/USB/Class/Host/StillImage.h @@ -230,7 +230,7 @@ #define SI_FOUND_DATAPIPE_IN (1 << 1) #define SI_FOUND_DATAPIPE_OUT (1 << 2) - #define COMMAND_DATA_TIMEOUT_MS 5000 + #define COMMAND_DATA_TIMEOUT_MS 10000 /* Function Prototypes: */ #if defined(INCLUDE_FROM_SI_CLASS_HOST_C) diff --git a/LUFA/Drivers/USB/HighLevel/StdDescriptors.h b/LUFA/Drivers/USB/HighLevel/StdDescriptors.h index 2862944242..9b46c09361 100644 --- a/LUFA/Drivers/USB/HighLevel/StdDescriptors.h +++ b/LUFA/Drivers/USB/HighLevel/StdDescriptors.h @@ -82,12 +82,12 @@ #endif /** Macro to calculate the power value for the device descriptor, from a given number of milliamps. */ - #define USB_CONFIG_POWER_MA(mA) (mA >> 1) + #define USB_CONFIG_POWER_MA(mA) ((mA) >> 1) /** Macro to calculate the Unicode length of a string with a given number of Unicode characters. * Should be used in string descriptor's headers for giving the string descriptor's byte length. */ - #define USB_STRING_LEN(str) (sizeof(USB_Descriptor_Header_t) + (str << 1)) + #define USB_STRING_LEN(str) (sizeof(USB_Descriptor_Header_t) + ((str) << 1)) /** Macro to encode a given four digit floating point version number (e.g. 01.23) into Binary Coded * Decimal format for descriptor fields requiring BCD encoding, such as the USB version number in the @@ -593,10 +593,10 @@ /* Private Interface - For use in library only: */ #if !defined(__DOXYGEN__) /* Macros: */ - #define VERSION_TENS(x) (int)(x / 10) - #define VERSION_ONES(x) (int)(x - (10 * VERSION_TENS(x))) - #define VERSION_TENTHS(x) (int)((x - (int)x) * 10) - #define VERSION_HUNDREDTHS(x) (int)(((x - (int)x) * 100) - (10 * VERSION_TENTHS(x))) + #define VERSION_TENS(x) (int)((x) / 10) + #define VERSION_ONES(x) (int)((x) - (10 * VERSION_TENS(x))) + #define VERSION_TENTHS(x) (int)(((x) - (int)(x)) * 10) + #define VERSION_HUNDREDTHS(x) (int)((((x) - (int)(x)) * 100) - (10 * VERSION_TENTHS(x))) #endif /* Disable C linkage for C++ Compilers: */ diff --git a/LUFA/Drivers/USB/HighLevel/USBTask.h b/LUFA/Drivers/USB/HighLevel/USBTask.h index cc0601548d..4c9b717a43 100644 --- a/LUFA/Drivers/USB/HighLevel/USBTask.h +++ b/LUFA/Drivers/USB/HighLevel/USBTask.h @@ -175,7 +175,9 @@ #endif /* Macros: */ - #define HOST_TASK_NONBLOCK_WAIT(duration, nextstate) MACROS{USB_HostState = HOST_STATE_WaitForDevice; WaitMSRemaining = duration; PostWaitState = nextstate; }MACROE + #define HOST_TASK_NONBLOCK_WAIT(duration, nextstate) MACROS{ USB_HostState = HOST_STATE_WaitForDevice; \ + WaitMSRemaining = (duration); \ + PostWaitState = (nextstate); }MACROE #endif /* Disable C linkage for C++ Compilers: */ diff --git a/LUFA/Drivers/USB/LowLevel/Endpoint.h b/LUFA/Drivers/USB/LowLevel/Endpoint.h index b9122e4085..eb09a0ddbd 100644 --- a/LUFA/Drivers/USB/LowLevel/Endpoint.h +++ b/LUFA/Drivers/USB/LowLevel/Endpoint.h @@ -353,7 +353,7 @@ #if !defined(CONTROL_ONLY_DEVICE) #define Endpoint_SelectEndpoint(epnum) MACROS{ UENUM = (epnum); }MACROE #else - #define Endpoint_SelectEndpoint(epnum) (void)epnum + #define Endpoint_SelectEndpoint(epnum) (void)(epnum) #endif #define Endpoint_ResetFIFO(epnum) MACROS{ UERST = (1 << (epnum)); UERST = 0; }MACROE diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt index 1fdd966260..f7af9a1e9f 100644 --- a/LUFA/ManPages/ChangeLog.txt +++ b/LUFA/ManPages/ChangeLog.txt @@ -53,6 +53,9 @@ * - Fixed HID Parser not distributing the Usage Min and Usage Max values across an array of report items * - Fixed Mass Storage Host Class driver and Low Level demo not clearing the error condition if an attached device returns a * STALL to a GET MAX LUN request (thanks to Martin Luxen) + * - Fixed TeensyHID bootloader not properly shutting down the USB interface to trigger a disconnection on the host before resetting + * - Fixed MassStorageHost Class driver demo not having USB_STREAM_TIMEOUT_MS compile time option set properly to prevent slow + * devices from timing out the data pipes * * \section Sec_ChangeLog091122 Version 091122 * diff --git a/LUFA/ManPages/FutureChanges.txt b/LUFA/ManPages/FutureChanges.txt index 987ce3d371..3267afc73d 100644 --- a/LUFA/ManPages/FutureChanges.txt +++ b/LUFA/ManPages/FutureChanges.txt @@ -26,7 +26,11 @@ * -# Write LUFA tutorials * - Demos/Projects * -# Multiple-Report HID device - * -# Device/Host bridge + * -# Device/Host USB bridge + * -# Finish BluetoothHost demo + * -# Finish MIDI class Bootloader + * -# Finish SideShow demo + * -# Finish StandaloneProgrammer project * - Ports * -# AVR32 UC3B series microcontrollers * -# Atmel ARM7 series microcontrollers diff --git a/Projects/AVRISP/Lib/V2Protocol.h b/Projects/AVRISP/Lib/V2Protocol.h index d40f951f9a..c6203004fe 100644 --- a/Projects/AVRISP/Lib/V2Protocol.h +++ b/Projects/AVRISP/Lib/V2Protocol.h @@ -57,7 +57,7 @@ /* Macros: */ /** Programmer ID string, returned to the host during the CMD_SIGN_ON command processing */ - #define PROGRAMMER_ID "AVRISP_MK2" + #define PROGRAMMER_ID "AVRISP_MK2" /** Timeout in milliseconds of target busy-wait loops waiting for a command to complete */ #define TARGET_BUSY_TIMEOUT_MS 240 diff --git a/Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.h b/Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.h index 744ad01bf6..828e3ea501 100644 --- a/Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.h +++ b/Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.h @@ -68,7 +68,7 @@ #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) /** LED mask for the library LED driver, to indicate that the USB interface is busy. */ - #define LEDMASK_USB_BUSY (LEDS_LED2) + #define LEDMASK_USB_BUSY LEDS_LED2 /* External Variables: */ extern FILE DiskStream; diff --git a/Projects/MissileLauncher/MissileLauncher.c b/Projects/MissileLauncher/MissileLauncher.c index a16d3132b7..26dd077cd7 100644 --- a/Projects/MissileLauncher/MissileLauncher.c +++ b/Projects/MissileLauncher/MissileLauncher.c @@ -287,7 +287,7 @@ void WriteNextReport(uint8_t* ReportOUTData, uint16_t ReportLength) USB_ControlRequest = (USB_Request_Header_t) { .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE), - .bRequest = 0x09, + .bRequest = REQ_SetReport, .wValue = 0x02, .wIndex = 0x01, .wLength = ReportLength, diff --git a/Projects/MissileLauncher/MissileLauncher.h b/Projects/MissileLauncher/MissileLauncher.h index 86fbe86020..e92fe743cf 100644 --- a/Projects/MissileLauncher/MissileLauncher.h +++ b/Projects/MissileLauncher/MissileLauncher.h @@ -55,13 +55,13 @@ /* Macros: */ /** Pipe number for the HID data IN pipe */ - #define HID_DATA_IN_PIPE 1 + #define HID_DATA_IN_PIPE 1 /** Pipe number for the HID data OUT pipe */ - #define HID_DATA_OUT_PIPE 2 + #define HID_DATA_OUT_PIPE 2 /** HID Class specific request to send a HID report to the device. */ - #define REQ_SetReport 0x09 + #define REQ_SetReport 0x09 /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ #define LEDMASK_USB_NOTREADY LEDS_LED1