From 852b5e612d549d1f086ceca4df0b589ac24cb37f Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Sun, 10 Apr 2011 06:43:02 +0000 Subject: [PATCH] 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. --- .../Device/ClassDriver/RNDISEthernet/Lib/IP.h | 24 ++--- .../ClassDriver/RNDISEthernet/Lib/TCP.h | 4 +- .../Incomplete/Sideshow/Lib/SideshowCommon.h | 20 ++-- .../TestAndMeasurement/TestAndMeasurement.h | 20 ++-- Demos/Device/LowLevel/MassStorage/Lib/SCSI.h | 92 +++++++++---------- Demos/Device/LowLevel/RNDISEthernet/Lib/IP.h | 24 ++--- Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h | 4 +- .../BluetoothHost/Lib/RFCOMMControl.h | 28 +++--- LUFA/Common/Common.h | 46 ++++++---- LUFA/Drivers/USB/Class/Common/MIDI.h | 10 +- LUFA/Drivers/USB/Class/Common/MassStorage.h | 92 +++++++++---------- LUFA/Drivers/USB/Class/Device/MIDI.h | 1 + LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.c | 2 +- LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h | 2 +- LUFA/Drivers/USB/Core/UC3/Pipe_UC3.c | 2 +- LUFA/Drivers/USB/Core/UC3/Pipe_UC3.h | 2 +- LUFA/ManPages/LUFAPoweredProjects.txt | 1 + Projects/TempDataLogger/Lib/DS1307.h | 40 ++++---- 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 c613c082f1..1891ef47ba 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 f14b70e865..cbb3c6eece 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 6d1110c7c7..794b91e9e8 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 42e6598824..53f32a2aeb 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 76efd1727e..a9d96f43b6 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 fb6ed04000..0e875621ac 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 58574d8a63..373ff5baab 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 8ff6334048..6242d51d9e 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 93c7289c37..9d64403bce 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 2525ccfca1..1d6eb703dc 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 d641c33a30..0f5db97ec6 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 1375136765..c3a97f6ef5 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 * must 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 14f66d9226..b978ec7f1d 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 2fe42aa304..43e432b045 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 870828ec1e..86bed03889 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 045aaad1de..7edfb3e1bc 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 5aff7d1622..59baa9745f 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 5181c3e870..9d93f2c4c7 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;