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.).
This commit is contained in:
		
							parent
							
								
									2281750b5f
								
							
						
					
					
						commit
						7ace314cc1
					
				
					 61 changed files with 133 additions and 122 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,9 +42,9 @@
 | 
			
		|||
		#include "MassStorage.h"
 | 
			
		||||
		#include "Descriptors.h"
 | 
			
		||||
 | 
			
		||||
		#include <LUFA/Common/Common.h>              // Function Attribute, Atomic, Debug and ISR Macros
 | 
			
		||||
		#include <LUFA/Drivers/USB/USB.h>            // USB Functionality
 | 
			
		||||
		#include <LUFA/Drivers/Board/Dataflash.h>    // Dataflash chip driver
 | 
			
		||||
		#include <LUFA/Common/Common.h>
 | 
			
		||||
		#include <LUFA/Drivers/USB/USB.h>
 | 
			
		||||
		#include <LUFA/Drivers/Board/Dataflash.h>
 | 
			
		||||
 | 
			
		||||
	/* Preprocessor Checks: */
 | 
			
		||||
		#if (DATAFLASH_PAGE_SIZE % 16)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,9 +40,9 @@
 | 
			
		|||
		#include <avr/io.h>
 | 
			
		||||
		#include <avr/pgmspace.h>
 | 
			
		||||
 | 
			
		||||
		#include <LUFA/Common/Common.h>              // Function Attribute, Atomic, Debug and ISR Macros
 | 
			
		||||
		#include <LUFA/Drivers/USB/USB.h>            // USB Functionality
 | 
			
		||||
		#include <LUFA/Drivers/Board/LEDs.h>         // LEDs driver
 | 
			
		||||
		#include <LUFA/Common/Common.h>
 | 
			
		||||
		#include <LUFA/Drivers/USB/USB.h>
 | 
			
		||||
		#include <LUFA/Drivers/Board/LEDs.h>
 | 
			
		||||
 | 
			
		||||
		#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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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. */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue