/*\r
LUFA Library\r
- Copyright (C) Dean Camera, 2009.\r
+ Copyright (C) Dean Camera, 2010.\r
\r
dean [at] fourwalledcubicle [dot] com\r
www.fourwalledcubicle.com\r
*/\r
\r
/*\r
- Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
\r
- Permission to use, copy, modify, and distribute this software\r
- and its documentation for any purpose and without fee is hereby\r
- granted, provided that the above copyright notice appear in all\r
- copies and that both that the copyright notice and this\r
- permission notice and warranty disclaimer appear in supporting\r
- documentation, and that the name of the author not be used in\r
- advertising or publicity pertaining to distribution of the\r
+ Permission to use, copy, modify, distribute, and sell this \r
+ software and its documentation for any purpose is hereby granted\r
+ without fee, provided that the above copyright notice appear in \r
+ all copies and that both that the copyright notice and this\r
+ permission notice and warranty disclaimer appear in supporting \r
+ documentation, and that the name of the author not be used in \r
+ advertising or publicity pertaining to distribution of the \r
software without specific, written prior permission.\r
\r
The author disclaim all warranties with regard to this\r
#include <avr/io.h>\r
#include <avr/pgmspace.h>\r
\r
- #include <LUFA/Common/Common.h> // Function Attribute, Atomic, Debug and ISR Macros\r
- #include <LUFA/Drivers/USB/USB.h> // USB Functionality\r
- #include <LUFA/Drivers/Board/LEDs.h> // LEDs driver\r
+ #include <LUFA/Common/Common.h>\r
+ #include <LUFA/Drivers/USB/USB.h>\r
+ #include <LUFA/Drivers/Board/LEDs.h>\r
\r
#include "MassStorage.h"\r
#include "Descriptors.h"\r
* \param[in] acode New SCSI additional sense key to set the additional sense code to\r
* \param[in] aqual New SCSI additional sense key qualifier to set the additional sense qualifier code to\r
*/\r
- #define SCSI_SET_SENSE(key, acode, aqual) MACROS{ SenseData.SenseKey = key; \\r
- SenseData.AdditionalSenseCode = acode; \\r
- SenseData.AdditionalSenseQualifier = aqual; }MACROE\r
+ #define SCSI_SET_SENSE(key, acode, aqual) MACROS{ SenseData.SenseKey = (key); \\r
+ SenseData.AdditionalSenseCode = (acode); \\r
+ SenseData.AdditionalSenseQualifier = (aqual); }MACROE\r
\r
/** Macro for the SCSI_Command_ReadWrite_10() function, to indicate that data is to be read from the storage medium. */\r
- #define DATA_READ true\r
+ #define DATA_READ true\r
\r
/** Macro for the SCSI_Command_ReadWrite_10() function, to indicate that data is to be written to the storage medium. */\r
- #define DATA_WRITE false\r
+ #define DATA_WRITE false\r
\r
/** Value for the DeviceType entry in the SCSI_Inquiry_Response_t enum, indicating a Block Media device. */\r
- #define DEVICE_TYPE_BLOCK 0x00\r
+ #define DEVICE_TYPE_BLOCK 0x00\r
\r
/** Value for the DeviceType entry in the SCSI_Inquiry_Response_t enum, indicating a CD-ROM device. */\r
- #define DEVICE_TYPE_CDROM 0x05\r
+ #define DEVICE_TYPE_CDROM 0x05\r
\r
/* Type Defines: */\r
/** Type define for a SCSI response structure to a SCSI INQUIRY command. For details of the\r
unsigned char _RESERVED1 : 7;\r
unsigned char Removable : 1;\r
\r
- uint8_t Version;\r
+ uint8_t Version;\r
\r
unsigned char ResponseDataFormat : 4;\r
unsigned char _RESERVED2 : 1;\r
unsigned char TrmTsk : 1;\r
unsigned char AERC : 1;\r
\r
- uint8_t AdditionalLength;\r
- uint8_t _RESERVED3[2];\r
+ uint8_t AdditionalLength;\r
+ uint8_t _RESERVED3[2];\r
\r
unsigned char SoftReset : 1;\r
unsigned char CmdQue : 1;\r
unsigned char WideBus32Bit : 1;\r
unsigned char RelAddr : 1;\r
\r
- uint8_t VendorID[8];\r
- uint8_t ProductID[16];\r
- uint8_t RevisionID[4];\r
+ uint8_t VendorID[8];\r
+ uint8_t ProductID[16];\r
+ uint8_t RevisionID[4];\r
} SCSI_Inquiry_Response_t;\r
\r
/** Type define for a SCSI sense structure to a SCSI REQUEST SENSE command. For details of the\r
unsigned char EOM : 1;\r
unsigned char FileMark : 1;\r
\r
- uint8_t Information[4];\r
- uint8_t AdditionalLength;\r
- uint8_t CmdSpecificInformation[4];\r
- uint8_t AdditionalSenseCode;\r
- uint8_t AdditionalSenseQualifier;\r
- uint8_t FieldReplaceableUnitCode;\r
- uint8_t SenseKeySpecific[3];\r
+ uint8_t Information[4];\r
+ uint8_t AdditionalLength;\r
+ uint8_t CmdSpecificInformation[4];\r
+ uint8_t AdditionalSenseCode;\r
+ uint8_t AdditionalSenseQualifier;\r
+ uint8_t FieldReplaceableUnitCode;\r
+ uint8_t SenseKeySpecific[3];\r
} SCSI_Request_Sense_Response_t;\r
\r
/* Function Prototypes: */\r