diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2010-10-24 22:53:57 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2010-10-24 22:53:57 +0000 |
commit | b37d77eab32d171ad7b28157a924a4026e2aebd1 (patch) | |
tree | 0644f7ed8f76db5e0849195e09892b159df9f475 /Demos/Host/LowLevel | |
parent | 8f3bee7d8661c92ce69fdf7cc131fbee1acaa4ae (diff) | |
download | lufa-b37d77eab32d171ad7b28157a924a4026e2aebd1.tar.gz lufa-b37d77eab32d171ad7b28157a924a4026e2aebd1.tar.bz2 lufa-b37d77eab32d171ad7b28157a924a4026e2aebd1.zip |
All USB class drivers are now automatically included when LUFA/Drivers/USB.h is included, and no longer need to be seperately included.
All LowLevel demos changed to use the constants and types defined in the USB class drivers.
Diffstat (limited to 'Demos/Host/LowLevel')
35 files changed, 58 insertions, 737 deletions
diff --git a/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.c b/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.c index ba182607b..dfee3664d 100644 --- a/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.c +++ b/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.c @@ -212,7 +212,7 @@ void WriteNextReport(uint8_t* ReportOUTData, USB_ControlRequest = (USB_Request_Header_t) { .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE), - .bRequest = REQ_SetReport, + .bRequest = HID_REQ_SetReport, .wValue = ((ReportType << 8) | ReportIndex), .wIndex = 0, .wLength = ReportLength, diff --git a/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.h b/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.h index e3fc32135..71e6c01c4 100644 --- a/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.h +++ b/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.h @@ -53,9 +53,6 @@ #include "ConfigDescriptor.h" /* Macros: */ - /** HID Class specific request to send a HID report to the device. */ - #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.c b/Demos/Host/LowLevel/JoystickHostWithParser/ConfigDescriptor.c index 20eaec7c9..33d77154b 100644 --- a/Demos/Host/LowLevel/JoystickHostWithParser/ConfigDescriptor.c +++ b/Demos/Host/LowLevel/JoystickHostWithParser/ConfigDescriptor.c @@ -52,7 +52,7 @@ uint8_t ProcessConfigurationDescriptor(void) uint16_t CurrConfigBytesRem; USB_Descriptor_Interface_t* HIDInterface = NULL; - USB_Descriptor_HID_t* HIDDescriptor = NULL; + USB_HID_Descriptor_HID_t* HIDDescriptor = NULL; USB_Descriptor_Endpoint_t* DataINEndpoint = NULL; /* Retrieve the entire configuration descriptor into the allocated buffer */ @@ -95,7 +95,7 @@ uint8_t ProcessConfigurationDescriptor(void) } /* Save the HID descriptor for later use */ - HIDDescriptor = DESCRIPTOR_PCAST(CurrConfigLocation, USB_Descriptor_HID_t); + HIDDescriptor = DESCRIPTOR_PCAST(CurrConfigLocation, USB_HID_Descriptor_HID_t); /* Skip the remainder of the loop as we have not found an endpoint yet */ continue; @@ -178,7 +178,7 @@ uint8_t DComp_NextJoystickInterfaceDataEndpoint(void* CurrentDescriptor) */ uint8_t DComp_NextHID(void* CurrentDescriptor) { - if (DESCRIPTOR_TYPE(CurrentDescriptor) == DTYPE_HID) + if (DESCRIPTOR_TYPE(CurrentDescriptor) == HID_DTYPE_HID) return DESCRIPTOR_SEARCH_Found; else return DESCRIPTOR_SEARCH_NotFound; diff --git a/Demos/Host/LowLevel/JoystickHostWithParser/ConfigDescriptor.h b/Demos/Host/LowLevel/JoystickHostWithParser/ConfigDescriptor.h index 5aafe7d39..b40110963 100644 --- a/Demos/Host/LowLevel/JoystickHostWithParser/ConfigDescriptor.h +++ b/Demos/Host/LowLevel/JoystickHostWithParser/ConfigDescriptor.h @@ -48,12 +48,6 @@ /** Interface Protocol value for a Boot Protocol Mouse compliant device. */ #define JOYSTICK_PROTOCOL 0x02 - /** Descriptor header type constant for a HID descriptor. */ - #define DTYPE_HID 0x21 - - /** Descriptor header type constant for a HID report descriptor. */ - #define DTYPE_Report 0x22 - /** Pipe number for the joystick report data pipe. */ #define JOYSTICK_DATA_IN_PIPE 1 diff --git a/Demos/Host/LowLevel/JoystickHostWithParser/HIDReport.c b/Demos/Host/LowLevel/JoystickHostWithParser/HIDReport.c index 76e26a0d5..14e01a6cd 100644 --- a/Demos/Host/LowLevel/JoystickHostWithParser/HIDReport.c +++ b/Demos/Host/LowLevel/JoystickHostWithParser/HIDReport.c @@ -51,7 +51,7 @@ uint8_t GetHIDReportData(void) { .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_INTERFACE), .bRequest = REQ_GetDescriptor, - .wValue = (DTYPE_Report << 8), + .wValue = (HID_DTYPE_Report << 8), .wIndex = 0, .wLength = HIDReportSize, }; diff --git a/Demos/Host/LowLevel/JoystickHostWithParser/HIDReport.h b/Demos/Host/LowLevel/JoystickHostWithParser/HIDReport.h index 0808806f7..9b67a4420 100644 --- a/Demos/Host/LowLevel/JoystickHostWithParser/HIDReport.h +++ b/Demos/Host/LowLevel/JoystickHostWithParser/HIDReport.h @@ -38,25 +38,24 @@ /* Includes: */ #include <LUFA/Drivers/USB/USB.h> - #include <LUFA/Drivers/USB/Class/Host/HIDParser.h> #include "JoystickHostWithParser.h" - + /* Macros: */ - /** HID Report Descriptor Usage for a Joystick. */ - #define USAGE_JOYSTICK 0x04 - /** HID Report Descriptor Usage Page value for a toggle button. */ #define USAGE_PAGE_BUTTON 0x09 /** HID Report Descriptor Usage Page value for a Generic Desktop Control. */ #define USAGE_PAGE_GENERIC_DCTRL 0x01 + /** HID Report Descriptor Usage for a Joystick. */ + #define USAGE_JOYSTICK 0x04 + /** HID Report Descriptor Usage value for a X axis movement. */ #define USAGE_X 0x30 /** HID Report Descriptor Usage value for a Y axis movement. */ - #define USAGE_Y 0x31 + #define USAGE_Y 0x31 /* Enums: */ /** Enum for the possible return codes of the \ref GetHIDReportData() function. */ @@ -67,21 +66,6 @@ ParseControlError = 2, /**< Control error occurred while trying to read the device HID descriptor */ }; - /* Type Defines: */ - /** Type define for a HID descriptor. */ - typedef struct - { - USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length */ - - uint16_t HIDSpec; /**< Implemented HID class specification, in BCD encoded format */ - uint8_t CountryCode; /**< Country code value for localized hardware */ - - uint8_t TotalHIDDescriptors; /**< Total number of HID report descriptors in the current interface */ - - uint8_t HIDReportType; /**< HID report type of the first HID report descriptor */ - uint16_t HIDReportLength; /**< Total size in bytes of the first HID report descriptor */ - } USB_Descriptor_HID_t; - /* External Variables: */ extern uint16_t HIDReportSize; extern HID_ReportInfo_t HIDReportInfo; diff --git a/Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.h b/Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.h index 403465fbe..966ebbe66 100644 --- a/Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.h +++ b/Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.h @@ -65,7 +65,7 @@ /** 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) - + /* Function Prototypes: */ void Joystick_HID_Task(void); void SetupHardware(void); diff --git a/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.c b/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.c index 269fe2779..760f0ddee 100644 --- a/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.c +++ b/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.c @@ -233,7 +233,7 @@ void Keyboard_HID_Task(void) USB_ControlRequest = (USB_Request_Header_t) { .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE), - .bRequest = REQ_SetProtocol, + .bRequest = HID_REQ_SetProtocol, .wValue = 0, .wIndex = 0, .wLength = 0, diff --git a/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.h b/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.h index 63d6c06b5..95097728b 100644 --- a/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.h +++ b/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.h @@ -53,9 +53,6 @@ #include "ConfigDescriptor.h" /* Macros: */ - /** HID Class Specific request to set the report protocol mode. */ - #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 @@ -68,15 +65,6 @@ /** 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) - /* Type Defines: */ - /** Type define for a standard Boot Protocol Keyboard report. */ - typedef struct - { - uint8_t Modifier; /**< Keyboard modifier byte, indicating pressed modifier keys (such as Shift, Control, etc.) */ - uint8_t Reserved; /**< Reserved for OEM use, always set to 0 */ - uint8_t KeyCode[6]; /**< Key codes of the currently pressed keys */ - } USB_KeyboardReport_Data_t; - /* Function Prototypes: */ void Keyboard_HID_Task(void); void SetupHardware(void); diff --git a/Demos/Host/LowLevel/KeyboardHostWithParser/ConfigDescriptor.c b/Demos/Host/LowLevel/KeyboardHostWithParser/ConfigDescriptor.c index fe35d95b7..dc2daf9ed 100644 --- a/Demos/Host/LowLevel/KeyboardHostWithParser/ConfigDescriptor.c +++ b/Demos/Host/LowLevel/KeyboardHostWithParser/ConfigDescriptor.c @@ -178,7 +178,7 @@ uint8_t DComp_NextKeyboardInterfaceDataEndpoint(void* CurrentDescriptor) */ uint8_t DComp_NextHID(void* CurrentDescriptor) { - if (DESCRIPTOR_TYPE(CurrentDescriptor) == DTYPE_HID) + if (DESCRIPTOR_TYPE(CurrentDescriptor) == HID_DTYPE_HID) return DESCRIPTOR_SEARCH_Found; else if (DESCRIPTOR_TYPE(CurrentDescriptor) == DTYPE_Interface) return DESCRIPTOR_SEARCH_Fail; diff --git a/Demos/Host/LowLevel/KeyboardHostWithParser/ConfigDescriptor.h b/Demos/Host/LowLevel/KeyboardHostWithParser/ConfigDescriptor.h index d23c89dd0..ab04b3105 100644 --- a/Demos/Host/LowLevel/KeyboardHostWithParser/ConfigDescriptor.h +++ b/Demos/Host/LowLevel/KeyboardHostWithParser/ConfigDescriptor.h @@ -48,12 +48,6 @@ /** Interface Protocol value for a Boot Protocol Keyboard compliant device. */ #define KEYBOARD_PROTOCOL 0x01 - /** Descriptor header type constant for a HID descriptor. */ - #define DTYPE_HID 0x21 - - /** Descriptor header type constant for a HID report descriptor. */ - #define DTYPE_Report 0x22 - /** Pipe number for the keyboard report data pipe. */ #define KEYBOARD_DATA_IN_PIPE 1 diff --git a/Demos/Host/LowLevel/KeyboardHostWithParser/HIDReport.h b/Demos/Host/LowLevel/KeyboardHostWithParser/HIDReport.h index e18ad3aae..cf409caf8 100644 --- a/Demos/Host/LowLevel/KeyboardHostWithParser/HIDReport.h +++ b/Demos/Host/LowLevel/KeyboardHostWithParser/HIDReport.h @@ -38,14 +38,9 @@ /* Includes: */ #include <LUFA/Drivers/USB/USB.h> - #include <LUFA/Drivers/USB/Class/Host/HIDParser.h> #include "KeyboardHostWithParser.h" - /* Macros: */ - /** HID Report Descriptor Usage Page value for a desktop keyboard. */ - #define USAGE_PAGE_KEYBOARD 0x07 - /* Enums: */ /** Enum for the possible return codes of the \ref GetHIDReportData() function. */ enum KeyboardHostWithParser_GetHIDReportDataCodes_t @@ -55,21 +50,6 @@ ParseControlError = 2, /**< Control error occurred while trying to read the device HID descriptor */ }; - /* Type Defines: */ - /** Type define for a HID descriptor. */ - typedef struct - { - USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length */ - - uint16_t HIDSpec; /**< Implemented HID class specification, in BCD encoded format */ - uint8_t CountryCode; /**< Country code value for localized hardware */ - - uint8_t TotalHIDDescriptors; /**< Total number of HID report descriptors in the current interface */ - - uint8_t HIDReportType; /**< HID report type of the first HID report descriptor */ - uint16_t HIDReportLength; /**< Total size in bytes of the first HID report descriptor */ - } USB_Descriptor_HID_t; - /* External Variables: */ extern uint16_t HIDReportSize; extern HID_ReportInfo_t HIDReportInfo; diff --git a/Demos/Host/LowLevel/MIDIHost/MIDIHost.c b/Demos/Host/LowLevel/MIDIHost/MIDIHost.c index 63ed6da25..e004099fc 100644 --- a/Demos/Host/LowLevel/MIDIHost/MIDIHost.c +++ b/Demos/Host/LowLevel/MIDIHost/MIDIHost.c @@ -179,7 +179,7 @@ void MIDI_Host_Task(void) if (Pipe_IsINReceived()) { - USB_MIDI_EventPacket_t MIDIEvent; + MIDI_EventPacket_t MIDIEvent; Pipe_Read_Stream_LE(&MIDIEvent, sizeof(MIDIEvent)); @@ -244,7 +244,7 @@ void MIDI_Host_Task(void) /* Check if a MIDI command is to be sent */ if (MIDICommand) { - USB_MIDI_EventPacket_t MIDIEvent = (USB_MIDI_EventPacket_t) + MIDI_EventPacket_t MIDIEvent = (MIDI_EventPacket_t) { .CableNumber = 0, .Command = (MIDICommand >> 4), diff --git a/Demos/Host/LowLevel/MIDIHost/MIDIHost.h b/Demos/Host/LowLevel/MIDIHost/MIDIHost.h index f7fb57a91..86c51cb0a 100644 --- a/Demos/Host/LowLevel/MIDIHost/MIDIHost.h +++ b/Demos/Host/LowLevel/MIDIHost/MIDIHost.h @@ -55,22 +55,6 @@ #include "ConfigDescriptor.h" /* Macros: */ - /** MIDI command for a note on (activation) event. */ - #define MIDI_COMMAND_NOTE_ON 0x90 - - /** MIDI command for a note off (deactivation) event. */ - #define MIDI_COMMAND_NOTE_OFF 0x80 - - /** Standard key press velocity value used for all note events, as no pressure sensor is mounted. */ - #define MIDI_STANDARD_VELOCITY 64 - - /** Convenience macro. MIDI channels are numbered from 1-10 (natural numbers) however the logical channel - * addresses are zero-indexed. This converts a natural MIDI channel number into the logical channel address. - * - * \param[in] channel MIDI channel number to address - */ - #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 @@ -83,18 +67,6 @@ /** 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) - /* Type Defines: */ - /** Type define for a USB MIDI event packet, used to encapsulate sent and received MIDI messages from a USB MIDI interface. */ - typedef struct - { - unsigned char Command : 4; /**< 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 */ - - 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 */ - } USB_MIDI_EventPacket_t; - /* Function Prototypes: */ void SetupHardware(void); void MIDI_Host_Task(void); diff --git a/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.c b/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.c index 712589660..1ab70077e 100644 --- a/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.c +++ b/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.c @@ -63,7 +63,7 @@ static uint32_t MassStore_Tag = 1; * * \return A value from the Pipe_Stream_RW_ErrorCodes_t enum */ -static uint8_t MassStore_SendCommand(CommandBlockWrapper_t* const SCSICommandBlock, +static uint8_t MassStore_SendCommand(MS_CommandBlockWrapper_t* const SCSICommandBlock, void* BufferPtr) { uint8_t ErrorCode = PIPE_RWSTREAM_NoError; @@ -80,7 +80,7 @@ static uint8_t MassStore_SendCommand(CommandBlockWrapper_t* const SCSICommandBlo Pipe_Unfreeze(); /* Write the CBW command to the OUT pipe */ - if ((ErrorCode = Pipe_Write_Stream_LE(SCSICommandBlock, sizeof(CommandBlockWrapper_t))) != PIPE_RWSTREAM_NoError) + if ((ErrorCode = Pipe_Write_Stream_LE(SCSICommandBlock, sizeof(MS_CommandBlockWrapper_t))) != PIPE_RWSTREAM_NoError) return ErrorCode; /* Send the data in the OUT pipe to the attached device */ @@ -182,7 +182,7 @@ static uint8_t MassStore_WaitForDataReceived(void) * * \return A value from the Pipe_Stream_RW_ErrorCodes_t enum */ -static uint8_t MassStore_SendReceiveData(CommandBlockWrapper_t* const SCSICommandBlock, +static uint8_t MassStore_SendReceiveData(MS_CommandBlockWrapper_t* const SCSICommandBlock, void* BufferPtr) { uint8_t ErrorCode = PIPE_RWSTREAM_NoError; @@ -238,7 +238,7 @@ static uint8_t MassStore_SendReceiveData(CommandBlockWrapper_t* const SCSIComman * * \return A value from the Pipe_Stream_RW_ErrorCodes_t enum, or MASS_STORE_SCSI_COMMAND_FAILED if the SCSI command fails */ -static uint8_t MassStore_GetReturnedStatus(CommandStatusWrapper_t* const SCSICommandStatus) +static uint8_t MassStore_GetReturnedStatus(MS_CommandStatusWrapper_t* const SCSICommandStatus) { uint8_t ErrorCode = PIPE_RWSTREAM_NoError; @@ -251,7 +251,7 @@ static uint8_t MassStore_GetReturnedStatus(CommandStatusWrapper_t* const SCSICom Pipe_Unfreeze(); /* Load in the CSW from the attached device */ - if ((ErrorCode = Pipe_Read_Stream_LE(SCSICommandStatus, sizeof(CommandStatusWrapper_t))) != PIPE_RWSTREAM_NoError) + if ((ErrorCode = Pipe_Read_Stream_LE(SCSICommandStatus, sizeof(MS_CommandStatusWrapper_t))) != PIPE_RWSTREAM_NoError) return ErrorCode; /* Clear the data ready for next reception */ @@ -261,7 +261,7 @@ static uint8_t MassStore_GetReturnedStatus(CommandStatusWrapper_t* const SCSICom Pipe_Freeze(); /* Check to see if command failed */ - if (SCSICommandStatus->Status != Command_Pass) + if (SCSICommandStatus->Status != MS_SCSI_COMMAND_Pass) ErrorCode = MASS_STORE_SCSI_COMMAND_FAILED; return ErrorCode; @@ -277,7 +277,7 @@ uint8_t MassStore_MassStorageReset(void) USB_ControlRequest = (USB_Request_Header_t) { .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE), - .bRequest = REQ_MassStorageReset, + .bRequest = MS_REQ_MassStorageReset, .wValue = 0, .wIndex = 0, .wLength = 0, @@ -307,7 +307,7 @@ uint8_t MassStore_GetMaxLUN(uint8_t* const MaxLUNIndex) USB_ControlRequest = (USB_Request_Header_t) { .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE), - .bRequest = REQ_GetMaxLUN, + .bRequest = MS_REQ_GetMaxLUN, .wValue = 0, .wIndex = 0, .wLength = 1, @@ -345,7 +345,7 @@ uint8_t MassStore_Inquiry(const uint8_t LUNIndex, uint8_t ErrorCode = PIPE_RWSTREAM_NoError; /* Create a CBW with a SCSI command to issue INQUIRY command */ - CommandBlockWrapper_t SCSICommandBlock = (CommandBlockWrapper_t) + MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t) { .Signature = CBW_SIGNATURE, .DataTransferLength = sizeof(SCSI_Inquiry_Response_t), @@ -363,7 +363,7 @@ uint8_t MassStore_Inquiry(const uint8_t LUNIndex, } }; - CommandStatusWrapper_t SCSICommandStatus; + MS_CommandStatusWrapper_t SCSICommandStatus; /* Send the command and any data to the attached device */ if ((ErrorCode = MassStore_SendCommand(&SCSICommandBlock, InquiryPtr)) != PIPE_RWSTREAM_NoError) @@ -396,7 +396,7 @@ uint8_t MassStore_RequestSense(const uint8_t LUNIndex, uint8_t ErrorCode = PIPE_RWSTREAM_NoError; /* Create a CBW with a SCSI command to issue REQUEST SENSE command */ - CommandBlockWrapper_t SCSICommandBlock = (CommandBlockWrapper_t) + MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t) { .Signature = CBW_SIGNATURE, .DataTransferLength = sizeof(SCSI_Request_Sense_Response_t), @@ -414,7 +414,7 @@ uint8_t MassStore_RequestSense(const uint8_t LUNIndex, } }; - CommandStatusWrapper_t SCSICommandStatus; + MS_CommandStatusWrapper_t SCSICommandStatus; /* Send the command and any data to the attached device */ if ((ErrorCode = MassStore_SendCommand(&SCSICommandBlock, SensePtr)) != PIPE_RWSTREAM_NoError) @@ -453,7 +453,7 @@ uint8_t MassStore_ReadDeviceBlock(const uint8_t LUNIndex, uint8_t ErrorCode = PIPE_RWSTREAM_NoError; /* Create a CBW with a SCSI command to read in the given blocks from the device */ - CommandBlockWrapper_t SCSICommandBlock = (CommandBlockWrapper_t) + MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t) { .Signature = CBW_SIGNATURE, .DataTransferLength = ((uint32_t)Blocks * BlockSize), @@ -475,7 +475,7 @@ uint8_t MassStore_ReadDeviceBlock(const uint8_t LUNIndex, } }; - CommandStatusWrapper_t SCSICommandStatus; + MS_CommandStatusWrapper_t SCSICommandStatus; /* Send the command and any data to the attached device */ if ((ErrorCode = MassStore_SendCommand(&SCSICommandBlock, BufferPtr)) != PIPE_RWSTREAM_NoError) @@ -514,7 +514,7 @@ uint8_t MassStore_WriteDeviceBlock(const uint8_t LUNIndex, uint8_t ErrorCode = PIPE_RWSTREAM_NoError; /* Create a CBW with a SCSI command to write the given blocks to the device */ - CommandBlockWrapper_t SCSICommandBlock = (CommandBlockWrapper_t) + MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t) { .Signature = CBW_SIGNATURE, .DataTransferLength = ((uint32_t)Blocks * BlockSize), @@ -536,7 +536,7 @@ uint8_t MassStore_WriteDeviceBlock(const uint8_t LUNIndex, } }; - CommandStatusWrapper_t SCSICommandStatus; + MS_CommandStatusWrapper_t SCSICommandStatus; /* Send the command and any data to the attached device */ if ((ErrorCode = MassStore_SendCommand(&SCSICommandBlock, BufferPtr)) != PIPE_RWSTREAM_NoError) @@ -567,7 +567,7 @@ uint8_t MassStore_TestUnitReady(const uint8_t LUNIndex) uint8_t ErrorCode = PIPE_RWSTREAM_NoError; /* Create a CBW with a SCSI command to issue TEST UNIT READY command */ - CommandBlockWrapper_t SCSICommandBlock = (CommandBlockWrapper_t) + MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t) { .Signature = CBW_SIGNATURE, .DataTransferLength = 0, @@ -585,7 +585,7 @@ uint8_t MassStore_TestUnitReady(const uint8_t LUNIndex) } }; - CommandStatusWrapper_t SCSICommandStatus; + MS_CommandStatusWrapper_t SCSICommandStatus; /* Send the command and any data to the attached device */ if ((ErrorCode = MassStore_SendCommand(&SCSICommandBlock, NULL)) != PIPE_RWSTREAM_NoError) @@ -618,7 +618,7 @@ uint8_t MassStore_ReadCapacity(const uint8_t LUNIndex, uint8_t ErrorCode = PIPE_RWSTREAM_NoError; /* Create a CBW with a SCSI command to issue READ CAPACITY command */ - CommandBlockWrapper_t SCSICommandBlock = (CommandBlockWrapper_t) + MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t) { .Signature = CBW_SIGNATURE, .DataTransferLength = sizeof(SCSI_Capacity_t), @@ -640,7 +640,7 @@ uint8_t MassStore_ReadCapacity(const uint8_t LUNIndex, } }; - CommandStatusWrapper_t SCSICommandStatus; + MS_CommandStatusWrapper_t SCSICommandStatus; /* Send the command and any data to the attached device */ if ((ErrorCode = MassStore_SendCommand(&SCSICommandBlock, CapacityPtr)) != PIPE_RWSTREAM_NoError) @@ -678,7 +678,7 @@ uint8_t MassStore_PreventAllowMediumRemoval(const uint8_t LUNIndex, uint8_t ErrorCode = PIPE_RWSTREAM_NoError; /* Create a CBW with a SCSI command to issue PREVENT ALLOW MEDIUM REMOVAL command */ - CommandBlockWrapper_t SCSICommandBlock = (CommandBlockWrapper_t) + MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t) { .Signature = CBW_SIGNATURE, .DataTransferLength = 0, @@ -696,7 +696,7 @@ uint8_t MassStore_PreventAllowMediumRemoval(const uint8_t LUNIndex, } }; - CommandStatusWrapper_t SCSICommandStatus; + MS_CommandStatusWrapper_t SCSICommandStatus; /* Send the command and any data to the attached device */ if ((ErrorCode = MassStore_SendCommand(&SCSICommandBlock, NULL)) != PIPE_RWSTREAM_NoError) diff --git a/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h b/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h index 8fcffe424..0fed5e06f 100644 --- a/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h +++ b/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h @@ -40,151 +40,24 @@ #include <avr/io.h> #include "MassStorageHost.h" - #include "SCSI_Codes.h" #include <LUFA/Drivers/USB/USB.h> /* Macros: */ - /** Class specific request to reset the Mass Storage interface of the attached device. */ - #define REQ_MassStorageReset 0xFF - - /** Class specific request to retrieve the maximum Logical Unit Number (LUN) index of the attached device. */ - #define REQ_GetMaxLUN 0xFE - - /** Command Block Wrapper signature byte, for verification of valid CBW blocks. */ - #define CBW_SIGNATURE 0x43425355UL - - /** Command Static Wrapper signature byte, for verification of valid CSW blocks. */ - #define CSW_SIGNATURE 0x53425355UL - - /** Data direction mask for the Flags field of a CBW, indicating Host-to-Device transfer direction. */ - #define COMMAND_DIRECTION_DATA_OUT (0 << 7) - - /** Data direction mask for the Flags field of a CBW, indicating Device-to-Host transfer direction. */ - #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 10000 /** Additional error code for Mass Storage functions when a device returns a logical command failure. */ #define MASS_STORE_SCSI_COMMAND_FAILED 0xC0 - /* Type Defines: */ - /** Type define for a Mass Storage class Command Block Wrapper, used to wrap SCSI - * commands for transport over the USB bulk endpoints to the device. - */ - typedef struct - { - uint32_t Signature; /**< Command block signature, always equal to CBW_SIGNATURE */ - uint32_t Tag; /**< Current CBW tag, to positively associate a CBW with a CSW (filled automatically) */ - uint32_t DataTransferLength; /**< Length of data to transfer, following the CBW */ - uint8_t Flags; /**< Block flags, equal to one of the COMMAND_DIRECTION_DATA_* macros */ - uint8_t LUN; /**< Logical Unit Number the CBW is addressed to in the device */ - uint8_t SCSICommandLength; /**< Length of the SCSI command in the CBW */ - uint8_t SCSICommandData[16]; /**< SCSI command to issue to the device */ - } CommandBlockWrapper_t; - - /** Type define for a Mass Storage class Command Status Wrapper, used to wrap SCSI - * responses for transport over the USB bulk endpoints from the device. - */ - typedef struct - { - uint32_t Signature; /**< Command status signature, always equal to CSW_SIGNATURE */ - uint32_t Tag; /**< Current CBW tag, to positively associate a CBW with a CSW */ - uint32_t DataTransferResidue; /**< Length of data not transferred */ - uint8_t Status; /**< Command status, a value from the MassStorageHost_CommandStatusCodes_t enum */ - } CommandStatusWrapper_t; - - /** Type define for a SCSI Sense structure. Structures of this type are filled out by the - * device via the \ref MassStore_RequestSense() function, indicating the current sense data of the - * device (giving explicit error codes for the last issued command). For details of the - * structure contents, refer to the SCSI specifications. - */ - 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]; - } SCSI_Request_Sense_Response_t; - - /** Type define for a SCSI Inquiry structure. Structures of this type are filled out by the - * device via the \ref MassStore_Inquiry() function, retrieving the attached device's information. - * For details of the structure contents, refer to the SCSI specifications. - */ - 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]; - } SCSI_Inquiry_Response_t; - - /** SCSI capacity structure, to hold the total capacity of the device in both the number - * of blocks in the current LUN, and the size of each block. This structure is filled by - * the device when the \ref MassStore_ReadCapacity() function is called. - */ - typedef struct - { - uint32_t Blocks; /**< Number of blocks in the addressed LUN of the device */ - uint32_t BlockSize; /**< Number of bytes in each block in the addressed LUN */ - } SCSI_Capacity_t; - - /* Enums: */ - /** CSW status return codes, indicating the overall status of the issued CBW. */ - enum MassStorageHost_CommandStatusCodes_t - { - Command_Pass = 0, /**< Command completed successfully */ - Command_Fail = 1, /**< Command failed to complete successfully */ - Phase_Error = 2 /**< Phase error while processing the issued command */ - }; - /* Function Prototypes: */ #if defined(INCLUDE_FROM_MASSSTORE_COMMANDS_C) - static uint8_t MassStore_SendCommand(CommandBlockWrapper_t* const SCSICommandBlock, + static uint8_t MassStore_SendCommand(MS_CommandBlockWrapper_t* const SCSICommandBlock, void* BufferPtr); static uint8_t MassStore_WaitForDataReceived(void); - static uint8_t MassStore_SendReceiveData(CommandBlockWrapper_t* const SCSICommandBlock, + static uint8_t MassStore_SendReceiveData(MS_CommandBlockWrapper_t* const SCSICommandBlock, void* BufferPtr) ATTR_NON_NULL_PTR_ARG(1); - static uint8_t MassStore_GetReturnedStatus(CommandStatusWrapper_t* const SCSICommandStatus) ATTR_NON_NULL_PTR_ARG(1); + static uint8_t MassStore_GetReturnedStatus(MS_CommandStatusWrapper_t* const SCSICommandStatus) ATTR_NON_NULL_PTR_ARG(1); #endif uint8_t MassStore_MassStorageReset(void); diff --git a/Demos/Host/LowLevel/MassStorageHost/Lib/SCSI_Codes.h b/Demos/Host/LowLevel/MassStorageHost/Lib/SCSI_Codes.h deleted file mode 100644 index 6bcd5780f..000000000 --- a/Demos/Host/LowLevel/MassStorageHost/Lib/SCSI_Codes.h +++ /dev/null @@ -1,87 +0,0 @@ -/* - LUFA Library - Copyright (C) Dean Camera, 2010. - - dean [at] fourwalledcubicle [dot] com - www.fourwalledcubicle.com -*/ - -/* - Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) - - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaim all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. -*/ - -/** \file - * - * Header containing macros for possible SCSI commands and SENSE data. Refer to - * the SCSI standard documentation for more information on each SCSI command and - * the SENSE data. - */ - -#ifndef _SCSI_CODES_H_ -#define _SCSI_CODES_H_ - - /* Macros: */ - #define SCSI_CMD_INQUIRY 0x12 - #define SCSI_CMD_REQUEST_SENSE 0x03 - #define SCSI_CMD_TEST_UNIT_READY 0x00 - #define SCSI_CMD_READ_CAPACITY_10 0x25 - #define SCSI_CMD_SEND_DIAGNOSTIC 0x1D - #define SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL 0x1E - #define SCSI_CMD_WRITE_10 0x2A - #define SCSI_CMD_READ_10 0x28 - #define SCSI_CMD_WRITE_6 0x0A - #define SCSI_CMD_READ_6 0x08 - #define SCSI_CMD_VERIFY_10 0x2F - #define SCSI_CMD_MODE_SENSE_6 0x1A - #define SCSI_CMD_MODE_SENSE_10 0x5A - - #define SCSI_SENSE_KEY_GOOD 0x00 - #define SCSI_SENSE_KEY_RECOVERED_ERROR 0x01 - #define SCSI_SENSE_KEY_NOT_READY 0x02 - #define SCSI_SENSE_KEY_MEDIUM_ERROR 0x03 - #define SCSI_SENSE_KEY_HARDWARE_ERROR 0x04 - #define SCSI_SENSE_KEY_ILLEGAL_REQUEST 0x05 - #define SCSI_SENSE_KEY_UNIT_ATTENTION 0x06 - #define SCSI_SENSE_KEY_DATA_PROTECT 0x07 - #define SCSI_SENSE_KEY_BLANK_CHECK 0x08 - #define SCSI_SENSE_KEY_VENDOR_SPECIFIC 0x09 - #define SCSI_SENSE_KEY_COPY_ABORTED 0x0A - #define SCSI_SENSE_KEY_ABORTED_COMMAND 0x0B - #define SCSI_SENSE_KEY_VOLUME_OVERFLOW 0x0D - #define SCSI_SENSE_KEY_MISCOMPARE 0x0E - - #define SCSI_ASENSE_NO_ADDITIONAL_INFORMATION 0x00 - #define SCSI_ASENSE_LOGICAL_UNIT_NOT_READY 0x04 - #define SCSI_ASENSE_INVALID_COMMAND 0x20 - #define SCSI_ASENSE_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE 0x21 - #define SCSI_ASENSE_INVALID_FIELD_IN_CDB 0x24 - #define SCSI_ASENSE_WRITE_PROTECTED 0x27 - #define SCSI_ASENSE_NOT_READY_TO_READY_CHANGE 0x28 - #define SCSI_ASENSE_FORMAT_ERROR 0x31 - #define SCSI_ASENSE_MEDIUM_NOT_PRESENT 0x3A - - #define SCSI_ASENSEQ_NO_QUALIFIER 0x00 - #define SCSI_ASENSEQ_FORMAT_COMMAND_FAILED 0x01 - #define SCSI_ASENSEQ_INITIALIZING_COMMAND_REQUIRED 0x02 - #define SCSI_ASENSEQ_OPERATION_IN_PROGRESS 0x07 - -#endif - diff --git a/Demos/Host/LowLevel/MouseHost/MouseHost.c b/Demos/Host/LowLevel/MouseHost/MouseHost.c index a7bda5ae5..e039657a4 100644 --- a/Demos/Host/LowLevel/MouseHost/MouseHost.c +++ b/Demos/Host/LowLevel/MouseHost/MouseHost.c @@ -235,7 +235,7 @@ void Mouse_HID_Task(void) USB_ControlRequest = (USB_Request_Header_t) { .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE), - .bRequest = REQ_SetProtocol, + .bRequest = HID_REQ_SetProtocol, .wValue = 0, .wIndex = 0, .wLength = 0, diff --git a/Demos/Host/LowLevel/MouseHost/MouseHost.h b/Demos/Host/LowLevel/MouseHost/MouseHost.h index dc75013f8..709f08205 100644 --- a/Demos/Host/LowLevel/MouseHost/MouseHost.h +++ b/Demos/Host/LowLevel/MouseHost/MouseHost.h @@ -53,9 +53,6 @@ #include "ConfigDescriptor.h" /* Macros: */ - /** HID Class Specific request to set the report protocol mode. */ - #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 @@ -68,15 +65,6 @@ /** 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) - /* Type Defines: */ - /** Type define for a standard Boot Protocol Mouse report. */ - typedef struct - { - uint8_t Button; /**< Button mask for currently pressed buttons in the mouse */ - int8_t X; /**< Current delta X movement of the mouse */ - int8_t Y; /**< Current delta Y movement on the mouse */ - } USB_MouseReport_Data_t; - /* Function Prototypes: */ void Mouse_HID_Task(void); void SetupHardware(void); diff --git a/Demos/Host/LowLevel/MouseHostWithParser/ConfigDescriptor.c b/Demos/Host/LowLevel/MouseHostWithParser/ConfigDescriptor.c index 7a1a6faaa..eb85e4a47 100644 --- a/Demos/Host/LowLevel/MouseHostWithParser/ConfigDescriptor.c +++ b/Demos/Host/LowLevel/MouseHostWithParser/ConfigDescriptor.c @@ -52,7 +52,7 @@ uint8_t ProcessConfigurationDescriptor(void) uint16_t CurrConfigBytesRem; USB_Descriptor_Interface_t* HIDInterface = NULL; - USB_Descriptor_HID_t* HIDDescriptor = NULL; + USB_HID_Descriptor_HID_t* HIDDescriptor = NULL; USB_Descriptor_Endpoint_t* DataINEndpoint = NULL; /* Retrieve the entire configuration descriptor into the allocated buffer */ @@ -95,7 +95,7 @@ uint8_t ProcessConfigurationDescriptor(void) } /* Save the HID descriptor for later use */ - HIDDescriptor = DESCRIPTOR_PCAST(CurrConfigLocation, USB_Descriptor_HID_t); + HIDDescriptor = DESCRIPTOR_PCAST(CurrConfigLocation, USB_HID_Descriptor_HID_t); /* Skip the remainder of the loop as we have not found an endpoint yet */ continue; @@ -178,7 +178,7 @@ uint8_t DComp_NextMouseInterfaceDataEndpoint(void* CurrentDescriptor) */ uint8_t DComp_NextHID(void* CurrentDescriptor) { - if (DESCRIPTOR_TYPE(CurrentDescriptor) == DTYPE_HID) + if (DESCRIPTOR_TYPE(CurrentDescriptor) == HID_DTYPE_HID) return DESCRIPTOR_SEARCH_Found; else return DESCRIPTOR_SEARCH_NotFound; diff --git a/Demos/Host/LowLevel/MouseHostWithParser/ConfigDescriptor.h b/Demos/Host/LowLevel/MouseHostWithParser/ConfigDescriptor.h index 504bc0b76..2e44b4068 100644 --- a/Demos/Host/LowLevel/MouseHostWithParser/ConfigDescriptor.h +++ b/Demos/Host/LowLevel/MouseHostWithParser/ConfigDescriptor.h @@ -48,12 +48,6 @@ /** Interface Protocol value for a Boot Protocol Mouse compliant device. */ #define MOUSE_PROTOCOL 0x02 - /** Descriptor header type constant for a HID descriptor. */ - #define DTYPE_HID 0x21 - - /** Descriptor header type constant for a HID report descriptor. */ - #define DTYPE_Report 0x22 - /** Pipe number for the mouse report data pipe. */ #define MOUSE_DATA_IN_PIPE 1 diff --git a/Demos/Host/LowLevel/MouseHostWithParser/HIDReport.c b/Demos/Host/LowLevel/MouseHostWithParser/HIDReport.c index 18799c27f..f02ca9a38 100644 --- a/Demos/Host/LowLevel/MouseHostWithParser/HIDReport.c +++ b/Demos/Host/LowLevel/MouseHostWithParser/HIDReport.c @@ -51,7 +51,7 @@ uint8_t GetHIDReportData(void) { .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_INTERFACE), .bRequest = REQ_GetDescriptor, - .wValue = (DTYPE_Report << 8), + .wValue = (HID_DTYPE_Report << 8), .wIndex = 0, .wLength = HIDReportSize, }; diff --git a/Demos/Host/LowLevel/MouseHostWithParser/HIDReport.h b/Demos/Host/LowLevel/MouseHostWithParser/HIDReport.h index 19cfd753c..a63bc045e 100644 --- a/Demos/Host/LowLevel/MouseHostWithParser/HIDReport.h +++ b/Demos/Host/LowLevel/MouseHostWithParser/HIDReport.h @@ -38,7 +38,6 @@ /* Includes: */ #include <LUFA/Drivers/USB/USB.h> - #include <LUFA/Drivers/USB/Class/Host/HIDParser.h> #include "MouseHostWithParser.h" @@ -70,21 +69,6 @@ ParseControlError = 2, /**< Control error occurred while trying to read the device HID descriptor */ }; - /* Type Defines: */ - /** Type define for a HID descriptor. */ - typedef struct - { - USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length */ - - uint16_t HIDSpec; /**< Implemented HID class specification, in BCD encoded format */ - uint8_t CountryCode; /**< Country code value for localized hardware */ - - uint8_t TotalHIDDescriptors; /**< Total number of HID report descriptors in the current interface */ - - uint8_t HIDReportType; /**< HID report type of the first HID report descriptor */ - uint16_t HIDReportLength; /**< Total size in bytes of the first HID report descriptor */ - } USB_Descriptor_HID_t; - /* External Variables: */ extern uint16_t HIDReportSize; extern HID_ReportInfo_t HIDReportInfo; diff --git a/Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.c b/Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.c index da79e03cc..d46a7ab38 100644 --- a/Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.c +++ b/Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.c @@ -81,7 +81,7 @@ uint8_t Printer_GetDeviceID(char* DeviceIDString, USB_ControlRequest = (USB_Request_Header_t) { .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE), - .bRequest = REQ_GetDeviceID, + .bRequest = PRNT_REQ_GetDeviceID, .wValue = 0, .wIndex = PrinterInterfaceNumber, .wLength = sizeof(DeviceIDStringLength), @@ -128,7 +128,7 @@ uint8_t Printer_GetPortStatus(uint8_t* const PortStatus) USB_ControlRequest = (USB_Request_Header_t) { .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE), - .bRequest = REQ_GetPortStatus, + .bRequest = PRNT_REQ_GetPortStatus, .wValue = 0, .wIndex = PrinterInterfaceNumber, .wLength = sizeof(uint8_t), @@ -149,7 +149,7 @@ uint8_t Printer_SoftReset(void) USB_ControlRequest = (USB_Request_Header_t) { .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE), - .bRequest = REQ_SoftReset, + .bRequest = PRNT_REQ_SoftReset, .wValue = 0, .wIndex = PrinterInterfaceNumber, .wLength = 0, diff --git a/Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.h b/Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.h index 812ff7e5a..99e1b9568 100644 --- a/Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.h +++ b/Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.h @@ -44,16 +44,6 @@ #include "../PrinterHost.h" - /* Macros: */ - /** Printer class-specific request to retrieve the printer's ID string. */ - #define REQ_GetDeviceID 0 - - /** Printer class-specific request to retrieve the printer's virtual port status flags. */ - #define REQ_GetPortStatus 1 - - /** Printer class-specific request to soft-reset the device. */ - #define REQ_SoftReset 2 - /* Function Prototypes: */ uint8_t Printer_SendData(const void* const PrinterCommands, const uint16_t CommandSize); diff --git a/Demos/Host/LowLevel/RNDISEthernetHost/ConfigDescriptor.h b/Demos/Host/LowLevel/RNDISEthernetHost/ConfigDescriptor.h index b4a056f85..740d73ef0 100644 --- a/Demos/Host/LowLevel/RNDISEthernetHost/ConfigDescriptor.h +++ b/Demos/Host/LowLevel/RNDISEthernetHost/ConfigDescriptor.h @@ -42,15 +42,6 @@ #include "RNDISEthernetHost.h" /* Macros: */ - /** Interface Class value for the CDC class. */ - #define CDC_CONTROL_CLASS 0x02 - - /** Interface Class value for the CDC Communication Interface subclass. */ - #define CDC_CONTROL_SUBCLASS 0x02 - - /** Interface Class value for the CDC RNDIS vendor specific protocol. */ - #define CDC_CONTROL_PROTOCOL 0xFF - /** Interface Class value for the CDC data class. */ #define CDC_DATA_CLASS 0x0A diff --git a/Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISCommands.c b/Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISCommands.c index 661762b8b..461c59eea 100644 --- a/Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISCommands.c +++ b/Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISCommands.c @@ -53,7 +53,7 @@ uint8_t RNDIS_SendEncapsulatedCommand(void* const Buffer, USB_ControlRequest = (USB_Request_Header_t) { .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE), - .bRequest = REQ_SendEncapsulatedCommand, + .bRequest = RNDIS_REQ_SendEncapsulatedCommand, .wValue = 0, .wIndex = 0, .wLength = Length, @@ -78,7 +78,7 @@ uint8_t RNDIS_GetEncapsulatedResponse(void* const Buffer, USB_ControlRequest = (USB_Request_Header_t) { .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE), - .bRequest = REQ_GetEncapsulatedResponse, + .bRequest = RNDIS_REQ_GetEncapsulatedResponse, .wValue = 0, .wIndex = 0, .wLength = Length, diff --git a/Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISCommands.h b/Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISCommands.h index f474c9bd8..91312fdde 100644 --- a/Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISCommands.h +++ b/Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISCommands.h @@ -43,151 +43,9 @@ #include <LUFA/Drivers/USB/USB.h> - #include "RNDISConstants.h" #include "../RNDISEthernetHost.h" - /* Type Defines: */ - /** Type define for a RNDIS message header, sent before RNDIS messages. */ - typedef struct - { - uint32_t MessageType; /**< RNDIS message type, a REMOTE_NDIS_*_MSG constant */ - uint32_t MessageLength; /**< Total length of the RNDIS message, in bytes */ - } RNDIS_Message_Header_t; - - /** Type define for a RNDIS packet message, used to encapsulate Ethernet packets sent to and from the adapter. */ - typedef struct - { - uint32_t MessageType; - uint32_t MessageLength; - uint32_t DataOffset; - uint32_t DataLength; - uint32_t OOBDataOffset; - uint32_t OOBDataLength; - uint32_t NumOOBDataElements; - uint32_t PerPacketInfoOffset; - uint32_t PerPacketInfoLength; - uint32_t VcHandle; - uint32_t Reserved; - } RNDIS_Packet_Message_t; - - /** Type define for a RNDIS Initialize command message. */ - typedef struct - { - uint32_t MessageType; - uint32_t MessageLength; - uint32_t RequestId; - - uint32_t MajorVersion; - uint32_t MinorVersion; - uint32_t MaxTransferSize; - } RNDIS_Initialize_Message_t; - - /** Type define for a RNDIS Initialize complete response message. */ - typedef struct - { - uint32_t MessageType; - uint32_t MessageLength; - uint32_t RequestId; - uint32_t Status; - - uint32_t MajorVersion; - uint32_t MinorVersion; - uint32_t DeviceFlags; - uint32_t Medium; - uint32_t MaxPacketsPerTransfer; - uint32_t MaxTransferSize; - uint32_t PacketAlignmentFactor; - uint32_t AFListOffset; - uint32_t AFListSize; - } RNDIS_Initialize_Complete_t; - - /** Type define for a RNDIS Keep-alive command message. */ - typedef struct - { - uint32_t MessageType; - uint32_t MessageLength; - uint32_t RequestId; - } RNDIS_KeepAlive_Message_t; - - /** Type define for a RNDIS Keep-alive complete message. */ - typedef struct - { - uint32_t MessageType; - uint32_t MessageLength; - uint32_t RequestId; - uint32_t Status; - } RNDIS_KeepAlive_Complete_t; - - /** Type define for a RNDIS Reset complete message. */ - typedef struct - { - uint32_t MessageType; - uint32_t MessageLength; - uint32_t Status; - - uint32_t AddressingReset; - } RNDIS_Reset_Complete_t; - - /** Type define for a RNDIS Set command message. */ - typedef struct - { - uint32_t MessageType; - uint32_t MessageLength; - uint32_t RequestId; - - uint32_t Oid; - uint32_t InformationBufferLength; - uint32_t InformationBufferOffset; - uint32_t DeviceVcHandle; - } RNDIS_Set_Message_t; - - /** Type define for a RNDIS Set complete response message. */ - typedef struct - { - uint32_t MessageType; - uint32_t MessageLength; - uint32_t RequestId; - uint32_t Status; - } RNDIS_Set_Complete_t; - - /** Type define for a RNDIS Query command message. */ - typedef struct - { - uint32_t MessageType; - uint32_t MessageLength; - uint32_t RequestId; - - uint32_t Oid; - uint32_t InformationBufferLength; - uint32_t InformationBufferOffset; - uint32_t DeviceVcHandle; - } RNDIS_Query_Message_t; - - /** Type define for a RNDIS Query complete response message. */ - typedef struct - { - uint32_t MessageType; - uint32_t MessageLength; - uint32_t RequestId; - uint32_t Status; - - uint32_t InformationBufferLength; - uint32_t InformationBufferOffset; - } RNDIS_Query_Complete_t; - /* Macros: */ - /** RNDIS request to issue a host-to-device NDIS command. */ - #define REQ_SendEncapsulatedCommand 0x00 - - /** RNDIS request to issue a device-to-host NDIS response. */ - #define REQ_GetEncapsulatedResponse 0x01 - - /** Implemented RNDIS Version Major. */ - #define REMOTE_NDIS_VERSION_MAJOR 0x01 - - /** Implemented RNDIS Version Minor. */ - #define REMOTE_NDIS_VERSION_MINOR 0x00 - /** Additional error code for RNDIS functions when a device returns a logical command failure. */ #define RNDIS_COMMAND_FAILED 0xC0 diff --git a/Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISConstants.h b/Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISConstants.h deleted file mode 100644 index 273fdb81e..000000000 --- a/Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISConstants.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - LUFA Library - Copyright (C) Dean Camera, 2010. - - dean [at] fourwalledcubicle [dot] com - www.fourwalledcubicle.com -*/ - -/* - Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) - - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaim all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. -*/ - -/** \file - * - * RNDIS specification related constants. For more information on these - * constants, please refer to the Microsoft RNDIS specification. - */ - -#ifndef _RNDIS_CONSTANTS_DEVICE_H_ -#define _RNDIS_CONSTANTS_DEVICE_H_ - - /* Macros: */ - #define REMOTE_NDIS_PACKET_MSG 0x00000001UL - #define REMOTE_NDIS_INITIALIZE_MSG 0x00000002UL - #define REMOTE_NDIS_HALT_MSG 0x00000003UL - #define REMOTE_NDIS_QUERY_MSG 0x00000004UL - #define REMOTE_NDIS_SET_MSG 0x00000005UL - #define REMOTE_NDIS_RESET_MSG 0x00000006UL - #define REMOTE_NDIS_INDICATE_STATUS_MSG 0x00000007UL - #define REMOTE_NDIS_KEEPALIVE_MSG 0x00000008UL - - #define REMOTE_NDIS_INITIALIZE_CMPLT 0x80000002UL - #define REMOTE_NDIS_QUERY_CMPLT 0x80000004UL - #define REMOTE_NDIS_SET_CMPLT 0x80000005UL - #define REMOTE_NDIS_RESET_CMPLT 0x80000006UL - #define REMOTE_NDIS_KEEPALIVE_CMPLT 0x80000008UL - - #define REMOTE_NDIS_STATUS_SUCCESS 0x00000000UL - #define REMOTE_NDIS_STATUS_FAILURE 0xC0000001UL - #define REMOTE_NDIS_STATUS_INVALID_DATA 0xC0010015UL - #define REMOTE_NDIS_STATUS_NOT_SUPPORTED 0xC00000BBUL - #define REMOTE_NDIS_STATUS_MEDIA_CONNECT 0x4001000BUL - #define REMOTE_NDIS_STATUS_MEDIA_DISCONNECT 0x4001000CUL - - #define REMOTE_NDIS_MEDIA_STATE_CONNECTED 0x00000000UL - #define REMOTE_NDIS_MEDIA_STATE_DISCONNECTED 0x00000001UL - - #define REMOTE_NDIS_MEDIUM_802_3 0x00000000UL - - #define REMOTE_NDIS_DF_CONNECTIONLESS 0x00000001UL - #define REMOTE_NDIS_DF_CONNECTION_ORIENTED 0x00000002UL - - #define REMOTE_NDIS_PACKET_DIRECTED 0x00000001UL - #define REMOTE_NDIS_PACKET_MULTICAST 0x00000002UL - #define REMOTE_NDIS_PACKET_ALL_MULTICAST 0x00000004UL - #define REMOTE_NDIS_PACKET_BROADCAST 0x00000008UL - #define REMOTE_NDIS_PACKET_SOURCE_ROUTING 0x00000010UL - #define REMOTE_NDIS_PACKET_PROMISCUOUS 0x00000020UL - #define REMOTE_NDIS_PACKET_SMT 0x00000040UL - #define REMOTE_NDIS_PACKET_ALL_LOCAL 0x00000080UL - #define REMOTE_NDIS_PACKET_GROUP 0x00001000UL - #define REMOTE_NDIS_PACKET_ALL_FUNCTIONAL 0x00002000UL - #define REMOTE_NDIS_PACKET_FUNCTIONAL 0x00004000UL - #define REMOTE_NDIS_PACKET_MAC_FRAME 0x00008000UL - - #define OID_GEN_SUPPORTED_LIST 0x00010101UL - #define OID_GEN_HARDWARE_STATUS 0x00010102UL - #define OID_GEN_MEDIA_SUPPORTED 0x00010103UL - #define OID_GEN_MEDIA_IN_USE 0x00010104UL - #define OID_GEN_MAXIMUM_FRAME_SIZE 0x00010106UL - #define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111UL - #define OID_GEN_LINK_SPEED 0x00010107UL - #define OID_GEN_TRANSMIT_BLOCK_SIZE 0x0001010AUL - #define OID_GEN_RECEIVE_BLOCK_SIZE 0x0001010BUL - #define OID_GEN_VENDOR_ID 0x0001010CUL - #define OID_GEN_VENDOR_DESCRIPTION 0x0001010DUL - #define OID_GEN_CURRENT_PACKET_FILTER 0x0001010EUL - #define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111UL - #define OID_GEN_MEDIA_CONNECT_STATUS 0x00010114UL - #define OID_GEN_PHYSICAL_MEDIUM 0x00010202UL - #define OID_GEN_XMIT_OK 0x00020101UL - #define OID_GEN_RCV_OK 0x00020102UL - #define OID_GEN_XMIT_ERROR 0x00020103UL - #define OID_GEN_RCV_ERROR 0x00020104UL - #define OID_GEN_RCV_NO_BUFFER 0x00020105UL - #define OID_802_3_PERMANENT_ADDRESS 0x01010101UL - #define OID_802_3_CURRENT_ADDRESS 0x01010102UL - #define OID_802_3_MULTICAST_LIST 0x01010103UL - #define OID_802_3_MAXIMUM_LIST_SIZE 0x01010104UL - #define OID_802_3_RCV_ERROR_ALIGNMENT 0x01020101UL - #define OID_802_3_XMIT_ONE_COLLISION 0x01020102UL - #define OID_802_3_XMIT_MORE_COLLISIONS 0x01020103UL - -#endif - diff --git a/Demos/Host/LowLevel/RNDISEthernetHost/RNDISEthernetHost.h b/Demos/Host/LowLevel/RNDISEthernetHost/RNDISEthernetHost.h index c52fe6b9c..764bc1f8c 100644 --- a/Demos/Host/LowLevel/RNDISEthernetHost/RNDISEthernetHost.h +++ b/Demos/Host/LowLevel/RNDISEthernetHost/RNDISEthernetHost.h @@ -70,19 +70,6 @@ /** LED mask for the library LED driver, to indicate that the USB interface is busy. */ #define LEDMASK_USB_BUSY LEDS_LED2 - /* Type Defines: */ - /** Type define for a RNDIS notification message, for transmission to the RNDIS host via the notification - * Endpoint. - */ - typedef struct - { - uint8_t bmRequestType; /**< Notification type, a mask of values from SrdRequestType.h */ - uint8_t bNotification; /**< Notification index, indicating what the RNDIS notification relates to */ - uint16_t wValue; /**< Two byte notification value parameter */ - uint16_t wIndex; /**< Two byte notification index parameter */ - uint16_t wLength; /**< Size of data payload following the notification header */ - } USB_Notification_t; - /* Function Prototypes: */ void SetupHardware(void); void PrintIncomingPackets(void); diff --git a/Demos/Host/LowLevel/StillImageHost/Lib/PIMACodes.h b/Demos/Host/LowLevel/StillImageHost/Lib/PIMACodes.h index 692b1fae8..74a443adc 100644 --- a/Demos/Host/LowLevel/StillImageHost/Lib/PIMACodes.h +++ b/Demos/Host/LowLevel/StillImageHost/Lib/PIMACodes.h @@ -41,12 +41,5 @@ #define PIMA_OPERATION_OPENSESSION 0x1002 #define PIMA_OPERATION_CLOSESESSION 0x1003 - #define PIMA_RESPONSE_OK 0x2001 - #define PIMA_RESPONSE_GENERALERROR 0x2002 - #define PIMA_RESPONSE_SESSIONNOTOPEN 0x2003 - #define PIMA_RESPONSE_INVALIDTRANSACTIONID 0x2004 - #define PIMA_RESPONSE_OPERATIONNOTSUPPORTED 0x2005 - #define PIMA_RESPONSE_PARAMETERNOTSUPPORTED 0x2006 - #endif diff --git a/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.c b/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.c index 9d6828e32..e82b643fd 100644 --- a/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.c +++ b/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.c @@ -58,7 +58,7 @@ void SImage_SendBlockHeader(void) Pipe_Write_Stream_LE(&PIMA_SendBlock, PIMA_COMMAND_SIZE(0)); /* If the block type is a command, send its parameters (if any) */ - if (PIMA_SendBlock.Type == CType_CommandBlock) + if (PIMA_SendBlock.Type == PIMA_CONTAINER_CommandBlock) { /* Determine the size of the parameters in the block via the data length attribute */ uint8_t ParamBytes = (PIMA_SendBlock.DataLength - PIMA_COMMAND_SIZE(0)); @@ -169,7 +169,7 @@ uint8_t SImage_ReceiveBlockHeader(void) Pipe_Read_Stream_LE(&PIMA_ReceivedBlock, PIMA_COMMAND_SIZE(0)); /* Check if the returned block type is a response block */ - if (PIMA_ReceivedBlock.Type == CType_ResponseBlock) + if (PIMA_ReceivedBlock.Type == PIMA_CONTAINER_ResponseBlock) { /* Determine the size of the parameters in the block via the data length attribute */ uint8_t ParamBytes = (PIMA_ReceivedBlock.DataLength - PIMA_COMMAND_SIZE(0)); diff --git a/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.h b/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.h index 2ab36c2ba..5f4d9c1ef 100644 --- a/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.h +++ b/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.h @@ -43,54 +43,9 @@ #include "../StillImageHost.h" /* Macros: */ - /** Length in bytes of a given Unicode string's character length. - * - * \param[in] chars Total number of Unicode characters in the string - */ - #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 10000 - /** Used in the DataLength field of a PIMA container, to give the total container size in bytes for - * a command container. - * - * \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]))) - - /** Used in the DataLength field of a PIMA container, to give the total container size in bytes for - * a data container. - * - * \param[in] datalen Length in bytes of the data in the container - */ - #define PIMA_DATA_SIZE(datalen) ((sizeof(PIMA_SendBlock) - sizeof(PIMA_SendBlock.Params)) + datalen) - - /* Type Defines: */ - /** Type define for a PIMA container, use to send commands and receive responses to and from an - * attached Still Image device. - */ - typedef struct - { - uint32_t DataLength; /**< Length of the container and data, in bytes */ - uint16_t Type; /**< Container type, a value from the PIMA_Container_Types_t enum */ - uint16_t Code; /**< Command, event or response code of the container */ - uint32_t TransactionID; /**< Unique container ID to link blocks together */ - uint32_t Params[3]; /**< Block parameters to be issued along with the block code (command blocks only) */ - } PIMA_Container_t; - - /* Enums: */ - /** Enum for the possible PIMA contains types. */ - enum PIMA_Container_Types_t - { - CType_Undefined = 0, /**< Undefined container type */ - CType_CommandBlock = 1, /**< Command Block container type */ - CType_DataBlock = 2, /**< Data Block container type */ - CType_ResponseBlock = 3, /**< Response container type */ - CType_EventBlock = 4, /**< Event Block container type */ - }; - /* External Variables: */ extern PIMA_Container_t PIMA_SendBlock; extern PIMA_Container_t PIMA_ReceivedBlock; diff --git a/Demos/Host/LowLevel/StillImageHost/StillImageHost.c b/Demos/Host/LowLevel/StillImageHost/StillImageHost.c index aa139e225..0474cd015 100644 --- a/Demos/Host/LowLevel/StillImageHost/StillImageHost.c +++ b/Demos/Host/LowLevel/StillImageHost/StillImageHost.c @@ -180,7 +180,7 @@ void StillImage_Task(void) PIMA_SendBlock = (PIMA_Container_t) { .DataLength = PIMA_COMMAND_SIZE(0), - .Type = CType_CommandBlock, + .Type = PIMA_CONTAINER_CommandBlock, .Code = PIMA_OPERATION_GETDEVICEINFO, .TransactionID = 0x00000000, .Params = {}, @@ -252,7 +252,7 @@ void StillImage_Task(void) } /* Verify that the command completed successfully */ - if ((PIMA_ReceivedBlock.Type != CType_ResponseBlock) || (PIMA_ReceivedBlock.Code != PIMA_RESPONSE_OK)) + if ((PIMA_ReceivedBlock.Type != PIMA_CONTAINER_ResponseBlock) || (PIMA_ReceivedBlock.Code != PIMA_RESPONSE_OK)) { ShowCommandError(PIMA_ReceivedBlock.Code, true); @@ -265,7 +265,7 @@ void StillImage_Task(void) PIMA_SendBlock = (PIMA_Container_t) { .DataLength = PIMA_COMMAND_SIZE(1), - .Type = CType_CommandBlock, + .Type = PIMA_CONTAINER_CommandBlock, .Code = PIMA_OPERATION_OPENSESSION, .TransactionID = 0x00000000, .Params = {0x00000001}, @@ -284,7 +284,7 @@ void StillImage_Task(void) } /* Verify that the command completed successfully */ - if ((PIMA_ReceivedBlock.Type != CType_ResponseBlock) || (PIMA_ReceivedBlock.Code != PIMA_RESPONSE_OK)) + if ((PIMA_ReceivedBlock.Type != PIMA_CONTAINER_ResponseBlock) || (PIMA_ReceivedBlock.Code != PIMA_RESPONSE_OK)) { ShowCommandError(PIMA_ReceivedBlock.Code, true); @@ -297,7 +297,7 @@ void StillImage_Task(void) PIMA_SendBlock = (PIMA_Container_t) { .DataLength = PIMA_COMMAND_SIZE(1), - .Type = CType_CommandBlock, + .Type = PIMA_CONTAINER_CommandBlock, .Code = PIMA_OPERATION_CLOSESESSION, .TransactionID = 0x00000001, .Params = {0x00000001}, @@ -316,7 +316,7 @@ void StillImage_Task(void) } /* Verify that the command completed successfully */ - if ((PIMA_ReceivedBlock.Type != CType_ResponseBlock) || (PIMA_ReceivedBlock.Code != PIMA_RESPONSE_OK)) + if ((PIMA_ReceivedBlock.Type != PIMA_CONTAINER_ResponseBlock) || (PIMA_ReceivedBlock.Code != PIMA_RESPONSE_OK)) { ShowCommandError(PIMA_ReceivedBlock.Code, true); diff --git a/Demos/Host/LowLevel/StillImageHost/StillImageHost.h b/Demos/Host/LowLevel/StillImageHost/StillImageHost.h index 9c88f71f0..f03c45aaa 100644 --- a/Demos/Host/LowLevel/StillImageHost/StillImageHost.h +++ b/Demos/Host/LowLevel/StillImageHost/StillImageHost.h @@ -45,7 +45,6 @@ #include "ConfigDescriptor.h" - #include "Lib/PIMACodes.h" #include "Lib/StillImageCommands.h" #include <LUFA/Drivers/Misc/TerminalCodes.h> |