aboutsummaryrefslogtreecommitdiffstats
path: root/Demos/Host
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2010-10-24 22:53:57 +0000
committerDean Camera <dean@fourwalledcubicle.com>2010-10-24 22:53:57 +0000
commitb37d77eab32d171ad7b28157a924a4026e2aebd1 (patch)
tree0644f7ed8f76db5e0849195e09892b159df9f475 /Demos/Host
parent8f3bee7d8661c92ce69fdf7cc131fbee1acaa4ae (diff)
downloadlufa-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')
-rw-r--r--Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.h1
-rw-r--r--Demos/Host/ClassDriver/KeyboardHost/KeyboardHost.h1
-rw-r--r--Demos/Host/ClassDriver/KeyboardHostWithParser/KeyboardHostWithParser.h1
-rw-r--r--Demos/Host/ClassDriver/MIDIHost/MIDIHost.h1
-rw-r--r--Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.h1
-rw-r--r--Demos/Host/ClassDriver/MouseHost/MouseHost.h1
-rw-r--r--Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.h1
-rw-r--r--Demos/Host/ClassDriver/PrinterHost/PrinterHost.h1
-rw-r--r--Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.h1
-rw-r--r--Demos/Host/ClassDriver/StillImageHost/StillImageHost.h1
-rw-r--r--Demos/Host/ClassDriver/VirtualSerialHost/VirtualSerialHost.h1
-rw-r--r--Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.c2
-rw-r--r--Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.h3
-rw-r--r--Demos/Host/LowLevel/JoystickHostWithParser/ConfigDescriptor.c6
-rw-r--r--Demos/Host/LowLevel/JoystickHostWithParser/ConfigDescriptor.h6
-rw-r--r--Demos/Host/LowLevel/JoystickHostWithParser/HIDReport.c2
-rw-r--r--Demos/Host/LowLevel/JoystickHostWithParser/HIDReport.h26
-rw-r--r--Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.h2
-rw-r--r--Demos/Host/LowLevel/KeyboardHost/KeyboardHost.c2
-rw-r--r--Demos/Host/LowLevel/KeyboardHost/KeyboardHost.h12
-rw-r--r--Demos/Host/LowLevel/KeyboardHostWithParser/ConfigDescriptor.c2
-rw-r--r--Demos/Host/LowLevel/KeyboardHostWithParser/ConfigDescriptor.h6
-rw-r--r--Demos/Host/LowLevel/KeyboardHostWithParser/HIDReport.h20
-rw-r--r--Demos/Host/LowLevel/MIDIHost/MIDIHost.c4
-rw-r--r--Demos/Host/LowLevel/MIDIHost/MIDIHost.h28
-rw-r--r--Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.c44
-rw-r--r--Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h133
-rw-r--r--Demos/Host/LowLevel/MassStorageHost/Lib/SCSI_Codes.h87
-rw-r--r--Demos/Host/LowLevel/MouseHost/MouseHost.c2
-rw-r--r--Demos/Host/LowLevel/MouseHost/MouseHost.h12
-rw-r--r--Demos/Host/LowLevel/MouseHostWithParser/ConfigDescriptor.c6
-rw-r--r--Demos/Host/LowLevel/MouseHostWithParser/ConfigDescriptor.h6
-rw-r--r--Demos/Host/LowLevel/MouseHostWithParser/HIDReport.c2
-rw-r--r--Demos/Host/LowLevel/MouseHostWithParser/HIDReport.h16
-rw-r--r--Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.c6
-rw-r--r--Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.h10
-rw-r--r--Demos/Host/LowLevel/RNDISEthernetHost/ConfigDescriptor.h9
-rw-r--r--Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISCommands.c4
-rw-r--r--Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISCommands.h142
-rw-r--r--Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISConstants.h113
-rw-r--r--Demos/Host/LowLevel/RNDISEthernetHost/RNDISEthernetHost.h13
-rw-r--r--Demos/Host/LowLevel/StillImageHost/Lib/PIMACodes.h7
-rw-r--r--Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.c4
-rw-r--r--Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.h45
-rw-r--r--Demos/Host/LowLevel/StillImageHost/StillImageHost.c12
-rw-r--r--Demos/Host/LowLevel/StillImageHost/StillImageHost.h1
46 files changed, 58 insertions, 748 deletions
diff --git a/Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.h b/Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.h
index 51f641dd4..d4a56e7db 100644
--- a/Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.h
+++ b/Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.h
@@ -49,7 +49,6 @@
#include <LUFA/Drivers/Peripheral/SerialStream.h>
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/HID.h>
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
diff --git a/Demos/Host/ClassDriver/KeyboardHost/KeyboardHost.h b/Demos/Host/ClassDriver/KeyboardHost/KeyboardHost.h
index a569162e5..ed4b50245 100644
--- a/Demos/Host/ClassDriver/KeyboardHost/KeyboardHost.h
+++ b/Demos/Host/ClassDriver/KeyboardHost/KeyboardHost.h
@@ -49,7 +49,6 @@
#include <LUFA/Drivers/Peripheral/SerialStream.h>
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/HID.h>
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
diff --git a/Demos/Host/ClassDriver/KeyboardHostWithParser/KeyboardHostWithParser.h b/Demos/Host/ClassDriver/KeyboardHostWithParser/KeyboardHostWithParser.h
index b31d5cb66..048d20ca6 100644
--- a/Demos/Host/ClassDriver/KeyboardHostWithParser/KeyboardHostWithParser.h
+++ b/Demos/Host/ClassDriver/KeyboardHostWithParser/KeyboardHostWithParser.h
@@ -49,7 +49,6 @@
#include <LUFA/Drivers/Peripheral/SerialStream.h>
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/HID.h>
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
diff --git a/Demos/Host/ClassDriver/MIDIHost/MIDIHost.h b/Demos/Host/ClassDriver/MIDIHost/MIDIHost.h
index 977eabbd3..77a6154f2 100644
--- a/Demos/Host/ClassDriver/MIDIHost/MIDIHost.h
+++ b/Demos/Host/ClassDriver/MIDIHost/MIDIHost.h
@@ -51,7 +51,6 @@
#include <LUFA/Drivers/Board/Buttons.h>
#include <LUFA/Drivers/Board/Joystick.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/MIDI.h>
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
diff --git a/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.h b/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.h
index af8470cf0..532ed787e 100644
--- a/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.h
+++ b/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.h
@@ -50,7 +50,6 @@
#include <LUFA/Drivers/Peripheral/SerialStream.h>
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/MassStorage.h>
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
diff --git a/Demos/Host/ClassDriver/MouseHost/MouseHost.h b/Demos/Host/ClassDriver/MouseHost/MouseHost.h
index c5567ed38..482ad0a81 100644
--- a/Demos/Host/ClassDriver/MouseHost/MouseHost.h
+++ b/Demos/Host/ClassDriver/MouseHost/MouseHost.h
@@ -49,7 +49,6 @@
#include <LUFA/Drivers/Peripheral/SerialStream.h>
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/HID.h>
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
diff --git a/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.h b/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.h
index e4958b7c5..cffcebfed 100644
--- a/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.h
+++ b/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.h
@@ -49,7 +49,6 @@
#include <LUFA/Drivers/Peripheral/SerialStream.h>
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/HID.h>
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
diff --git a/Demos/Host/ClassDriver/PrinterHost/PrinterHost.h b/Demos/Host/ClassDriver/PrinterHost/PrinterHost.h
index 120dec40f..496aa59f6 100644
--- a/Demos/Host/ClassDriver/PrinterHost/PrinterHost.h
+++ b/Demos/Host/ClassDriver/PrinterHost/PrinterHost.h
@@ -49,7 +49,6 @@
#include <LUFA/Drivers/Peripheral/SerialStream.h>
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Printer.h>
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
diff --git a/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.h b/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.h
index 56a6fe94e..97e2e9c36 100644
--- a/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.h
+++ b/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.h
@@ -49,7 +49,6 @@
#include <LUFA/Drivers/Peripheral/SerialStream.h>
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/RNDIS.h>
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
diff --git a/Demos/Host/ClassDriver/StillImageHost/StillImageHost.h b/Demos/Host/ClassDriver/StillImageHost/StillImageHost.h
index 3f4375dc7..ec0724e63 100644
--- a/Demos/Host/ClassDriver/StillImageHost/StillImageHost.h
+++ b/Demos/Host/ClassDriver/StillImageHost/StillImageHost.h
@@ -49,7 +49,6 @@
#include <LUFA/Drivers/Peripheral/SerialStream.h>
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/StillImage.h>
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
diff --git a/Demos/Host/ClassDriver/VirtualSerialHost/VirtualSerialHost.h b/Demos/Host/ClassDriver/VirtualSerialHost/VirtualSerialHost.h
index e873f539f..917627d65 100644
--- a/Demos/Host/ClassDriver/VirtualSerialHost/VirtualSerialHost.h
+++ b/Demos/Host/ClassDriver/VirtualSerialHost/VirtualSerialHost.h
@@ -49,7 +49,6 @@
#include <LUFA/Drivers/Peripheral/SerialStream.h>
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/CDC.h>
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
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>