aboutsummaryrefslogtreecommitdiffstats
path: root/Demos
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-06-14 15:55:13 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-06-14 15:55:13 +0000
commitafe6ae14023c7040befe73e49d00077d3425c564 (patch)
tree3ec1276e23fd2361033e94e172a190d3a6a77c42 /Demos
parent9fdc53d76541856c38d7ef940988955f84084898 (diff)
downloadlufa-afe6ae14023c7040befe73e49d00077d3425c564.tar.gz
lufa-afe6ae14023c7040befe73e49d00077d3425c564.tar.bz2
lufa-afe6ae14023c7040befe73e49d00077d3425c564.zip
Add host mode USB Class driver stubs, add beginnings of a CDC host class driver.
Split out common defines/types from class drivers into a seperate common class driver directory. Make central USB Class driver dispatch headers, used for both device and host modes.
Diffstat (limited to 'Demos')
-rw-r--r--Demos/Device/ClassDriver/AudioInput/AudioInput.h2
-rw-r--r--Demos/Device/ClassDriver/AudioInput/Descriptors.h2
-rw-r--r--Demos/Device/ClassDriver/AudioInput/makefile1
-rw-r--r--Demos/Device/ClassDriver/AudioOutput/AudioOutput.h2
-rw-r--r--Demos/Device/ClassDriver/AudioOutput/Descriptors.h2
-rw-r--r--Demos/Device/ClassDriver/AudioOutput/makefile1
-rw-r--r--Demos/Device/ClassDriver/CDC/CDC.h2
-rw-r--r--Demos/Device/ClassDriver/CDC/Descriptors.h2
-rw-r--r--Demos/Device/ClassDriver/CDC/makefile1
-rw-r--r--Demos/Device/ClassDriver/DualCDC/Descriptors.h2
-rw-r--r--Demos/Device/ClassDriver/DualCDC/DualCDC.h2
-rw-r--r--Demos/Device/ClassDriver/DualCDC/makefile1
-rw-r--r--Demos/Device/ClassDriver/GenericHID/Descriptors.h2
-rw-r--r--Demos/Device/ClassDriver/GenericHID/GenericHID.h2
-rw-r--r--Demos/Device/ClassDriver/GenericHID/makefile2
-rw-r--r--Demos/Device/ClassDriver/Joystick/Descriptors.h2
-rw-r--r--Demos/Device/ClassDriver/Joystick/Joystick.h2
-rw-r--r--Demos/Device/ClassDriver/Joystick/makefile2
-rw-r--r--Demos/Device/ClassDriver/Keyboard/Descriptors.h2
-rw-r--r--Demos/Device/ClassDriver/Keyboard/Keyboard.h2
-rw-r--r--Demos/Device/ClassDriver/Keyboard/makefile2
-rw-r--r--Demos/Device/ClassDriver/KeyboardMouse/Descriptors.h2
-rw-r--r--Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.h2
-rw-r--r--Demos/Device/ClassDriver/KeyboardMouse/makefile2
-rw-r--r--Demos/Device/ClassDriver/MIDI/Descriptors.h2
-rw-r--r--Demos/Device/ClassDriver/MIDI/MIDI.h2
-rw-r--r--Demos/Device/ClassDriver/MIDI/makefile1
-rw-r--r--Demos/Device/ClassDriver/MassStorage/Lib/DataflashManager.h6
-rw-r--r--Demos/Device/ClassDriver/MassStorage/Lib/SCSI.h2
-rw-r--r--Demos/Device/ClassDriver/MassStorage/MassStorage.h2
-rw-r--r--Demos/Device/ClassDriver/MassStorage/makefile1
-rw-r--r--Demos/Device/ClassDriver/Mouse/Descriptors.h2
-rw-r--r--Demos/Device/ClassDriver/Mouse/Mouse.h2
-rw-r--r--Demos/Device/ClassDriver/Mouse/makefile5
-rw-r--r--Demos/Device/ClassDriver/RNDISEthernet/Lib/Ethernet.h2
-rw-r--r--Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.h2
-rw-r--r--Demos/Device/ClassDriver/USBtoSerial/Descriptors.h2
-rw-r--r--Demos/Device/ClassDriver/USBtoSerial/USBtoSerial.h2
-rw-r--r--Demos/Device/ClassDriver/USBtoSerial/makefile1
-rw-r--r--Demos/Host/ClassDriver/CDCHost/CDCHost.c109
-rw-r--r--Demos/Host/ClassDriver/CDCHost/CDCHost.h15
-rw-r--r--Demos/Host/ClassDriver/CDCHost/makefile5
-rw-r--r--Demos/Host/ClassDriver/GenericHIDHost/makefile2
-rw-r--r--Demos/Host/ClassDriver/KeyboardHost/makefile4
-rw-r--r--Demos/Host/ClassDriver/KeyboardHostWithParser/makefile4
-rw-r--r--Demos/Host/ClassDriver/MassStorageHost/makefile2
-rw-r--r--Demos/Host/ClassDriver/MouseHost/makefile5
-rw-r--r--Demos/Host/ClassDriver/MouseHostWithParser/makefile4
-rw-r--r--Demos/Host/ClassDriver/StillImageHost/makefile2
-rw-r--r--Demos/Host/LowLevel/CDCHost/CDCHost.h34
50 files changed, 106 insertions, 158 deletions
diff --git a/Demos/Device/ClassDriver/AudioInput/AudioInput.h b/Demos/Device/ClassDriver/AudioInput/AudioInput.h
index 1c67ac5a0..d0e8db698 100644
--- a/Demos/Device/ClassDriver/AudioInput/AudioInput.h
+++ b/Demos/Device/ClassDriver/AudioInput/AudioInput.h
@@ -48,7 +48,7 @@
#include <LUFA/Drivers/Board/Joystick.h>
#include <LUFA/Drivers/Peripheral/ADC.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/Audio.h>
+ #include <LUFA/Drivers/USB/Class/Audio.h>
/* Macros: */
/** ADC channel number for the microphone input. */
diff --git a/Demos/Device/ClassDriver/AudioInput/Descriptors.h b/Demos/Device/ClassDriver/AudioInput/Descriptors.h
index 12bf07f3d..302437f37 100644
--- a/Demos/Device/ClassDriver/AudioInput/Descriptors.h
+++ b/Demos/Device/ClassDriver/AudioInput/Descriptors.h
@@ -38,7 +38,7 @@
/* Includes: */
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/Audio.h>
+ #include <LUFA/Drivers/USB/Class/Audio.h>
#include <avr/pgmspace.h>
diff --git a/Demos/Device/ClassDriver/AudioInput/makefile b/Demos/Device/ClassDriver/AudioInput/makefile
index b5b27139e..99d1e94e8 100644
--- a/Demos/Device/ClassDriver/AudioInput/makefile
+++ b/Demos/Device/ClassDriver/AudioInput/makefile
@@ -136,6 +136,7 @@ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/Audio.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/Audio.c \
# List C++ source files here. (C dependencies are automatically generated.)
diff --git a/Demos/Device/ClassDriver/AudioOutput/AudioOutput.h b/Demos/Device/ClassDriver/AudioOutput/AudioOutput.h
index b09fed5d8..ecc4e6fae 100644
--- a/Demos/Device/ClassDriver/AudioOutput/AudioOutput.h
+++ b/Demos/Device/ClassDriver/AudioOutput/AudioOutput.h
@@ -48,7 +48,7 @@
#include <LUFA/Drivers/Board/Joystick.h>
#include <LUFA/Drivers/Peripheral/ADC.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/Audio.h>
+ #include <LUFA/Drivers/USB/Class/Audio.h>
/* Macros: */
#if (defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
diff --git a/Demos/Device/ClassDriver/AudioOutput/Descriptors.h b/Demos/Device/ClassDriver/AudioOutput/Descriptors.h
index 149b5ed53..1ee63efe3 100644
--- a/Demos/Device/ClassDriver/AudioOutput/Descriptors.h
+++ b/Demos/Device/ClassDriver/AudioOutput/Descriptors.h
@@ -38,7 +38,7 @@
/* Includes: */
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/Audio.h>
+ #include <LUFA/Drivers/USB/Class/Audio.h>
#include <avr/pgmspace.h>
diff --git a/Demos/Device/ClassDriver/AudioOutput/makefile b/Demos/Device/ClassDriver/AudioOutput/makefile
index b6f48d43d..9c3639fe9 100644
--- a/Demos/Device/ClassDriver/AudioOutput/makefile
+++ b/Demos/Device/ClassDriver/AudioOutput/makefile
@@ -136,6 +136,7 @@ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/Audio.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/Audio.c \
# List C++ source files here. (C dependencies are automatically generated.)
diff --git a/Demos/Device/ClassDriver/CDC/CDC.h b/Demos/Device/ClassDriver/CDC/CDC.h
index 23072d683..255cd8611 100644
--- a/Demos/Device/ClassDriver/CDC/CDC.h
+++ b/Demos/Device/ClassDriver/CDC/CDC.h
@@ -48,7 +48,7 @@
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/Board/Joystick.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/CDC.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/Device/ClassDriver/CDC/Descriptors.h b/Demos/Device/ClassDriver/CDC/Descriptors.h
index caea188cd..33ceab9c5 100644
--- a/Demos/Device/ClassDriver/CDC/Descriptors.h
+++ b/Demos/Device/ClassDriver/CDC/Descriptors.h
@@ -40,7 +40,7 @@
#include <avr/pgmspace.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/CDC.h>
+ #include <LUFA/Drivers/USB/Class/CDC.h>
/* Macros: */
/** Endpoint number of the CDC device-to-host notification IN endpoint. */
diff --git a/Demos/Device/ClassDriver/CDC/makefile b/Demos/Device/ClassDriver/CDC/makefile
index a244f1fa1..22846c90d 100644
--- a/Demos/Device/ClassDriver/CDC/makefile
+++ b/Demos/Device/ClassDriver/CDC/makefile
@@ -136,6 +136,7 @@ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/CDC.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/CDC.c \
# List C++ source files here. (C dependencies are automatically generated.)
diff --git a/Demos/Device/ClassDriver/DualCDC/Descriptors.h b/Demos/Device/ClassDriver/DualCDC/Descriptors.h
index 023cdc5de..49befad38 100644
--- a/Demos/Device/ClassDriver/DualCDC/Descriptors.h
+++ b/Demos/Device/ClassDriver/DualCDC/Descriptors.h
@@ -40,7 +40,7 @@
#include <avr/pgmspace.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/CDC.h>
+ #include <LUFA/Drivers/USB/Class/CDC.h>
/* Macros: */
/** Endpoint number of the first CDC interface's device-to-host notification IN endpoint. */
diff --git a/Demos/Device/ClassDriver/DualCDC/DualCDC.h b/Demos/Device/ClassDriver/DualCDC/DualCDC.h
index 93b785d31..0f1a76498 100644
--- a/Demos/Device/ClassDriver/DualCDC/DualCDC.h
+++ b/Demos/Device/ClassDriver/DualCDC/DualCDC.h
@@ -48,7 +48,7 @@
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/Board/Joystick.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/CDC.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/Device/ClassDriver/DualCDC/makefile b/Demos/Device/ClassDriver/DualCDC/makefile
index 7a8fba327..cf3689b49 100644
--- a/Demos/Device/ClassDriver/DualCDC/makefile
+++ b/Demos/Device/ClassDriver/DualCDC/makefile
@@ -136,6 +136,7 @@ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/CDC.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/CDC.c \
# List C++ source files here. (C dependencies are automatically generated.)
diff --git a/Demos/Device/ClassDriver/GenericHID/Descriptors.h b/Demos/Device/ClassDriver/GenericHID/Descriptors.h
index 01db53e41..8d613b11e 100644
--- a/Demos/Device/ClassDriver/GenericHID/Descriptors.h
+++ b/Demos/Device/ClassDriver/GenericHID/Descriptors.h
@@ -40,7 +40,7 @@
#include <avr/pgmspace.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/HID.h>
+ #include <LUFA/Drivers/USB/Class/HID.h>
/** Type Defines: */
/** Type define for the device configuration descriptor structure. This must be defined in the
diff --git a/Demos/Device/ClassDriver/GenericHID/GenericHID.h b/Demos/Device/ClassDriver/GenericHID/GenericHID.h
index cfb9df88b..d40fbb11f 100644
--- a/Demos/Device/ClassDriver/GenericHID/GenericHID.h
+++ b/Demos/Device/ClassDriver/GenericHID/GenericHID.h
@@ -49,7 +49,7 @@
#include <LUFA/Version.h>
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/HID.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/Device/ClassDriver/GenericHID/makefile b/Demos/Device/ClassDriver/GenericHID/makefile
index 292484ae9..64d70b3de 100644
--- a/Demos/Device/ClassDriver/GenericHID/makefile
+++ b/Demos/Device/ClassDriver/GenericHID/makefile
@@ -136,6 +136,8 @@ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
# List C++ source files here. (C dependencies are automatically generated.)
diff --git a/Demos/Device/ClassDriver/Joystick/Descriptors.h b/Demos/Device/ClassDriver/Joystick/Descriptors.h
index c6926ac9a..963ed1bb4 100644
--- a/Demos/Device/ClassDriver/Joystick/Descriptors.h
+++ b/Demos/Device/ClassDriver/Joystick/Descriptors.h
@@ -40,7 +40,7 @@
#include <avr/pgmspace.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/HID.h>
+ #include <LUFA/Drivers/USB/Class/HID.h>
/* Type Defines: */
/** Type define for the device configuration descriptor structure. This must be defined in the
diff --git a/Demos/Device/ClassDriver/Joystick/Joystick.h b/Demos/Device/ClassDriver/Joystick/Joystick.h
index 16c6abb6c..e3bcaa6ab 100644
--- a/Demos/Device/ClassDriver/Joystick/Joystick.h
+++ b/Demos/Device/ClassDriver/Joystick/Joystick.h
@@ -49,7 +49,7 @@
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/Board/Buttons.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/HID.h>
+ #include <LUFA/Drivers/USB/Class/HID.h>
/* Type Defines: */
/** Type define for the joystick HID report structure, for creating and sending HID reports to the host PC.
diff --git a/Demos/Device/ClassDriver/Joystick/makefile b/Demos/Device/ClassDriver/Joystick/makefile
index 0c21bc493..e39676cf2 100644
--- a/Demos/Device/ClassDriver/Joystick/makefile
+++ b/Demos/Device/ClassDriver/Joystick/makefile
@@ -136,6 +136,8 @@ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
# List C++ source files here. (C dependencies are automatically generated.)
diff --git a/Demos/Device/ClassDriver/Keyboard/Descriptors.h b/Demos/Device/ClassDriver/Keyboard/Descriptors.h
index 40b358caa..6ed05e1ac 100644
--- a/Demos/Device/ClassDriver/Keyboard/Descriptors.h
+++ b/Demos/Device/ClassDriver/Keyboard/Descriptors.h
@@ -41,7 +41,7 @@
#include <avr/pgmspace.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/HID.h>
+ #include <LUFA/Drivers/USB/Class/HID.h>
/* Type Defines: */
/** Type define for the device configuration descriptor structure. This must be defined in the
diff --git a/Demos/Device/ClassDriver/Keyboard/Keyboard.h b/Demos/Device/ClassDriver/Keyboard/Keyboard.h
index c24adfbc0..74802fdd9 100644
--- a/Demos/Device/ClassDriver/Keyboard/Keyboard.h
+++ b/Demos/Device/ClassDriver/Keyboard/Keyboard.h
@@ -52,7 +52,7 @@
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/Board/Buttons.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/HID.h>
+ #include <LUFA/Drivers/USB/Class/HID.h>
/* Type Defines: */
/** Type define for the keyboard HID report structure, for creating and sending HID reports to the host PC.
diff --git a/Demos/Device/ClassDriver/Keyboard/makefile b/Demos/Device/ClassDriver/Keyboard/makefile
index 5377e6de1..40b60fa82 100644
--- a/Demos/Device/ClassDriver/Keyboard/makefile
+++ b/Demos/Device/ClassDriver/Keyboard/makefile
@@ -136,6 +136,8 @@ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
# List C++ source files here. (C dependencies are automatically generated.)
diff --git a/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.h b/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.h
index 6f1c53a3f..514e8c030 100644
--- a/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.h
+++ b/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.h
@@ -41,7 +41,7 @@
#include <avr/pgmspace.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/HID.h>
+ #include <LUFA/Drivers/USB/Class/HID.h>
/* Type Defines: */
/** Type define for the device configuration descriptor structure. This must be defined in the
diff --git a/Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.h b/Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.h
index ae69d3d3f..5f166979f 100644
--- a/Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.h
+++ b/Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.h
@@ -46,7 +46,7 @@
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/Board/Buttons.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/HID.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/Device/ClassDriver/KeyboardMouse/makefile b/Demos/Device/ClassDriver/KeyboardMouse/makefile
index 6bfa2a9cf..4c1ce7431 100644
--- a/Demos/Device/ClassDriver/KeyboardMouse/makefile
+++ b/Demos/Device/ClassDriver/KeyboardMouse/makefile
@@ -136,6 +136,8 @@ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
# List C++ source files here. (C dependencies are automatically generated.)
diff --git a/Demos/Device/ClassDriver/MIDI/Descriptors.h b/Demos/Device/ClassDriver/MIDI/Descriptors.h
index d9b133980..6702cc461 100644
--- a/Demos/Device/ClassDriver/MIDI/Descriptors.h
+++ b/Demos/Device/ClassDriver/MIDI/Descriptors.h
@@ -38,7 +38,7 @@
/* Includes: */
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/MIDI.h>
+ #include <LUFA/Drivers/USB/Class/MIDI.h>
#include <avr/pgmspace.h>
diff --git a/Demos/Device/ClassDriver/MIDI/MIDI.h b/Demos/Device/ClassDriver/MIDI/MIDI.h
index 913b318f7..bc9038207 100644
--- a/Demos/Device/ClassDriver/MIDI/MIDI.h
+++ b/Demos/Device/ClassDriver/MIDI/MIDI.h
@@ -50,7 +50,7 @@
#include <LUFA/Drivers/Board/Buttons.h>
#include <LUFA/Drivers/Peripheral/ADC.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/MIDI.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/Device/ClassDriver/MIDI/makefile b/Demos/Device/ClassDriver/MIDI/makefile
index c5a13c1a6..734253e0c 100644
--- a/Demos/Device/ClassDriver/MIDI/makefile
+++ b/Demos/Device/ClassDriver/MIDI/makefile
@@ -136,6 +136,7 @@ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/MIDI.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/MIDI.c \
# List C++ source files here. (C dependencies are automatically generated.)
diff --git a/Demos/Device/ClassDriver/MassStorage/Lib/DataflashManager.h b/Demos/Device/ClassDriver/MassStorage/Lib/DataflashManager.h
index b828051aa..8cf190727 100644
--- a/Demos/Device/ClassDriver/MassStorage/Lib/DataflashManager.h
+++ b/Demos/Device/ClassDriver/MassStorage/Lib/DataflashManager.h
@@ -64,8 +64,10 @@
#define VIRTUAL_MEMORY_BLOCKS (VIRTUAL_MEMORY_BYTES / VIRTUAL_MEMORY_BLOCK_SIZE)
/* Function Prototypes: */
- void DataflashManager_WriteBlocks(USB_ClassInfo_MS_t* MSInterfaceInfo, const uint32_t BlockAddress, uint16_t TotalBlocks);
- void DataflashManager_ReadBlocks(USB_ClassInfo_MS_t* MSInterfaceInfo, const uint32_t BlockAddress, uint16_t TotalBlocks);
+ void DataflashManager_WriteBlocks(USB_ClassInfo_MS_t* MSInterfaceInfo, const uint32_t BlockAddress,
+ uint16_t TotalBlocks);
+ void DataflashManager_ReadBlocks(USB_ClassInfo_MS_t* MSInterfaceInfo, const uint32_t BlockAddress,
+ uint16_t TotalBlocks);
void DataflashManager_WriteBlocks_RAM(const uint32_t BlockAddress, uint16_t TotalBlocks,
uint8_t* BufferPtr) ATTR_NON_NULL_PTR_ARG(3);
void DataflashManager_ReadBlocks_RAM(const uint32_t BlockAddress, uint16_t TotalBlocks,
diff --git a/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.h b/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.h
index 3fd751dee..8c3e104d9 100644
--- a/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.h
+++ b/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.h
@@ -41,7 +41,7 @@
#include <avr/pgmspace.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/MassStorage.h>
+ #include <LUFA/Drivers/USB/Class/MassStorage.h>
#include "MassStorage.h"
#include "Descriptors.h"
diff --git a/Demos/Device/ClassDriver/MassStorage/MassStorage.h b/Demos/Device/ClassDriver/MassStorage/MassStorage.h
index afc67dfd7..d9c298ead 100644
--- a/Demos/Device/ClassDriver/MassStorage/MassStorage.h
+++ b/Demos/Device/ClassDriver/MassStorage/MassStorage.h
@@ -51,7 +51,7 @@
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/Board/Buttons.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/MassStorage.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/Device/ClassDriver/MassStorage/makefile b/Demos/Device/ClassDriver/MassStorage/makefile
index 8b7f944df..24b7e03bd 100644
--- a/Demos/Device/ClassDriver/MassStorage/makefile
+++ b/Demos/Device/ClassDriver/MassStorage/makefile
@@ -138,6 +138,7 @@ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/MassStorage.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/MassStorage.c \
# List C++ source files here. (C dependencies are automatically generated.)
diff --git a/Demos/Device/ClassDriver/Mouse/Descriptors.h b/Demos/Device/ClassDriver/Mouse/Descriptors.h
index ef3215ca6..5d0babb49 100644
--- a/Demos/Device/ClassDriver/Mouse/Descriptors.h
+++ b/Demos/Device/ClassDriver/Mouse/Descriptors.h
@@ -40,7 +40,7 @@
#include <avr/pgmspace.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/HID.h>
+ #include <LUFA/Drivers/USB/Class/HID.h>
/* Type Defines: */
/** Type define for the device configuration descriptor structure. This must be defined in the
diff --git a/Demos/Device/ClassDriver/Mouse/Mouse.h b/Demos/Device/ClassDriver/Mouse/Mouse.h
index a64370058..6576cbe7a 100644
--- a/Demos/Device/ClassDriver/Mouse/Mouse.h
+++ b/Demos/Device/ClassDriver/Mouse/Mouse.h
@@ -51,7 +51,7 @@
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/Board/Buttons.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/HID.h>
+ #include <LUFA/Drivers/USB/Class/HID.h>
/* Type Defines: */
/** Type define for the mouse HID report structure, for creating and sending HID reports to the host PC.
diff --git a/Demos/Device/ClassDriver/Mouse/makefile b/Demos/Device/ClassDriver/Mouse/makefile
index 2ad7d6a8b..27252b9a4 100644
--- a/Demos/Device/ClassDriver/Mouse/makefile
+++ b/Demos/Device/ClassDriver/Mouse/makefile
@@ -136,7 +136,10 @@ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
-
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
+
+
# List C++ source files here. (C dependencies are automatically generated.)
CPPSRC =
diff --git a/Demos/Device/ClassDriver/RNDISEthernet/Lib/Ethernet.h b/Demos/Device/ClassDriver/RNDISEthernet/Lib/Ethernet.h
index b3002523a..0708268c6 100644
--- a/Demos/Device/ClassDriver/RNDISEthernet/Lib/Ethernet.h
+++ b/Demos/Device/ClassDriver/RNDISEthernet/Lib/Ethernet.h
@@ -40,7 +40,7 @@
#include <avr/io.h>
#include <string.h>
- #include <LUFA/Drivers/USB/Class/Device/RNDIS.h>
+ #include <LUFA/Drivers/USB/Class/RNDIS.h>
#include "EthernetProtocols.h"
#include "ProtocolDecoders.h"
diff --git a/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.h b/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.h
index 6db021d91..c5503e286 100644
--- a/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.h
+++ b/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.h
@@ -55,7 +55,7 @@
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/Board/Joystick.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/RNDIS.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/Device/ClassDriver/USBtoSerial/Descriptors.h b/Demos/Device/ClassDriver/USBtoSerial/Descriptors.h
index 9e372e35b..730acc601 100644
--- a/Demos/Device/ClassDriver/USBtoSerial/Descriptors.h
+++ b/Demos/Device/ClassDriver/USBtoSerial/Descriptors.h
@@ -40,7 +40,7 @@
#include <avr/pgmspace.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/CDC.h>
+ #include <LUFA/Drivers/USB/Class/CDC.h>
/* Macros: */
/** Endpoint number of the CDC device-to-host notification IN endpoint. */
diff --git a/Demos/Device/ClassDriver/USBtoSerial/USBtoSerial.h b/Demos/Device/ClassDriver/USBtoSerial/USBtoSerial.h
index d46358255..8aa29b6b4 100644
--- a/Demos/Device/ClassDriver/USBtoSerial/USBtoSerial.h
+++ b/Demos/Device/ClassDriver/USBtoSerial/USBtoSerial.h
@@ -51,7 +51,7 @@
#include <LUFA/Drivers/Board/Joystick.h>
#include <LUFA/Drivers/Peripheral/Serial.h>
#include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/USB/Class/Device/CDC.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/Device/ClassDriver/USBtoSerial/makefile b/Demos/Device/ClassDriver/USBtoSerial/makefile
index 9c47e1677..3c0089769 100644
--- a/Demos/Device/ClassDriver/USBtoSerial/makefile
+++ b/Demos/Device/ClassDriver/USBtoSerial/makefile
@@ -137,6 +137,7 @@ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/CDC.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/CDC.c \
# List C++ source files here. (C dependencies are automatically generated.)
diff --git a/Demos/Host/ClassDriver/CDCHost/CDCHost.c b/Demos/Host/ClassDriver/CDCHost/CDCHost.c
index 9a5e81ae4..9a9d8a71f 100644
--- a/Demos/Host/ClassDriver/CDCHost/CDCHost.c
+++ b/Demos/Host/ClassDriver/CDCHost/CDCHost.c
@@ -50,7 +50,6 @@ int main(void)
for (;;)
{
- CDC_Host_Task();
USB_USBTask();
}
}
@@ -121,111 +120,3 @@ void EVENT_USB_DeviceEnumerationFailed(const uint8_t ErrorCode, const uint8_t Su
LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
}
-
-/** Task to set the configuration of the attached device after it has been enumerated, and to read in
- * data received from the attached CDC device and print it to the serial port.
- */
-void CDC_Host_Task(void)
-{
- uint8_t ErrorCode;
-
- switch (USB_HostState)
- {
- case HOST_STATE_Addressed:
- /* Standard request to set the device configuration to configuration 1 */
- USB_ControlRequest = (USB_Request_Header_t)
- {
- .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE),
- .bRequest = REQ_SetConfiguration,
- .wValue = 1,
- .wIndex = 0,
- .wLength = 0,
- };
-
- /* Select the control pipe for the request transfer */
- Pipe_SelectPipe(PIPE_CONTROLPIPE);
-
- /* Send the request, display error and wait for device detach if request fails */
- if ((ErrorCode = USB_Host_SendControlRequest(NULL)) != HOST_SENDCONTROL_Successful)
- {
- puts_P(PSTR("Control Error (Set Configuration).\r\n"));
- printf_P(PSTR(" -- Error Code: %d\r\n"), ErrorCode);
-
- /* Indicate error via status LEDs */
- LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
-
- /* Wait until USB device disconnected */
- while (USB_IsConnected);
- break;
- }
-
- USB_HostState = HOST_STATE_Configured;
- break;
- case HOST_STATE_Configured:
- puts_P(PSTR("Getting Config Data.\r\n"));
-
- /* Get and process the configuration descriptor data */
- if ((ErrorCode = ProcessConfigurationDescriptor()) != SuccessfulConfigRead)
- {
- if (ErrorCode == ControlError)
- puts_P(PSTR("Control Error (Get Configuration).\r\n"));
- else
- puts_P(PSTR("Invalid Device.\r\n"));
-
- printf_P(PSTR(" -- Error Code: %d\r\n"), ErrorCode);
-
- /* Indicate error via status LEDs */
- LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
-
- /* Wait until USB device disconnected */
- while (USB_IsConnected);
- break;
- }
-
- puts_P(PSTR("CDC Device Enumerated.\r\n"));
-
- USB_HostState = HOST_STATE_Ready;
- break;
- case HOST_STATE_Ready:
- /* Select and the data IN pipe */
- Pipe_SelectPipe(CDC_DATAPIPE_IN);
-
- /* Check to see if a packet has been received */
- if (Pipe_IsINReceived())
- {
- /* Check if data is in the pipe */
- if (Pipe_IsReadWriteAllowed())
- {
- /* Get the length of the pipe data, and create a new buffer to hold it */
- uint16_t BufferLength = Pipe_BytesInPipe();
- uint8_t Buffer[BufferLength];
-
- /* Read in the pipe data to the temporary buffer */
- Pipe_Read_Stream_LE(Buffer, BufferLength);
-
- /* Print out the buffer contents to the USART */
- for (uint16_t BufferByte = 0; BufferByte < BufferLength; BufferByte++)
- putchar(Buffer[BufferByte]);
- }
-
- /* Clear the pipe after it is read, ready for the next packet */
- Pipe_ClearIN();
- }
-
- /* Select and unfreeze the notification pipe */
- Pipe_SelectPipe(CDC_NOTIFICATIONPIPE);
- Pipe_Unfreeze();
-
- /* Check if a packet has been received */
- if (Pipe_IsINReceived())
- {
- /* Discard the unused event notification */
- Pipe_ClearIN();
- }
-
- /* Freeze notification IN pipe after use */
- Pipe_Freeze();
-
- break;
- }
-}
diff --git a/Demos/Host/ClassDriver/CDCHost/CDCHost.h b/Demos/Host/ClassDriver/CDCHost/CDCHost.h
index 5dcbc8e8e..c219a193b 100644
--- a/Demos/Host/ClassDriver/CDCHost/CDCHost.h
+++ b/Demos/Host/ClassDriver/CDCHost/CDCHost.h
@@ -45,22 +45,12 @@
#include <LUFA/Version.h>
#include <LUFA/Drivers/Misc/TerminalCodes.h>
- #include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Drivers/Peripheral/SerialStream.h>
#include <LUFA/Drivers/Board/LEDs.h>
-
- #include "ConfigDescriptor.h"
+ #include <LUFA/Drivers/USB/USB.h>
+ #include <LUFA/Drivers/USB/Class/Host/CDC.h>
/* Macros: */
- /** Pipe number for the CDC data IN pipe */
- #define CDC_DATAPIPE_IN 1
-
- /** Pipe number for the CDC data OUT pipe */
- #define CDC_DATAPIPE_OUT 2
-
- /** Pipe number for the CDC notification pipe */
- #define CDC_NOTIFICATIONPIPE 3
-
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
#define LEDMASK_USB_NOTREADY LEDS_LED1
@@ -75,7 +65,6 @@
/* Function Prototypes: */
void SetupHardware(void);
- void CDC_Host_Task(void);
void EVENT_USB_HostError(const uint8_t ErrorCode);
void EVENT_USB_DeviceAttached(void);
diff --git a/Demos/Host/ClassDriver/CDCHost/makefile b/Demos/Host/ClassDriver/CDCHost/makefile
index dfbefbb80..94fdae681 100644
--- a/Demos/Host/ClassDriver/CDCHost/makefile
+++ b/Demos/Host/ClassDriver/CDCHost/makefile
@@ -124,7 +124,6 @@ LUFA_PATH = ../../../..
# List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \
- ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \
@@ -137,7 +136,9 @@ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
-
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/CDC.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/CDC.c \
+
# List C++ source files here. (C dependencies are automatically generated.)
CPPSRC =
diff --git a/Demos/Host/ClassDriver/GenericHIDHost/makefile b/Demos/Host/ClassDriver/GenericHIDHost/makefile
index a07acb438..49f8bf237 100644
--- a/Demos/Host/ClassDriver/GenericHIDHost/makefile
+++ b/Demos/Host/ClassDriver/GenericHIDHost/makefile
@@ -137,6 +137,8 @@ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
diff --git a/Demos/Host/ClassDriver/KeyboardHost/makefile b/Demos/Host/ClassDriver/KeyboardHost/makefile
index 6e005da0a..9bc1e6af1 100644
--- a/Demos/Host/ClassDriver/KeyboardHost/makefile
+++ b/Demos/Host/ClassDriver/KeyboardHost/makefile
@@ -137,7 +137,9 @@ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
-
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
# List C++ source files here. (C dependencies are automatically generated.)
CPPSRC =
diff --git a/Demos/Host/ClassDriver/KeyboardHostWithParser/makefile b/Demos/Host/ClassDriver/KeyboardHostWithParser/makefile
index 393551268..8b1f08b79 100644
--- a/Demos/Host/ClassDriver/KeyboardHostWithParser/makefile
+++ b/Demos/Host/ClassDriver/KeyboardHostWithParser/makefile
@@ -138,8 +138,10 @@ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
-
+
# List C++ source files here. (C dependencies are automatically generated.)
CPPSRC =
diff --git a/Demos/Host/ClassDriver/MassStorageHost/makefile b/Demos/Host/ClassDriver/MassStorageHost/makefile
index 709f42f61..91eb30297 100644
--- a/Demos/Host/ClassDriver/MassStorageHost/makefile
+++ b/Demos/Host/ClassDriver/MassStorageHost/makefile
@@ -138,6 +138,8 @@ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/MassStorage.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/MassStorage.c \
# List C++ source files here. (C dependencies are automatically generated.)
diff --git a/Demos/Host/ClassDriver/MouseHost/makefile b/Demos/Host/ClassDriver/MouseHost/makefile
index 67e05a63a..b3c62b0bd 100644
--- a/Demos/Host/ClassDriver/MouseHost/makefile
+++ b/Demos/Host/ClassDriver/MouseHost/makefile
@@ -137,7 +137,10 @@ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
-
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
+
# List C++ source files here. (C dependencies are automatically generated.)
CPPSRC =
diff --git a/Demos/Host/ClassDriver/MouseHostWithParser/makefile b/Demos/Host/ClassDriver/MouseHostWithParser/makefile
index 30e40ad45..1ae74da5f 100644
--- a/Demos/Host/ClassDriver/MouseHostWithParser/makefile
+++ b/Demos/Host/ClassDriver/MouseHostWithParser/makefile
@@ -138,8 +138,10 @@ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
-
+
# List C++ source files here. (C dependencies are automatically generated.)
CPPSRC =
diff --git a/Demos/Host/ClassDriver/StillImageHost/makefile b/Demos/Host/ClassDriver/StillImageHost/makefile
index a4428c565..184f4f9bb 100644
--- a/Demos/Host/ClassDriver/StillImageHost/makefile
+++ b/Demos/Host/ClassDriver/StillImageHost/makefile
@@ -137,7 +137,7 @@ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
-
+ $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/StillImage.c \
# List C++ source files here. (C dependencies are automatically generated.)
CPPSRC =
diff --git a/Demos/Host/LowLevel/CDCHost/CDCHost.h b/Demos/Host/LowLevel/CDCHost/CDCHost.h
index 5dcbc8e8e..fc6a7481f 100644
--- a/Demos/Host/LowLevel/CDCHost/CDCHost.h
+++ b/Demos/Host/LowLevel/CDCHost/CDCHost.h
@@ -73,6 +73,40 @@
/** 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: */
+ /** Class state structure. An instance of this structure should be made for each CDC interface
+ * within the user application, and passed to each of the CDC class driver functions as the
+ * CDCInterfaceInfo parameter. The contents of this structure should be set to their correct
+ * values when used, or ommitted to force the library to use default values.
+ */
+ typedef struct
+ {
+ uint8_t ControlInterfaceNumber; /**< Interface number of the CDC control interface within the device */
+
+ uint8_t DataINEndpointNumber; /**< Endpoint number of the CDC interface's IN data endpoint */
+ uint16_t DataINEndpointSize; /**< Size in bytes of the CDC interface's IN data endpoint */
+
+ uint8_t DataOUTEndpointNumber; /**< Endpoint number of the CDC interface's OUT data endpoint */
+ uint16_t DataOUTEndpointSize; /**< Size in bytes of the CDC interface's OUT data endpoint */
+
+ uint8_t NotificationEndpointNumber; /**< Endpoint number of the CDC interface's IN notification endpoint, if used */
+ uint16_t NotificationEndpointSize; /**< Size in bytes of the CDC interface's IN notification endpoint, if used */
+
+ uint8_t ControlLineState; /**< Current control line states, as set by the host */
+
+ struct
+ {
+ uint32_t BaudRateBPS; /**< Baud rate of the virtual serial port, in bits per second */
+ uint8_t CharFormat; /**< Character format of the virtual serial port, a value from the
+ * CDCDevice_CDC_LineCodingFormats_t enum
+ */
+ uint8_t ParityType; /**< Parity setting of the virtual serial port, a value from the
+ * CDCDevice_LineCodingParity_t enum
+ */
+ uint8_t DataBits; /**< Bits of data per character of the virtual serial port */
+ } LineEncoding;
+ } USB_ClassInfo_CDC_Host_t;
+
/* Function Prototypes: */
void SetupHardware(void);
void CDC_Host_Task(void);