aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2011-04-10 06:43:02 +0000
committerDean Camera <dean@fourwalledcubicle.com>2011-04-10 06:43:02 +0000
commit852b5e612d549d1f086ceca4df0b589ac24cb37f (patch)
treeced320248de1fb786dda5e515ad306cbd81086dd
parentd08116b02fd0032f24be18b255c9d80ec9ca316d (diff)
downloadlufa-852b5e612d549d1f086ceca4df0b589ac24cb37f.tar.gz
lufa-852b5e612d549d1f086ceca4df0b589ac24cb37f.tar.bz2
lufa-852b5e612d549d1f086ceca4df0b589ac24cb37f.zip
Remove redundant type information for bitfield elements, other than the signed/unsignedness of the element.
Change type of USB_SelectedPipe and USB_SelectedEndpoint for the AVR32 UC3 architecture to uint32_t to reduce the compiled code size.
-rw-r--r--Demos/Device/ClassDriver/RNDISEthernet/Lib/IP.h24
-rw-r--r--Demos/Device/ClassDriver/RNDISEthernet/Lib/TCP.h4
-rw-r--r--Demos/Device/Incomplete/Sideshow/Lib/SideshowCommon.h20
-rw-r--r--Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.h20
-rw-r--r--Demos/Device/LowLevel/MassStorage/Lib/SCSI.h92
-rw-r--r--Demos/Device/LowLevel/RNDISEthernet/Lib/IP.h24
-rw-r--r--Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h4
-rw-r--r--Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMMControl.h28
-rw-r--r--LUFA/Common/Common.h46
-rw-r--r--LUFA/Drivers/USB/Class/Common/MIDI.h10
-rw-r--r--LUFA/Drivers/USB/Class/Common/MassStorage.h92
-rw-r--r--LUFA/Drivers/USB/Class/Device/MIDI.h1
-rw-r--r--LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.c2
-rw-r--r--LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h2
-rw-r--r--LUFA/Drivers/USB/Core/UC3/Pipe_UC3.c2
-rw-r--r--LUFA/Drivers/USB/Core/UC3/Pipe_UC3.h2
-rw-r--r--LUFA/ManPages/LUFAPoweredProjects.txt1
-rw-r--r--Projects/TempDataLogger/Lib/DS1307.h40
18 files changed, 213 insertions, 201 deletions
diff --git a/Demos/Device/ClassDriver/RNDISEthernet/Lib/IP.h b/Demos/Device/ClassDriver/RNDISEthernet/Lib/IP.h
index c613c082f..1891ef47b 100644
--- a/Demos/Device/ClassDriver/RNDISEthernet/Lib/IP.h
+++ b/Demos/Device/ClassDriver/RNDISEthernet/Lib/IP.h
@@ -72,21 +72,21 @@
/** Type define of an IP packet header. */
typedef struct
{
- unsigned char HeaderLength : 4; /**< Total length of the packet header, in 4-byte blocks */
- unsigned char Version : 4; /**< IP protocol version */
- uint8_t TypeOfService; /**< Special service type identifier, indicating delay/throughput/reliability levels */
- uint16_t TotalLength; /**< Total length of the IP packet, in bytes */
+ unsigned HeaderLength : 4; /**< Total length of the packet header, in 4-byte blocks */
+ unsigned Version : 4; /**< IP protocol version */
+ uint8_t TypeOfService; /**< Special service type identifier, indicating delay/throughput/reliability levels */
+ uint16_t TotalLength; /**< Total length of the IP packet, in bytes */
- uint16_t Identification; /**< Identification value for identifying fragmented packets */
- unsigned int FragmentOffset : 13; /**< Offset of this IP fragment */
- unsigned int Flags : 3; /**< Fragment flags, to indicate if a packet is fragmented */
+ uint16_t Identification; /**< Identification value for identifying fragmented packets */
+ unsigned FragmentOffset : 13; /**< Offset of this IP fragment */
+ unsigned Flags : 3; /**< Fragment flags, to indicate if a packet is fragmented */
- uint8_t TTL; /**< Maximum allowable number of hops to reach the packet destination */
- uint8_t Protocol; /**< Encapsulated protocol type */
- uint16_t HeaderChecksum; /**< Ethernet checksum of the IP header */
+ uint8_t TTL; /**< Maximum allowable number of hops to reach the packet destination */
+ uint8_t Protocol; /**< Encapsulated protocol type */
+ uint16_t HeaderChecksum; /**< Ethernet checksum of the IP header */
- IP_Address_t SourceAddress; /**< Source protocol IP address of the packet */
- IP_Address_t DestinationAddress; /**< Destination protocol IP address of the packet */
+ IP_Address_t SourceAddress; /**< Source protocol IP address of the packet */
+ IP_Address_t DestinationAddress; /**< Destination protocol IP address of the packet */
} IP_Header_t;
/* Function Prototypes: */
diff --git a/Demos/Device/ClassDriver/RNDISEthernet/Lib/TCP.h b/Demos/Device/ClassDriver/RNDISEthernet/Lib/TCP.h
index f14b70e86..cbb3c6eec 100644
--- a/Demos/Device/ClassDriver/RNDISEthernet/Lib/TCP.h
+++ b/Demos/Device/ClassDriver/RNDISEthernet/Lib/TCP.h
@@ -218,8 +218,8 @@
uint32_t SequenceNumber; /**< Data sequence number of the packet */
uint32_t AcknowledgmentNumber; /**< Data acknowledgment number of the packet */
- unsigned char Reserved : 4; /**< Reserved, must be all 0 */
- unsigned char DataOffset : 4; /**< Offset of the data from the start of the header, in 4 byte chunks */
+ unsigned Reserved : 4; /**< Reserved, must be all 0 */
+ unsigned DataOffset : 4; /**< Offset of the data from the start of the header, in 4 byte chunks */
uint8_t Flags; /**< TCP packet flags */
uint16_t WindowSize; /**< Current data window size (bytes remaining in reception buffer) */
diff --git a/Demos/Device/Incomplete/Sideshow/Lib/SideshowCommon.h b/Demos/Device/Incomplete/Sideshow/Lib/SideshowCommon.h
index 6d1110c7c..794b91e9e 100644
--- a/Demos/Device/Incomplete/Sideshow/Lib/SideshowCommon.h
+++ b/Demos/Device/Incomplete/Sideshow/Lib/SideshowCommon.h
@@ -65,13 +65,13 @@
/* Type Defines: */
typedef struct
{
- uint32_t Chunks[4];
+ uint32_t Chunks[4];
} GUID_t;
typedef struct
{
- uint16_t LengthInBytes;
- int UnicodeString[];
+ uint16_t LengthInBytes;
+ int UnicodeString[];
} Unicode_String_t;
typedef union
@@ -80,19 +80,19 @@
struct
{
- uint8_t TypeBytes[3];
+ uint8_t TypeBytes[3];
- int ErrorCode : 6;
- int NAK : 1;
- int Response : 1;
+ unsigned ErrorCode : 6;
+ unsigned NAK : 1;
+ unsigned Response : 1;
} TypeFields;
} SideShowPacketType_t;
typedef struct
{
- uint32_t Length;
- SideShowPacketType_t Type;
- uint16_t Number;
+ uint32_t Length;
+ SideShowPacketType_t Type;
+ uint16_t Number;
} SideShow_PacketHeader_t;
/* Function Prototypes: */
diff --git a/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.h b/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.h
index 42e659882..53f32a2ae 100644
--- a/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.h
+++ b/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.h
@@ -90,16 +90,16 @@
struct
{
- unsigned char ListenOnly : 1;
- unsigned char TalkOnly : 1;
- unsigned char PulseIndicateSupported : 1;
- unsigned char Reserved : 5;
+ unsigned ListenOnly : 1;
+ unsigned TalkOnly : 1;
+ unsigned PulseIndicateSupported : 1;
+ unsigned Reserved : 5;
} Interface;
struct
{
- unsigned char SupportsAbortINOnMatch : 1;
- unsigned char Reserved : 7;
+ unsigned SupportsAbortINOnMatch : 1;
+ unsigned Reserved : 7;
} Device;
uint8_t Reserved2[6];
@@ -108,16 +108,16 @@
typedef struct
{
- unsigned char LastMessageTransaction : 1;
- unsigned char Reserved : 7;
+ unsigned LastMessageTransaction : 1;
+ unsigned Reserved : 7;
uint8_t Reserved2[3];
} TMC_DevOUTMessageHeader_t;
typedef struct
{
- unsigned char TermCharEnabled : 1;
- unsigned char Reserved : 7;
+ unsigned TermCharEnabled : 1;
+ unsigned Reserved : 7;
uint8_t TermChar;
uint8_t Reserved2[2];
diff --git a/Demos/Device/LowLevel/MassStorage/Lib/SCSI.h b/Demos/Device/LowLevel/MassStorage/Lib/SCSI.h
index 76efd1727..a9d96f43b 100644
--- a/Demos/Device/LowLevel/MassStorage/Lib/SCSI.h
+++ b/Demos/Device/LowLevel/MassStorage/Lib/SCSI.h
@@ -79,35 +79,35 @@
*/
typedef struct
{
- unsigned char DeviceType : 5;
- unsigned char PeripheralQualifier : 3;
-
- unsigned char Reserved : 7;
- unsigned char Removable : 1;
-
- uint8_t Version;
-
- unsigned char ResponseDataFormat : 4;
- unsigned char Reserved2 : 1;
- unsigned char NormACA : 1;
- unsigned char TrmTsk : 1;
- unsigned char AERC : 1;
-
- uint8_t AdditionalLength;
- uint8_t Reserved3[2];
-
- unsigned char SoftReset : 1;
- unsigned char CmdQue : 1;
- unsigned char Reserved4 : 1;
- unsigned char Linked : 1;
- unsigned char Sync : 1;
- unsigned char WideBus16Bit : 1;
- unsigned char WideBus32Bit : 1;
- unsigned char RelAddr : 1;
-
- uint8_t VendorID[8];
- uint8_t ProductID[16];
- uint8_t RevisionID[4];
+ unsigned DeviceType : 5;
+ unsigned PeripheralQualifier : 3;
+
+ unsigned Reserved : 7;
+ unsigned Removable : 1;
+
+ uint8_t Version;
+
+ unsigned ResponseDataFormat : 4;
+ unsigned Reserved2 : 1;
+ unsigned NormACA : 1;
+ unsigned TrmTsk : 1;
+ unsigned AERC : 1;
+
+ uint8_t AdditionalLength;
+ uint8_t Reserved3[2];
+
+ unsigned SoftReset : 1;
+ unsigned CmdQue : 1;
+ unsigned Reserved4 : 1;
+ unsigned Linked : 1;
+ unsigned Sync : 1;
+ unsigned WideBus16Bit : 1;
+ unsigned WideBus32Bit : 1;
+ unsigned RelAddr : 1;
+
+ uint8_t VendorID[8];
+ uint8_t ProductID[16];
+ uint8_t RevisionID[4];
} MS_SCSI_Inquiry_Response_t;
/** Type define for a SCSI sense structure to a SCSI REQUEST SENSE command. For details of the
@@ -115,23 +115,23 @@
*/
typedef struct
{
- uint8_t ResponseCode;
-
- uint8_t SegmentNumber;
-
- unsigned char SenseKey : 4;
- unsigned char Reserved : 1;
- unsigned char ILI : 1;
- unsigned char EOM : 1;
- unsigned char FileMark : 1;
-
- uint8_t Information[4];
- uint8_t AdditionalLength;
- uint8_t CmdSpecificInformation[4];
- uint8_t AdditionalSenseCode;
- uint8_t AdditionalSenseQualifier;
- uint8_t FieldReplaceableUnitCode;
- uint8_t SenseKeySpecific[3];
+ uint8_t ResponseCode;
+
+ uint8_t SegmentNumber;
+
+ unsigned SenseKey : 4;
+ unsigned Reserved : 1;
+ unsigned ILI : 1;
+ unsigned EOM : 1;
+ unsigned FileMark : 1;
+
+ uint8_t Information[4];
+ uint8_t AdditionalLength;
+ uint8_t CmdSpecificInformation[4];
+ uint8_t AdditionalSenseCode;
+ uint8_t AdditionalSenseQualifier;
+ uint8_t FieldReplaceableUnitCode;
+ uint8_t SenseKeySpecific[3];
} MS_SCSI_Request_Sense_Response_t;
/* Function Prototypes: */
diff --git a/Demos/Device/LowLevel/RNDISEthernet/Lib/IP.h b/Demos/Device/LowLevel/RNDISEthernet/Lib/IP.h
index fb6ed0400..0e875621a 100644
--- a/Demos/Device/LowLevel/RNDISEthernet/Lib/IP.h
+++ b/Demos/Device/LowLevel/RNDISEthernet/Lib/IP.h
@@ -72,21 +72,21 @@
/** Type define of an IP packet header. */
typedef struct
{
- unsigned char HeaderLength : 4; /**< Total length of the packet header, in 4-byte blocks */
- unsigned char Version : 4; /**< IP protocol version */
- uint8_t TypeOfService; /**< Special service type identifier, indicating delay/throughput/reliability levels */
- uint16_t TotalLength; /**< Total length of the IP packet, in bytes */
+ unsigned HeaderLength : 4; /**< Total length of the packet header, in 4-byte blocks */
+ unsigned Version : 4; /**< IP protocol version */
+ uint8_t TypeOfService; /**< Special service type identifier, indicating delay/throughput/reliability levels */
+ uint16_t TotalLength; /**< Total length of the IP packet, in bytes */
- uint16_t Identification; /**< Identification value for identifying fragmented packets */
- unsigned int FragmentOffset : 13; /**< Offset of this IP fragment */
- unsigned int Flags : 3; /**< Fragment flags, to indicate if a packet is fragmented */
+ uint16_t Identification; /**< Identification value for identifying fragmented packets */
+ unsigned FragmentOffset : 13; /**< Offset of this IP fragment */
+ unsigned Flags : 3; /**< Fragment flags, to indicate if a packet is fragmented */
- uint8_t TTL; /**< Maximum allowable number of hops to reach the packet destination */
- uint8_t Protocol; /**< Encapsulated protocol type */
- uint16_t HeaderChecksum; /**< Ethernet checksum of the IP header */
+ uint8_t TTL; /**< Maximum allowable number of hops to reach the packet destination */
+ uint8_t Protocol; /**< Encapsulated protocol type */
+ uint16_t HeaderChecksum; /**< Ethernet checksum of the IP header */
- IP_Address_t SourceAddress; /**< Source protocol IP address of the packet */
- IP_Address_t DestinationAddress; /**< Destination protocol IP address of the packet */
+ IP_Address_t SourceAddress; /**< Source protocol IP address of the packet */
+ IP_Address_t DestinationAddress; /**< Destination protocol IP address of the packet */
} IP_Header_t;
/* Function Prototypes: */
diff --git a/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h b/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h
index 58574d8a6..373ff5baa 100644
--- a/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h
+++ b/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h
@@ -219,8 +219,8 @@
uint32_t SequenceNumber; /**< Data sequence number of the packet */
uint32_t AcknowledgmentNumber; /**< Data acknowledgment number of the packet */
- unsigned char Reserved : 4; /**< Reserved, must be all 0 */
- unsigned char DataOffset : 4; /**< Offset of the data from the start of the header, in 4 byte chunks */
+ unsigned Reserved : 4; /**< Reserved, must be all 0 */
+ unsigned DataOffset : 4; /**< Offset of the data from the start of the header, in 4 byte chunks */
uint8_t Flags; /**< TCP packet flags */
uint16_t WindowSize; /**< Current data window size (bytes remaining in reception buffer) */
diff --git a/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMMControl.h b/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMMControl.h
index 8ff633404..6242d51d9 100644
--- a/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMMControl.h
+++ b/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMMControl.h
@@ -77,9 +77,9 @@
/* Type Defines: */
typedef struct
{
- unsigned char EA : 1;
- unsigned char CR : 1;
- unsigned char DLCI : 6;
+ unsigned EA : 1;
+ unsigned CR : 1;
+ unsigned DLCI : 6;
} RFCOMM_Address_t;
typedef struct
@@ -90,21 +90,21 @@
typedef struct
{
- unsigned char EA : 1;
- unsigned char CR : 1;
- unsigned char Command : 6;
+ unsigned EA : 1;
+ unsigned CR : 1;
+ unsigned Command : 6;
} RFCOMM_Command_t;
typedef struct
{
- uint8_t DLCI;
- unsigned char FrameType : 4;
- unsigned char ConvergenceLayer : 4;
- uint8_t Priority;
- uint8_t ACKTimerTicks;
- uint16_t MaximumFrameSize;
- uint8_t MaxRetransmissions;
- uint8_t RecoveryWindowSize;
+ uint8_t DLCI;
+ unsigned FrameType : 4;
+ unsigned ConvergenceLayer : 4;
+ uint8_t Priority;
+ uint8_t ACKTimerTicks;
+ uint16_t MaximumFrameSize;
+ uint8_t MaxRetransmissions;
+ uint8_t RecoveryWindowSize;
} RFCOMM_DPN_Parameters_t;
typedef struct
diff --git a/LUFA/Common/Common.h b/LUFA/Common/Common.h
index 93c7289c3..9d64403bc 100644
--- a/LUFA/Common/Common.h
+++ b/LUFA/Common/Common.h
@@ -99,7 +99,7 @@
#define pgm_read_byte(x) *x
#define memcmp_P(...) memcmp(__VA_ARGS__)
#define memcpy_P(...) memcpy(__VA_ARGS__)
- // ==================================================
+ // =================================================
typedef uint32_t uint_reg_t;
@@ -159,6 +159,8 @@
* be set as a breakpoint in the resulting code. Useful for debugging purposes, where the optimiser
* removes/reorders code to the point where break points cannot reliably be set.
*
+ * \note This macro is not available for all architectures.
+ *
* \ingroup Group_Debugging
*/
#define JTAG_DEBUG_POINT() __asm__ __volatile__ ("NOP" ::)
@@ -166,27 +168,17 @@
/** Defines an explicit JTAG break point in the resulting binary via the assembly \c BREAK statement. When
* a JTAG is used, this causes the program execution to halt when reached until manually resumed.
*
+ * \note This macro is not available for all architectures.
+ *
* \ingroup Group_Debugging
*/
#define JTAG_DEBUG_BREAK() __asm__ __volatile__ ("BREAK" ::)
- #if !defined(pgm_read_ptr) || defined(__DOXYGEN__)
- /** Reads a pointer out of PROGMEM space on the AVR8 architecture. This is currently a wrapper for the
- * avr-libc \c pgm_read_ptr() macro with a \c void* cast, so that its value can be assigned directly
- * to a pointer variable or used in pointer arithmetic without further casting in C. In a future
- * avr-libc distribution this will be part of the standard API and will be implemented in a more formal
- * manner.
- *
- * \param[in] Addr Address of the pointer to read.
- *
- * \return Pointer retrieved from PROGMEM space.
- */
- #define pgm_read_ptr(Addr) (void*)pgm_read_word(Addr)
- #endif
-
/** Macro for testing condition "x" and breaking via \ref JTAG_DEBUG_BREAK() if the condition is false.
*
- * \param[in] Condition Condition that will be evaluated,
+ * \note This macro is not available for all architectures.
+ *
+ * \param[in] Condition Condition that will be evaluated.
*
* \ingroup Group_Debugging
*/
@@ -198,6 +190,8 @@
*
* The output takes the form "{FILENAME}: Function {FUNCTION NAME}, Line {LINE NUMBER}: Assertion {Condition} failed."
*
+ * \note This macro is not available for all architectures.
+ *
* \param[in] Condition Condition that will be evaluated,
*
* \ingroup Group_Debugging
@@ -205,6 +199,22 @@
#define STDOUT_ASSERT(Condition) MACROS{ if (!(x)) { printf_P(PSTR("%s: Function \"%s\", Line %d: " \
"Assertion \"%s\" failed.\r\n"), \
__FILE__, __func__, __LINE__, #Condition); } }MACROE
+
+ #if !defined(pgm_read_ptr) || defined(__DOXYGEN__)
+ /** Reads a pointer out of PROGMEM space on the AVR8 architecture. This is currently a wrapper for the
+ * avr-libc \c pgm_read_ptr() macro with a \c void* cast, so that its value can be assigned directly
+ * to a pointer variable or used in pointer arithmetic without further casting in C. In a future
+ * avr-libc distribution this will be part of the standard API and will be implemented in a more formal
+ * manner.
+ *
+ * \note This macro is not available for all architectures.
+ *
+ * \param[in] Address Address of the pointer to read.
+ *
+ * \return Pointer retrieved from PROGMEM space.
+ */
+ #define pgm_read_ptr(Addr) (void*)pgm_read_word(Address)
+ #endif
#endif
/** Forces GCC to use pointer indirection (via the device's pointer register pairs) when accessing the given
@@ -231,8 +241,8 @@
* Interrupt handlers written using this macro may still need to be registered with the microcontroller's
* Interrupt Controller (if present) before they will properly handle incoming interrupt events.
*
- * \note This is supplied on some architectures where the standard library does not include a valid
- * definition. If an existing definition exists, the definition here will be ignored.
+ * \note This macro is only supplied on some architectures, where the standard library does not include a valid
+ * definition. If an existing definition exists, the alternative definition here will be ignored.
*
* \ingroup Group_GlobalInt
*
diff --git a/LUFA/Drivers/USB/Class/Common/MIDI.h b/LUFA/Drivers/USB/Class/Common/MIDI.h
index 2525ccfca..1d6eb703d 100644
--- a/LUFA/Drivers/USB/Class/Common/MIDI.h
+++ b/LUFA/Drivers/USB/Class/Common/MIDI.h
@@ -272,12 +272,12 @@
*/
typedef struct
{
- unsigned char Command : 4; /**< Upper nibble of the MIDI command being sent or received in the event packet. */
- unsigned char CableNumber : 4; /**< Virtual cable number of the event being sent or received in the given MIDI interface. */
+ unsigned Command : 4; /**< Upper nibble of the MIDI command being sent or received in the event packet. */
+ unsigned CableNumber : 4; /**< Virtual cable number of the event being sent or received in the given MIDI interface. */
- uint8_t Data1; /**< First byte of data in the MIDI event. */
- uint8_t Data2; /**< Second byte of data in the MIDI event. */
- uint8_t Data3; /**< Third byte of data in the MIDI event. */
+ uint8_t Data1; /**< First byte of data in the MIDI event. */
+ uint8_t Data2; /**< Second byte of data in the MIDI event. */
+ uint8_t Data3; /**< Third byte of data in the MIDI event. */
} ATTR_PACKED MIDI_EventPacket_t;
/* Disable C linkage for C++ Compilers: */
diff --git a/LUFA/Drivers/USB/Class/Common/MassStorage.h b/LUFA/Drivers/USB/Class/Common/MassStorage.h
index d641c33a3..0f5db97ec 100644
--- a/LUFA/Drivers/USB/Class/Common/MassStorage.h
+++ b/LUFA/Drivers/USB/Class/Common/MassStorage.h
@@ -289,23 +289,23 @@
*/
typedef struct
{
- uint8_t ResponseCode;
-
- uint8_t SegmentNumber;
-
- unsigned char SenseKey : 4;
- unsigned char Reserved : 1;
- unsigned char ILI : 1;
- unsigned char EOM : 1;
- unsigned char FileMark : 1;
-
- uint8_t Information[4];
- uint8_t AdditionalLength;
- uint8_t CmdSpecificInformation[4];
- uint8_t AdditionalSenseCode;
- uint8_t AdditionalSenseQualifier;
- uint8_t FieldReplaceableUnitCode;
- uint8_t SenseKeySpecific[3];
+ uint8_t ResponseCode;
+
+ uint8_t SegmentNumber;
+
+ unsigned SenseKey : 4;
+ unsigned Reserved : 1;
+ unsigned ILI : 1;
+ unsigned EOM : 1;
+ unsigned FileMark : 1;
+
+ uint8_t Information[4];
+ uint8_t AdditionalLength;
+ uint8_t CmdSpecificInformation[4];
+ uint8_t AdditionalSenseCode;
+ uint8_t AdditionalSenseQualifier;
+ uint8_t FieldReplaceableUnitCode;
+ uint8_t SenseKeySpecific[3];
} ATTR_PACKED SCSI_Request_Sense_Response_t;
/** \brief Mass Storage Class SCSI Inquiry Structure.
@@ -318,35 +318,35 @@
*/
typedef struct
{
- unsigned char DeviceType : 5;
- unsigned char PeripheralQualifier : 3;
-
- unsigned char Reserved : 7;
- unsigned char Removable : 1;
-
- uint8_t Version;
-
- unsigned char ResponseDataFormat : 4;
- unsigned char Reserved2 : 1;
- unsigned char NormACA : 1;
- unsigned char TrmTsk : 1;
- unsigned char AERC : 1;
-
- uint8_t AdditionalLength;
- uint8_t Reserved3[2];
-
- unsigned char SoftReset : 1;
- unsigned char CmdQue : 1;
- unsigned char Reserved4 : 1;
- unsigned char Linked : 1;
- unsigned char Sync : 1;
- unsigned char WideBus16Bit : 1;
- unsigned char WideBus32Bit : 1;
- unsigned char RelAddr : 1;
-
- uint8_t VendorID[8];
- uint8_t ProductID[16];
- uint8_t RevisionID[4];
+ unsigned DeviceType : 5;
+ unsigned PeripheralQualifier : 3;
+
+ unsigned Reserved : 7;
+ unsigned Removable : 1;
+
+ uint8_t Version;
+
+ unsigned ResponseDataFormat : 4;
+ unsigned Reserved2 : 1;
+ unsigned NormACA : 1;
+ unsigned TrmTsk : 1;
+ unsigned AERC : 1;
+
+ uint8_t AdditionalLength;
+ uint8_t Reserved3[2];
+
+ unsigned SoftReset : 1;
+ unsigned CmdQue : 1;
+ unsigned Reserved4 : 1;
+ unsigned Linked : 1;
+ unsigned Sync : 1;
+ unsigned WideBus16Bit : 1;
+ unsigned WideBus32Bit : 1;
+ unsigned RelAddr : 1;
+
+ uint8_t VendorID[8];
+ uint8_t ProductID[16];
+ uint8_t RevisionID[4];
} ATTR_PACKED SCSI_Inquiry_Response_t;
/* Disable C linkage for C++ Compilers: */
diff --git a/LUFA/Drivers/USB/Class/Device/MIDI.h b/LUFA/Drivers/USB/Class/Device/MIDI.h
index 137513676..c3a97f6ef 100644
--- a/LUFA/Drivers/USB/Class/Device/MIDI.h
+++ b/LUFA/Drivers/USB/Class/Device/MIDI.h
@@ -91,6 +91,7 @@
} 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.
*/
+
struct
{
// No state information for this class
diff --git a/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.c b/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.c
index 14f66d922..b978ec7f1 100644
--- a/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.c
+++ b/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.c
@@ -39,7 +39,7 @@
uint8_t USB_ControlEndpointSize = ENDPOINT_CONTROLEP_DEFAULT_SIZE;
#endif
-volatile uint8_t USB_SelectedEndpoint = ENDPOINT_CONTROLEP;
+volatile uint32_t USB_SelectedEndpoint = ENDPOINT_CONTROLEP;
volatile uint8_t* USB_EndpointFIFOPos[ENDPOINT_TOTAL_ENDPOINTS];
bool Endpoint_ConfigureEndpoint_Prv(const uint8_t Number,
diff --git a/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h b/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h
index 2fe42aa30..43e432b04 100644
--- a/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h
+++ b/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h
@@ -155,7 +155,7 @@
const uint32_t UECFGXData);
/* External Variables: */
- extern volatile uint8_t USB_SelectedEndpoint;
+ extern volatile uint32_t USB_SelectedEndpoint;
extern volatile uint8_t* USB_EndpointFIFOPos[];
#endif
diff --git a/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.c b/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.c
index 870828ec1..86bed0388 100644
--- a/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.c
+++ b/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.c
@@ -37,7 +37,7 @@
uint8_t USB_ControlPipeSize = PIPE_CONTROLPIPE_DEFAULT_SIZE;
-volatile uint8_t USB_SelectedPipe = PIPE_CONTROLPIPE;
+volatile uint32_t USB_SelectedPipe = PIPE_CONTROLPIPE;
volatile uint8_t* USB_PipeFIFOPos[PIPE_TOTAL_PIPES];
bool Pipe_ConfigurePipe(const uint8_t Number,
diff --git a/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.h b/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.h
index 045aaad1d..7edfb3e1b 100644
--- a/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.h
+++ b/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.h
@@ -102,7 +102,7 @@
#define PIPE_HSB_ADDRESS_SPACE_SIZE (64 * 1024UL)
/* External Variables: */
- extern volatile uint8_t USB_SelectedPipe;
+ extern volatile uint32_t USB_SelectedPipe;
extern volatile uint8_t* USB_PipeFIFOPos[];
#endif
diff --git a/LUFA/ManPages/LUFAPoweredProjects.txt b/LUFA/ManPages/LUFAPoweredProjects.txt
index 5aff7d162..59baa9745 100644
--- a/LUFA/ManPages/LUFAPoweredProjects.txt
+++ b/LUFA/ManPages/LUFAPoweredProjects.txt
@@ -55,6 +55,7 @@
* - IR Remote to Keyboard decoder: http://netzhansa.blogspot.com/2010/04/our-living-room-hi-fi-setup-needs-mp3.html
* - LED Panel controller: http://projects.peterpolidoro.net/caltech/panelscontroller/panelscontroller.htm
* - LUFA powered DDR dance mat (French): http://logicien-parfait.fr/dokuwiki/doku.php?id=projet:ddr_repair
+ * - MIDI Theremin: http://baldwisdom.com/usb-midi-controller-theremin-style-on-arduino-uno/
* - Motherboard BIOS flasher: http://www.coreboot.org/InSystemFlasher
* - Multi-button Joystick (French): http://logicien-parfait.fr/dokuwiki/doku.php?id=projet:joystick
* - Nikon wireless camera remote control (Norwegian): http://hekta.org/~hpe1119/
diff --git a/Projects/TempDataLogger/Lib/DS1307.h b/Projects/TempDataLogger/Lib/DS1307.h
index 5181c3e87..9d93f2c4c 100644
--- a/Projects/TempDataLogger/Lib/DS1307.h
+++ b/Projects/TempDataLogger/Lib/DS1307.h
@@ -30,9 +30,9 @@
{
struct
{
- unsigned int Sec : 4;
- unsigned int TenSec : 3;
- unsigned int CH : 1;
+ unsigned Sec : 4;
+ unsigned TenSec : 3;
+ unsigned CH : 1;
} Fields;
uint8_t IntVal;
@@ -42,9 +42,9 @@
{
struct
{
- unsigned int Min : 4;
- unsigned int TenMin : 3;
- unsigned int Reserved : 1;
+ unsigned Min : 4;
+ unsigned TenMin : 3;
+ unsigned Reserved : 1;
} Fields;
uint8_t IntVal;
@@ -54,10 +54,10 @@
{
struct
{
- unsigned int Hour : 4;
- unsigned int TenHour : 2;
- unsigned int TwelveHourMode : 1;
- unsigned int Reserved : 1;
+ unsigned Hour : 4;
+ unsigned TenHour : 2;
+ unsigned TwelveHourMode : 1;
+ unsigned Reserved : 1;
} Fields;
uint8_t IntVal;
@@ -67,8 +67,8 @@
{
struct
{
- unsigned int DayOfWeek : 3;
- unsigned int Reserved : 5;
+ unsigned DayOfWeek : 3;
+ unsigned Reserved : 5;
} Fields;
uint8_t IntVal;
@@ -78,9 +78,9 @@
{
struct
{
- unsigned int Day : 4;
- unsigned int TenDay : 2;
- unsigned int Reserved : 2;
+ unsigned Day : 4;
+ unsigned TenDay : 2;
+ unsigned Reserved : 2;
} Fields;
uint8_t IntVal;
@@ -90,9 +90,9 @@
{
struct
{
- unsigned int Month : 4;
- unsigned int TenMonth : 1;
- unsigned int Reserved : 3;
+ unsigned Month : 4;
+ unsigned TenMonth : 1;
+ unsigned Reserved : 3;
} Fields;
uint8_t IntVal;
@@ -102,8 +102,8 @@
{
struct
{
- unsigned int Year : 4;
- unsigned int TenYear : 4;
+ unsigned Year : 4;
+ unsigned TenYear : 4;
} Fields;
uint8_t IntVal;