aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-09-06 04:15:35 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-09-06 04:15:35 +0000
commit064e6a2f32719da5b7ed2ff3a8a32c5788e753d0 (patch)
tree1445c628dbba4a44b983a6856203a79fc597554f
parent6783bc4594177833d2b1047d77316e38cfe6a629 (diff)
downloadlufa-064e6a2f32719da5b7ed2ff3a8a32c5788e753d0.tar.gz
lufa-064e6a2f32719da5b7ed2ff3a8a32c5788e753d0.tar.bz2
lufa-064e6a2f32719da5b7ed2ff3a8a32c5788e753d0.zip
Changed Still Image Host class driver to auto-fill TransactionID element of sent headers depending on the current session state.
CDC based demos and project now work under 64 bit versions of Windows (thanks to Ronny Hanson, Thomas Bleeker). The Benito Programmer project now has its own unique VID/PID pair allocated from the Atmel donated LUFA VID/PID pool.
-rw-r--r--Bootloaders/CDC/LUFA CDC Bootloader.inf113
-rw-r--r--Demos/Device/ClassDriver/CDC/LUFA CDC.inf113
-rw-r--r--Demos/Device/ClassDriver/DualCDC/LUFA DualCDC.inf114
-rw-r--r--Demos/Device/ClassDriver/USBtoSerial/LUFA USBtoSerial.inf113
-rw-r--r--Demos/Device/LowLevel/CDC/LUFA CDC.inf113
-rw-r--r--Demos/Device/LowLevel/DualCDC/LUFA DualCDC.inf114
-rw-r--r--Demos/Device/LowLevel/USBtoSerial/LUFA USBtoSerial.inf113
-rw-r--r--Demos/Host/ClassDriver/StillImageHost/StillImageHost.c6
-rw-r--r--LUFA/Drivers/USB/Class/Host/StillImage.c52
-rw-r--r--LUFA/Drivers/USB/Class/Host/StillImage.h6
-rw-r--r--LUFA/ManPages/ChangeLog.txt2
-rw-r--r--LUFA/ManPages/LUFAPoweredProjects.txt2
-rw-r--r--LUFA/ManPages/VIDAndPIDValues.txt2
-rw-r--r--Projects/Benito/Benito Programmer.inf113
-rw-r--r--Projects/Benito/Descriptors.c4
15 files changed, 711 insertions, 269 deletions
diff --git a/Bootloaders/CDC/LUFA CDC Bootloader.inf b/Bootloaders/CDC/LUFA CDC Bootloader.inf
index 6df089ab7..80b8d69bc 100644
--- a/Bootloaders/CDC/LUFA CDC Bootloader.inf
+++ b/Bootloaders/CDC/LUFA CDC Bootloader.inf
@@ -1,55 +1,106 @@
-; Windows LUFA CDC Setup File
+;************************************************************
+; Windows USB CDC ACM Setup File
; Copyright (c) 2000 Microsoft Corporation
-[Version]
-Signature="$Windows NT$"
+
+[Version]
+Signature="$Windows NT$"
Class=Ports
-ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
-Provider=%COMPANY%
+ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
+Provider=%MFGNAME%
LayoutFile=layout.inf
-DriverVer=06/06/2006,1.0.0.0
+CatalogFile=%MFGFILENAME%.cat
+DriverVer=11/15/2007,5.1.2600.0
-[Manufacturer]
-%MFGNAME% = ManufName
+[Manufacturer]
+%MFGNAME%=DeviceList, NTamd64
-[DestinationDirs]
-DefaultDestDir=12
+[DestinationDirs]
+DefaultDestDir=12
-[ManufName]
-%Modem3% = Modem3, USB\VID_03EB&PID_204A
;------------------------------------------------------------------------------
-; Windows 2000/XP Sections
+; Windows 2000/XP/Vista-32bit Sections
;------------------------------------------------------------------------------
-[Modem3.nt]
-CopyFiles=USBModemCopyFileSection
-AddReg=Modem3.nt.AddReg
+[DriverInstall.nt]
+include=mdmcpq.inf
+CopyFiles=DriverCopyFiles.nt
+AddReg=DriverInstall.nt.AddReg
-[USBModemCopyFileSection]
+[DriverCopyFiles.nt]
usbser.sys,,,0x20
-[Modem3.nt.AddReg]
-HKR,,DevLoader,,*ntkern
-HKR,,NTMPDriver,,usbser.sys
-HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+[DriverInstall.nt.AddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
-[Modem3.nt.Services]
-AddService=usbser, 0x00000002, DriverService
+[DriverInstall.nt.Services]
+AddService=usbser, 0x00000002, DriverService.nt
-[DriverService]
+[DriverService.nt]
DisplayName=%SERVICE%
ServiceType=1
StartType=3
ErrorControl=1
-ServiceBinary=%12%\usbser.sys
+ServiceBinary=%12%\%DRIVERFILENAME%.sys
;------------------------------------------------------------------------------
-; String Definitions
+; Vista-64bit Sections
+;------------------------------------------------------------------------------
+
+[DriverInstall.NTamd64]
+include=mdmcpq.inf
+CopyFiles=DriverCopyFiles.NTamd64
+AddReg=DriverInstall.NTamd64.AddReg
+
+[DriverCopyFiles.NTamd64]
+%DRIVERFILENAME%.sys,,,0x20
+
+[DriverInstall.NTamd64.AddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+
+[DriverInstall.NTamd64.Services]
+AddService=usbser, 0x00000002, DriverService.NTamd64
+
+[DriverService.NTamd64]
+DisplayName=%SERVICE%
+ServiceType=1
+StartType=3
+ErrorControl=1
+ServiceBinary=%12%\%DRIVERFILENAME%.sys
+
+
;------------------------------------------------------------------------------
+; Vendor and Product ID Definitions
+;------------------------------------------------------------------------------
+; When developing your USB device, the VID and PID used in the PC side
+; application program and the firmware on the microcontroller must match.
+; Modify the below line to use your VID and PID. Use the format as shown below.
+; Note: One INF file can be used for multiple devices with different VID and PIDs.
+; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
+;------------------------------------------------------------------------------
+[SourceDisksFiles]
+[SourceDisksNames]
+[DeviceList]
+%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204A
+
+[DeviceList.NTamd64]
+%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204A
-[Strings]
-COMPANY="LUFA Library"
-MFGNAME="Dean Camera"
-Modem3="USB AVR109 Bootloader"
-SERVICE="USB Virtual Serial Port CDC Driver" \ No newline at end of file
+
+;------------------------------------------------------------------------------
+; String Definitions
+;------------------------------------------------------------------------------
+;Modify these strings to customize your device
+;------------------------------------------------------------------------------
+[Strings]
+MFGFILENAME="CDC_vista"
+DRIVERFILENAME ="usbser"
+MFGNAME="CCS, Inc."
+INSTDISK="LUFA CDC Bootloader Driver Installer"
+DESCRIPTION="Communications Port"
+SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file
diff --git a/Demos/Device/ClassDriver/CDC/LUFA CDC.inf b/Demos/Device/ClassDriver/CDC/LUFA CDC.inf
index d9d9ed63a..4cdf59435 100644
--- a/Demos/Device/ClassDriver/CDC/LUFA CDC.inf
+++ b/Demos/Device/ClassDriver/CDC/LUFA CDC.inf
@@ -1,55 +1,106 @@
-; Windows LUFA CDC Setup File
+;************************************************************
+; Windows USB CDC ACM Setup File
; Copyright (c) 2000 Microsoft Corporation
-[Version]
-Signature="$Windows NT$"
+
+[Version]
+Signature="$Windows NT$"
Class=Ports
-ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
-Provider=%COMPANY%
+ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
+Provider=%MFGNAME%
LayoutFile=layout.inf
-DriverVer=06/06/2006,1.0.0.0
+CatalogFile=%MFGFILENAME%.cat
+DriverVer=11/15/2007,5.1.2600.0
-[Manufacturer]
-%MFGNAME% = ManufName
+[Manufacturer]
+%MFGNAME%=DeviceList, NTamd64
-[DestinationDirs]
-DefaultDestDir=12
+[DestinationDirs]
+DefaultDestDir=12
-[ManufName]
-%Modem3% = Modem3, USB\VID_03EB&PID_2044
;------------------------------------------------------------------------------
-; Windows 2000/XP Sections
+; Windows 2000/XP/Vista-32bit Sections
;------------------------------------------------------------------------------
-[Modem3.nt]
-CopyFiles=USBModemCopyFileSection
-AddReg=Modem3.nt.AddReg
+[DriverInstall.nt]
+include=mdmcpq.inf
+CopyFiles=DriverCopyFiles.nt
+AddReg=DriverInstall.nt.AddReg
-[USBModemCopyFileSection]
+[DriverCopyFiles.nt]
usbser.sys,,,0x20
-[Modem3.nt.AddReg]
-HKR,,DevLoader,,*ntkern
-HKR,,NTMPDriver,,usbser.sys
-HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+[DriverInstall.nt.AddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
-[Modem3.nt.Services]
-AddService=usbser, 0x00000002, DriverService
+[DriverInstall.nt.Services]
+AddService=usbser, 0x00000002, DriverService.nt
-[DriverService]
+[DriverService.nt]
DisplayName=%SERVICE%
ServiceType=1
StartType=3
ErrorControl=1
-ServiceBinary=%12%\usbser.sys
+ServiceBinary=%12%\%DRIVERFILENAME%.sys
;------------------------------------------------------------------------------
-; String Definitions
+; Vista-64bit Sections
+;------------------------------------------------------------------------------
+
+[DriverInstall.NTamd64]
+include=mdmcpq.inf
+CopyFiles=DriverCopyFiles.NTamd64
+AddReg=DriverInstall.NTamd64.AddReg
+
+[DriverCopyFiles.NTamd64]
+%DRIVERFILENAME%.sys,,,0x20
+
+[DriverInstall.NTamd64.AddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+
+[DriverInstall.NTamd64.Services]
+AddService=usbser, 0x00000002, DriverService.NTamd64
+
+[DriverService.NTamd64]
+DisplayName=%SERVICE%
+ServiceType=1
+StartType=3
+ErrorControl=1
+ServiceBinary=%12%\%DRIVERFILENAME%.sys
+
+
;------------------------------------------------------------------------------
+; Vendor and Product ID Definitions
+;------------------------------------------------------------------------------
+; When developing your USB device, the VID and PID used in the PC side
+; application program and the firmware on the microcontroller must match.
+; Modify the below line to use your VID and PID. Use the format as shown below.
+; Note: One INF file can be used for multiple devices with different VID and PIDs.
+; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
+;------------------------------------------------------------------------------
+[SourceDisksFiles]
+[SourceDisksNames]
+[DeviceList]
+%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
+
+[DeviceList.NTamd64]
+%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
-[Strings]
-COMPANY="LUFA Library"
-MFGNAME="Dean Camera"
-Modem3="USB Virtual Serial Port"
-SERVICE="USB Virtual Serial Port CDC Driver" \ No newline at end of file
+
+;------------------------------------------------------------------------------
+; String Definitions
+;------------------------------------------------------------------------------
+;Modify these strings to customize your device
+;------------------------------------------------------------------------------
+[Strings]
+MFGFILENAME="CDC_vista"
+DRIVERFILENAME ="usbser"
+MFGNAME="CCS, Inc."
+INSTDISK="LUFA CDC Driver Installer"
+DESCRIPTION="Communications Port"
+SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file
diff --git a/Demos/Device/ClassDriver/DualCDC/LUFA DualCDC.inf b/Demos/Device/ClassDriver/DualCDC/LUFA DualCDC.inf
index 10ba560f8..741bf28eb 100644
--- a/Demos/Device/ClassDriver/DualCDC/LUFA DualCDC.inf
+++ b/Demos/Device/ClassDriver/DualCDC/LUFA DualCDC.inf
@@ -1,56 +1,106 @@
-; Windows LUFA Dual CDC Setup File
+;************************************************************
+; Windows USB CDC ACM Setup File
; Copyright (c) 2000 Microsoft Corporation
-[Version]
-Signature="$Windows NT$"
+
+[Version]
+Signature="$Windows NT$"
Class=Ports
-ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
-Provider=%COMPANY%
+ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
+Provider=%MFGNAME%
LayoutFile=layout.inf
-DriverVer=06/06/2006,1.0.0.0
+CatalogFile=%MFGFILENAME%.cat
+DriverVer=11/15/2007,5.1.2600.0
-[Manufacturer]
-%MFGNAME% = ManufName
+[Manufacturer]
+%MFGNAME%=DeviceList, NTamd64
-[DestinationDirs]
-DefaultDestDir=12
+[DestinationDirs]
+DefaultDestDir=12
-[ManufName]
-%Modem3% = Modem3, USB\VID_03EB&PID_204E&MI_00
-%Modem3% = Modem3, USB\VID_03EB&PID_204E&MI_02
;------------------------------------------------------------------------------
-; Windows 2000/XP Sections
+; Windows 2000/XP/Vista-32bit Sections
;------------------------------------------------------------------------------
-[Modem3.nt]
-CopyFiles=USBModemCopyFileSection
-AddReg=Modem3.nt.AddReg
+[DriverInstall.nt]
+include=mdmcpq.inf
+CopyFiles=DriverCopyFiles.nt
+AddReg=DriverInstall.nt.AddReg
-[USBModemCopyFileSection]
+[DriverCopyFiles.nt]
usbser.sys,,,0x20
-[Modem3.nt.AddReg]
-HKR,,DevLoader,,*ntkern
-HKR,,NTMPDriver,,usbser.sys
-HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+[DriverInstall.nt.AddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
-[Modem3.nt.Services]
-AddService=usbser, 0x00000002, DriverService
+[DriverInstall.nt.Services]
+AddService=usbser, 0x00000002, DriverService.nt
-[DriverService]
+[DriverService.nt]
DisplayName=%SERVICE%
ServiceType=1
StartType=3
ErrorControl=1
-ServiceBinary=%12%\usbser.sys
+ServiceBinary=%12%\%DRIVERFILENAME%.sys
;------------------------------------------------------------------------------
-; String Definitions
+; Vista-64bit Sections
+;------------------------------------------------------------------------------
+
+[DriverInstall.NTamd64]
+include=mdmcpq.inf
+CopyFiles=DriverCopyFiles.NTamd64
+AddReg=DriverInstall.NTamd64.AddReg
+
+[DriverCopyFiles.NTamd64]
+%DRIVERFILENAME%.sys,,,0x20
+
+[DriverInstall.NTamd64.AddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+
+[DriverInstall.NTamd64.Services]
+AddService=usbser, 0x00000002, DriverService.NTamd64
+
+[DriverService.NTamd64]
+DisplayName=%SERVICE%
+ServiceType=1
+StartType=3
+ErrorControl=1
+ServiceBinary=%12%\%DRIVERFILENAME%.sys
+
+
;------------------------------------------------------------------------------
+; Vendor and Product ID Definitions
+;------------------------------------------------------------------------------
+; When developing your USB device, the VID and PID used in the PC side
+; application program and the firmware on the microcontroller must match.
+; Modify the below line to use your VID and PID. Use the format as shown below.
+; Note: One INF file can be used for multiple devices with different VID and PIDs.
+; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
+;------------------------------------------------------------------------------
+[SourceDisksFiles]
+[SourceDisksNames]
+[DeviceList]
+%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204E&MI_00, USB\VID_03EB&PID_204E&MI_02
+
+[DeviceList.NTamd64]
+%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204E&MI_00, USB\VID_03EB&PID_204E&MI_02
-[Strings]
-COMPANY="LUFA Library"
-MFGNAME="Dean Camera"
-Modem3="USB Virtual Serial Port"
-SERVICE="USB Virtual Serial Port CDC Driver" \ No newline at end of file
+
+;------------------------------------------------------------------------------
+; String Definitions
+;------------------------------------------------------------------------------
+;Modify these strings to customize your device
+;------------------------------------------------------------------------------
+[Strings]
+MFGFILENAME="CDC_vista"
+DRIVERFILENAME ="usbser"
+MFGNAME="CCS, Inc."
+INSTDISK="LUFA Dual CDC Driver Installer"
+DESCRIPTION="Communications Port"
+SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file
diff --git a/Demos/Device/ClassDriver/USBtoSerial/LUFA USBtoSerial.inf b/Demos/Device/ClassDriver/USBtoSerial/LUFA USBtoSerial.inf
index bd9c8bf14..10a6a8ce2 100644
--- a/Demos/Device/ClassDriver/USBtoSerial/LUFA USBtoSerial.inf
+++ b/Demos/Device/ClassDriver/USBtoSerial/LUFA USBtoSerial.inf
@@ -1,55 +1,106 @@
-; Windows LUFA USB to Serial Setup File
+;************************************************************
+; Windows USB CDC ACM Setup File
; Copyright (c) 2000 Microsoft Corporation
-[Version]
-Signature="$Windows NT$"
+
+[Version]
+Signature="$Windows NT$"
Class=Ports
-ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
-Provider=%COMPANY%
+ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
+Provider=%MFGNAME%
LayoutFile=layout.inf
-DriverVer=06/06/2006,1.0.0.0
+CatalogFile=%MFGFILENAME%.cat
+DriverVer=11/15/2007,5.1.2600.0
-[Manufacturer]
-%MFGNAME% = ManufName
+[Manufacturer]
+%MFGNAME%=DeviceList, NTamd64
-[DestinationDirs]
-DefaultDestDir=12
+[DestinationDirs]
+DefaultDestDir=12
-[ManufName]
-%Modem3% = Modem3, USB\VID_03EB&PID_204B
;------------------------------------------------------------------------------
-; Windows 2000/XP Sections
+; Windows 2000/XP/Vista-32bit Sections
;------------------------------------------------------------------------------
-[Modem3.nt]
-CopyFiles=USBModemCopyFileSection
-AddReg=Modem3.nt.AddReg
+[DriverInstall.nt]
+include=mdmcpq.inf
+CopyFiles=DriverCopyFiles.nt
+AddReg=DriverInstall.nt.AddReg
-[USBModemCopyFileSection]
+[DriverCopyFiles.nt]
usbser.sys,,,0x20
-[Modem3.nt.AddReg]
-HKR,,DevLoader,,*ntkern
-HKR,,NTMPDriver,,usbser.sys
-HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+[DriverInstall.nt.AddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
-[Modem3.nt.Services]
-AddService=usbser, 0x00000002, DriverService
+[DriverInstall.nt.Services]
+AddService=usbser, 0x00000002, DriverService.nt
-[DriverService]
+[DriverService.nt]
DisplayName=%SERVICE%
ServiceType=1
StartType=3
ErrorControl=1
-ServiceBinary=%12%\usbser.sys
+ServiceBinary=%12%\%DRIVERFILENAME%.sys
;------------------------------------------------------------------------------
-; String Definitions
+; Vista-64bit Sections
+;------------------------------------------------------------------------------
+
+[DriverInstall.NTamd64]
+include=mdmcpq.inf
+CopyFiles=DriverCopyFiles.NTamd64
+AddReg=DriverInstall.NTamd64.AddReg
+
+[DriverCopyFiles.NTamd64]
+%DRIVERFILENAME%.sys,,,0x20
+
+[DriverInstall.NTamd64.AddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+
+[DriverInstall.NTamd64.Services]
+AddService=usbser, 0x00000002, DriverService.NTamd64
+
+[DriverService.NTamd64]
+DisplayName=%SERVICE%
+ServiceType=1
+StartType=3
+ErrorControl=1
+ServiceBinary=%12%\%DRIVERFILENAME%.sys
+
+
;------------------------------------------------------------------------------
+; Vendor and Product ID Definitions
+;------------------------------------------------------------------------------
+; When developing your USB device, the VID and PID used in the PC side
+; application program and the firmware on the microcontroller must match.
+; Modify the below line to use your VID and PID. Use the format as shown below.
+; Note: One INF file can be used for multiple devices with different VID and PIDs.
+; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
+;------------------------------------------------------------------------------
+[SourceDisksFiles]
+[SourceDisksNames]
+[DeviceList]
+%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204B
+
+[DeviceList.NTamd64]
+%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204B
-[Strings]
-COMPANY="LUFA Library"
-MFGNAME="Dean Camera"
-Modem3="USB Virtual Serial Port"
-SERVICE="USB Virtual Serial Port CDC Driver" \ No newline at end of file
+
+;------------------------------------------------------------------------------
+; String Definitions
+;------------------------------------------------------------------------------
+;Modify these strings to customize your device
+;------------------------------------------------------------------------------
+[Strings]
+MFGFILENAME="CDC_vista"
+DRIVERFILENAME ="usbser"
+MFGNAME="CCS, Inc."
+INSTDISK="LUFA USB-RS232 CDC Driver Installer"
+DESCRIPTION="Communications Port"
+SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file
diff --git a/Demos/Device/LowLevel/CDC/LUFA CDC.inf b/Demos/Device/LowLevel/CDC/LUFA CDC.inf
index d9d9ed63a..4cdf59435 100644
--- a/Demos/Device/LowLevel/CDC/LUFA CDC.inf
+++ b/Demos/Device/LowLevel/CDC/LUFA CDC.inf
@@ -1,55 +1,106 @@
-; Windows LUFA CDC Setup File
+;************************************************************
+; Windows USB CDC ACM Setup File
; Copyright (c) 2000 Microsoft Corporation
-[Version]
-Signature="$Windows NT$"
+
+[Version]
+Signature="$Windows NT$"
Class=Ports
-ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
-Provider=%COMPANY%
+ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
+Provider=%MFGNAME%
LayoutFile=layout.inf
-DriverVer=06/06/2006,1.0.0.0
+CatalogFile=%MFGFILENAME%.cat
+DriverVer=11/15/2007,5.1.2600.0
-[Manufacturer]
-%MFGNAME% = ManufName
+[Manufacturer]
+%MFGNAME%=DeviceList, NTamd64
-[DestinationDirs]
-DefaultDestDir=12
+[DestinationDirs]
+DefaultDestDir=12
-[ManufName]
-%Modem3% = Modem3, USB\VID_03EB&PID_2044
;------------------------------------------------------------------------------
-; Windows 2000/XP Sections
+; Windows 2000/XP/Vista-32bit Sections
;------------------------------------------------------------------------------
-[Modem3.nt]
-CopyFiles=USBModemCopyFileSection
-AddReg=Modem3.nt.AddReg
+[DriverInstall.nt]
+include=mdmcpq.inf
+CopyFiles=DriverCopyFiles.nt
+AddReg=DriverInstall.nt.AddReg
-[USBModemCopyFileSection]
+[DriverCopyFiles.nt]
usbser.sys,,,0x20
-[Modem3.nt.AddReg]
-HKR,,DevLoader,,*ntkern
-HKR,,NTMPDriver,,usbser.sys
-HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+[DriverInstall.nt.AddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
-[Modem3.nt.Services]
-AddService=usbser, 0x00000002, DriverService
+[DriverInstall.nt.Services]
+AddService=usbser, 0x00000002, DriverService.nt
-[DriverService]
+[DriverService.nt]
DisplayName=%SERVICE%
ServiceType=1
StartType=3
ErrorControl=1
-ServiceBinary=%12%\usbser.sys
+ServiceBinary=%12%\%DRIVERFILENAME%.sys
;------------------------------------------------------------------------------
-; String Definitions
+; Vista-64bit Sections
+;------------------------------------------------------------------------------
+
+[DriverInstall.NTamd64]
+include=mdmcpq.inf
+CopyFiles=DriverCopyFiles.NTamd64
+AddReg=DriverInstall.NTamd64.AddReg
+
+[DriverCopyFiles.NTamd64]
+%DRIVERFILENAME%.sys,,,0x20
+
+[DriverInstall.NTamd64.AddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+
+[DriverInstall.NTamd64.Services]
+AddService=usbser, 0x00000002, DriverService.NTamd64
+
+[DriverService.NTamd64]
+DisplayName=%SERVICE%
+ServiceType=1
+StartType=3
+ErrorControl=1
+ServiceBinary=%12%\%DRIVERFILENAME%.sys
+
+
;------------------------------------------------------------------------------
+; Vendor and Product ID Definitions
+;------------------------------------------------------------------------------
+; When developing your USB device, the VID and PID used in the PC side
+; application program and the firmware on the microcontroller must match.
+; Modify the below line to use your VID and PID. Use the format as shown below.
+; Note: One INF file can be used for multiple devices with different VID and PIDs.
+; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
+;------------------------------------------------------------------------------
+[SourceDisksFiles]
+[SourceDisksNames]
+[DeviceList]
+%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
+
+[DeviceList.NTamd64]
+%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
-[Strings]
-COMPANY="LUFA Library"
-MFGNAME="Dean Camera"
-Modem3="USB Virtual Serial Port"
-SERVICE="USB Virtual Serial Port CDC Driver" \ No newline at end of file
+
+;------------------------------------------------------------------------------
+; String Definitions
+;------------------------------------------------------------------------------
+;Modify these strings to customize your device
+;------------------------------------------------------------------------------
+[Strings]
+MFGFILENAME="CDC_vista"
+DRIVERFILENAME ="usbser"
+MFGNAME="CCS, Inc."
+INSTDISK="LUFA CDC Driver Installer"
+DESCRIPTION="Communications Port"
+SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file
diff --git a/Demos/Device/LowLevel/DualCDC/LUFA DualCDC.inf b/Demos/Device/LowLevel/DualCDC/LUFA DualCDC.inf
index 10ba560f8..741bf28eb 100644
--- a/Demos/Device/LowLevel/DualCDC/LUFA DualCDC.inf
+++ b/Demos/Device/LowLevel/DualCDC/LUFA DualCDC.inf
@@ -1,56 +1,106 @@
-; Windows LUFA Dual CDC Setup File
+;************************************************************
+; Windows USB CDC ACM Setup File
; Copyright (c) 2000 Microsoft Corporation
-[Version]
-Signature="$Windows NT$"
+
+[Version]
+Signature="$Windows NT$"
Class=Ports
-ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
-Provider=%COMPANY%
+ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
+Provider=%MFGNAME%
LayoutFile=layout.inf
-DriverVer=06/06/2006,1.0.0.0
+CatalogFile=%MFGFILENAME%.cat
+DriverVer=11/15/2007,5.1.2600.0
-[Manufacturer]
-%MFGNAME% = ManufName
+[Manufacturer]
+%MFGNAME%=DeviceList, NTamd64
-[DestinationDirs]
-DefaultDestDir=12
+[DestinationDirs]
+DefaultDestDir=12
-[ManufName]
-%Modem3% = Modem3, USB\VID_03EB&PID_204E&MI_00
-%Modem3% = Modem3, USB\VID_03EB&PID_204E&MI_02
;------------------------------------------------------------------------------
-; Windows 2000/XP Sections
+; Windows 2000/XP/Vista-32bit Sections
;------------------------------------------------------------------------------
-[Modem3.nt]
-CopyFiles=USBModemCopyFileSection
-AddReg=Modem3.nt.AddReg
+[DriverInstall.nt]
+include=mdmcpq.inf
+CopyFiles=DriverCopyFiles.nt
+AddReg=DriverInstall.nt.AddReg
-[USBModemCopyFileSection]
+[DriverCopyFiles.nt]
usbser.sys,,,0x20
-[Modem3.nt.AddReg]
-HKR,,DevLoader,,*ntkern
-HKR,,NTMPDriver,,usbser.sys
-HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+[DriverInstall.nt.AddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
-[Modem3.nt.Services]
-AddService=usbser, 0x00000002, DriverService
+[DriverInstall.nt.Services]
+AddService=usbser, 0x00000002, DriverService.nt
-[DriverService]
+[DriverService.nt]
DisplayName=%SERVICE%
ServiceType=1
StartType=3
ErrorControl=1
-ServiceBinary=%12%\usbser.sys
+ServiceBinary=%12%\%DRIVERFILENAME%.sys
;------------------------------------------------------------------------------
-; String Definitions
+; Vista-64bit Sections
+;------------------------------------------------------------------------------
+
+[DriverInstall.NTamd64]
+include=mdmcpq.inf
+CopyFiles=DriverCopyFiles.NTamd64
+AddReg=DriverInstall.NTamd64.AddReg
+
+[DriverCopyFiles.NTamd64]
+%DRIVERFILENAME%.sys,,,0x20
+
+[DriverInstall.NTamd64.AddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+
+[DriverInstall.NTamd64.Services]
+AddService=usbser, 0x00000002, DriverService.NTamd64
+
+[DriverService.NTamd64]
+DisplayName=%SERVICE%
+ServiceType=1
+StartType=3
+ErrorControl=1
+ServiceBinary=%12%\%DRIVERFILENAME%.sys
+
+
;------------------------------------------------------------------------------
+; Vendor and Product ID Definitions
+;------------------------------------------------------------------------------
+; When developing your USB device, the VID and PID used in the PC side
+; application program and the firmware on the microcontroller must match.
+; Modify the below line to use your VID and PID. Use the format as shown below.
+; Note: One INF file can be used for multiple devices with different VID and PIDs.
+; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
+;------------------------------------------------------------------------------
+[SourceDisksFiles]
+[SourceDisksNames]
+[DeviceList]
+%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204E&MI_00, USB\VID_03EB&PID_204E&MI_02
+
+[DeviceList.NTamd64]
+%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204E&MI_00, USB\VID_03EB&PID_204E&MI_02
-[Strings]
-COMPANY="LUFA Library"
-MFGNAME="Dean Camera"
-Modem3="USB Virtual Serial Port"
-SERVICE="USB Virtual Serial Port CDC Driver" \ No newline at end of file
+
+;------------------------------------------------------------------------------
+; String Definitions
+;------------------------------------------------------------------------------
+;Modify these strings to customize your device
+;------------------------------------------------------------------------------
+[Strings]
+MFGFILENAME="CDC_vista"
+DRIVERFILENAME ="usbser"
+MFGNAME="CCS, Inc."
+INSTDISK="LUFA Dual CDC Driver Installer"
+DESCRIPTION="Communications Port"
+SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file
diff --git a/Demos/Device/LowLevel/USBtoSerial/LUFA USBtoSerial.inf b/Demos/Device/LowLevel/USBtoSerial/LUFA USBtoSerial.inf
index bd9c8bf14..10a6a8ce2 100644
--- a/Demos/Device/LowLevel/USBtoSerial/LUFA USBtoSerial.inf
+++ b/Demos/Device/LowLevel/USBtoSerial/LUFA USBtoSerial.inf
@@ -1,55 +1,106 @@
-; Windows LUFA USB to Serial Setup File
+;************************************************************
+; Windows USB CDC ACM Setup File
; Copyright (c) 2000 Microsoft Corporation
-[Version]
-Signature="$Windows NT$"
+
+[Version]
+Signature="$Windows NT$"
Class=Ports
-ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
-Provider=%COMPANY%
+ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
+Provider=%MFGNAME%
LayoutFile=layout.inf
-DriverVer=06/06/2006,1.0.0.0
+CatalogFile=%MFGFILENAME%.cat
+DriverVer=11/15/2007,5.1.2600.0
-[Manufacturer]
-%MFGNAME% = ManufName
+[Manufacturer]
+%MFGNAME%=DeviceList, NTamd64
-[DestinationDirs]
-DefaultDestDir=12
+[DestinationDirs]
+DefaultDestDir=12
-[ManufName]
-%Modem3% = Modem3, USB\VID_03EB&PID_204B
;------------------------------------------------------------------------------
-; Windows 2000/XP Sections
+; Windows 2000/XP/Vista-32bit Sections
;------------------------------------------------------------------------------
-[Modem3.nt]
-CopyFiles=USBModemCopyFileSection
-AddReg=Modem3.nt.AddReg
+[DriverInstall.nt]
+include=mdmcpq.inf
+CopyFiles=DriverCopyFiles.nt
+AddReg=DriverInstall.nt.AddReg
-[USBModemCopyFileSection]
+[DriverCopyFiles.nt]
usbser.sys,,,0x20
-[Modem3.nt.AddReg]
-HKR,,DevLoader,,*ntkern
-HKR,,NTMPDriver,,usbser.sys
-HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+[DriverInstall.nt.AddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
-[Modem3.nt.Services]
-AddService=usbser, 0x00000002, DriverService
+[DriverInstall.nt.Services]
+AddService=usbser, 0x00000002, DriverService.nt
-[DriverService]
+[DriverService.nt]
DisplayName=%SERVICE%
ServiceType=1
StartType=3
ErrorControl=1
-ServiceBinary=%12%\usbser.sys
+ServiceBinary=%12%\%DRIVERFILENAME%.sys
;------------------------------------------------------------------------------
-; String Definitions
+; Vista-64bit Sections
+;------------------------------------------------------------------------------
+
+[DriverInstall.NTamd64]
+include=mdmcpq.inf
+CopyFiles=DriverCopyFiles.NTamd64
+AddReg=DriverInstall.NTamd64.AddReg
+
+[DriverCopyFiles.NTamd64]
+%DRIVERFILENAME%.sys,,,0x20
+
+[DriverInstall.NTamd64.AddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+
+[DriverInstall.NTamd64.Services]
+AddService=usbser, 0x00000002, DriverService.NTamd64
+
+[DriverService.NTamd64]
+DisplayName=%SERVICE%
+ServiceType=1
+StartType=3
+ErrorControl=1
+ServiceBinary=%12%\%DRIVERFILENAME%.sys
+
+
;------------------------------------------------------------------------------
+; Vendor and Product ID Definitions
+;------------------------------------------------------------------------------
+; When developing your USB device, the VID and PID used in the PC side
+; application program and the firmware on the microcontroller must match.
+; Modify the below line to use your VID and PID. Use the format as shown below.
+; Note: One INF file can be used for multiple devices with different VID and PIDs.
+; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
+;------------------------------------------------------------------------------
+[SourceDisksFiles]
+[SourceDisksNames]
+[DeviceList]
+%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204B
+
+[DeviceList.NTamd64]
+%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204B
-[Strings]
-COMPANY="LUFA Library"
-MFGNAME="Dean Camera"
-Modem3="USB Virtual Serial Port"
-SERVICE="USB Virtual Serial Port CDC Driver" \ No newline at end of file
+
+;------------------------------------------------------------------------------
+; String Definitions
+;------------------------------------------------------------------------------
+;Modify these strings to customize your device
+;------------------------------------------------------------------------------
+[Strings]
+MFGFILENAME="CDC_vista"
+DRIVERFILENAME ="usbser"
+MFGNAME="CCS, Inc."
+INSTDISK="LUFA USB-RS232 CDC Driver Installer"
+DESCRIPTION="Communications Port"
+SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file
diff --git a/Demos/Host/ClassDriver/StillImageHost/StillImageHost.c b/Demos/Host/ClassDriver/StillImageHost/StillImageHost.c
index d60db097b..ef073abd5 100644
--- a/Demos/Host/ClassDriver/StillImageHost/StillImageHost.c
+++ b/Demos/Host/ClassDriver/StillImageHost/StillImageHost.c
@@ -110,6 +110,10 @@ int main(void)
break;
}
+ printf("Turning off Device...\r\n");
+ SImage_Host_SendCommand(&DigitalCamera_SI_Interface, 0x1013, 0, 0, 0, 0, NULL);
+ printf("Device Off.\r\n");
+
printf("Closing Session...\r\n");
if (SImage_Host_CloseSession(&DigitalCamera_SI_Interface) != PIPE_RWSTREAM_NoError)
@@ -119,8 +123,6 @@ int main(void)
break;
}
- printf("Device Idle.\r\n");
-
LEDs_SetAllLEDs(LEDMASK_USB_READY);
USB_HostState = HOST_STATE_WaitForDeviceRemoval;
break;
diff --git a/LUFA/Drivers/USB/Class/Host/StillImage.c b/LUFA/Drivers/USB/Class/Host/StillImage.c
index a3b150848..ecaed3a89 100644
--- a/LUFA/Drivers/USB/Class/Host/StillImage.c
+++ b/LUFA/Drivers/USB/Class/Host/StillImage.c
@@ -153,10 +153,7 @@ static uint8_t SImage_Host_SendBlockHeader(USB_ClassInfo_SI_Host_t* SIInterfaceI
{
uint8_t ErrorCode;
- if (SIInterfaceInfo->State.IsSessionOpen)
- PIMAHeader->TransactionID = SIInterfaceInfo->State.TransactionID++;
- else
- PIMAHeader->TransactionID = 0;
+ PIMAHeader->TransactionID = SIInterfaceInfo->State.TransactionID++;
Pipe_SelectPipe(SIInterfaceInfo->Config.DataOUTPipeNumber);
Pipe_Unfreeze();
@@ -164,15 +161,12 @@ static uint8_t SImage_Host_SendBlockHeader(USB_ClassInfo_SI_Host_t* SIInterfaceI
if ((ErrorCode = Pipe_Write_Stream_LE(PIMAHeader, PIMA_COMMAND_SIZE(0), NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)
return ErrorCode;
- if (PIMAHeader->Type == CType_CommandBlock)
- {
- uint8_t ParamBytes = (PIMAHeader->DataLength - PIMA_COMMAND_SIZE(0));
+ uint8_t ParamBytes = (PIMAHeader->DataLength - PIMA_COMMAND_SIZE(0));
- if (ParamBytes)
- {
- if ((ErrorCode = Pipe_Write_Stream_LE(&PIMAHeader->Params, ParamBytes, NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)
- return ErrorCode;
- }
+ if (ParamBytes)
+ {
+ if ((ErrorCode = Pipe_Write_Stream_LE(&PIMAHeader->Params, ParamBytes, NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
}
Pipe_ClearOUT();
@@ -318,14 +312,13 @@ uint8_t SImage_Host_OpenSession(USB_ClassInfo_SI_Host_t* SIInterfaceInfo)
.Params = {},
};
- SIInterfaceInfo->State.TransactionID = 1;
-
if ((ErrorCode = SImage_Host_SendBlockHeader(SIInterfaceInfo, &PIMABlock)) != PIPE_RWSTREAM_NoError)
return ErrorCode;
if ((ErrorCode = SImage_Host_ReceiveBlockHeader(SIInterfaceInfo, &PIMABlock)) != PIPE_RWSTREAM_NoError)
return ErrorCode;
+ SIInterfaceInfo->State.TransactionID = 0;
SIInterfaceInfo->State.IsSessionOpen = true;
return PIPE_RWSTREAM_NoError;
@@ -354,6 +347,37 @@ uint8_t SImage_Host_CloseSession(USB_ClassInfo_SI_Host_t* SIInterfaceInfo)
SIInterfaceInfo->State.IsSessionOpen = false;
+ if ((PIMABlock.Type != CType_ResponseBlock) || (PIMABlock.Code != 0x2001))
+ return SI_ERROR_LOGICAL_CMD_FAILED;
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+uint8_t SImage_Host_SendCommand(USB_ClassInfo_SI_Host_t* SIInterfaceInfo, uint16_t Operation, uint8_t UsedParams,
+ uint32_t Param1, uint32_t Param2, uint32_t Param3, void* DataBuff)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(SIInterfaceInfo->State.IsActive))
+ return HOST_SENDCONTROL_DeviceDisconnect;
+
+ uint8_t ErrorCode;
+
+ SI_PIMA_Container_t PIMABlock = (SI_PIMA_Container_t)
+ {
+ .DataLength = PIMA_COMMAND_SIZE(UsedParams),
+ .Type = CType_CommandBlock,
+ .Code = Operation,
+ .Params = {Param1, Param2, Param3},
+ };
+
+ if ((ErrorCode = SImage_Host_SendBlockHeader(SIInterfaceInfo, &PIMABlock)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ if ((ErrorCode = SImage_Host_ReceiveBlockHeader(SIInterfaceInfo, &PIMABlock)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ if ((PIMABlock.Type != CType_ResponseBlock) || (PIMABlock.Code != 0x2001))
+ return SI_ERROR_LOGICAL_CMD_FAILED;
+
return PIPE_RWSTREAM_NoError;
}
diff --git a/LUFA/Drivers/USB/Class/Host/StillImage.h b/LUFA/Drivers/USB/Class/Host/StillImage.h
index 7e33fc4b1..75f76eb8e 100644
--- a/LUFA/Drivers/USB/Class/Host/StillImage.h
+++ b/LUFA/Drivers/USB/Class/Host/StillImage.h
@@ -54,6 +54,9 @@
#endif
/* Public Interface - May be used in end-application: */
+ /* Macros: */
+ #define SI_ERROR_LOGICAL_CMD_FAILED 0xC0
+
/* Type Defines: */
typedef struct
{
@@ -125,6 +128,9 @@
uint8_t SImage_Host_OpenSession(USB_ClassInfo_SI_Host_t* SIInterfaceInfo);
uint8_t SImage_Host_CloseSession(USB_ClassInfo_SI_Host_t* SIInterfaceInfo);
+
+ uint8_t SImage_Host_SendCommand(USB_ClassInfo_SI_Host_t* SIInterfaceInfo, uint16_t Operation, uint8_t UsedParams,
+ uint32_t Param1, uint32_t Param2, uint32_t Param3, void* DataBuff);
/* Private Interface - For use in library only: */
#if !defined(__DOXYGEN__)
diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index 60f00ed15..db91efe7b 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -36,6 +36,7 @@
* - Changed HIDParser to only zero out important values in the Parsed HID Report Item Information structure to save cycles
* - The HID report parser now always processed FEATURE items - HID_ENABLE_FEATURE_PROCESSING token now has no effect
* - The HID report parser now always ignores constant-data items, HID_INCLUDE_CONSTANT_DATA_ITEMS token now has no effect
+ * - The Benito Programmer project now has its own unique VID/PID pair allocated from the Atmel donated LUFA VID/PID pool
*
* <b>Fixed:</b>
* - Fixed possible lockup in the CDC device class driver, when the host sends data that is a multiple of the
@@ -54,6 +55,7 @@
* routine, so that ignored callbacks don't cause incorrect data to be sent
* - Fixed StillImageHost not correctly freezing and unfreezing data pipes while waiting for a response block header
* - Fixed error in PrinterHost preventing the full page data from being sent to the attached device
+ * - CDC based demos and project now work under 64 bit versions of Windows (thanks to Ronny Hanson, Thomas Bleeker)
*
*
* \section Sec_ChangeLog090810 Version 090810
diff --git a/LUFA/ManPages/LUFAPoweredProjects.txt b/LUFA/ManPages/LUFAPoweredProjects.txt
index 752bf7b2b..f58dc88f0 100644
--- a/LUFA/ManPages/LUFAPoweredProjects.txt
+++ b/LUFA/ManPages/LUFAPoweredProjects.txt
@@ -33,6 +33,7 @@
* - Bicycle POV: http://www.code.google.com/p/bicycleledpov/
* - CAMTRIG, a remote Camera Trigger device: http://code.astraw.com/projects/motmot/camtrig
* - "Fingerlicking Wingdinger" (WARNING: Bad Language if no Javascript), a MIDI controller - http://noisybox.net/electronics/wingdinger/
+ * - Garmin GPS USB to NMEA standard serial sentence translator: http://github.com/nall/garmin-transmogrifier/tree/master
* - Opendous-JTAG, an open source JTAG device: http://code.google.com/p/opendous-jtag/
* - Openkubus, an open source hardware-based authentication dongle: http://code.google.com/p/openkubus/
* - Orbee, a USB connected RGB Orb for notifications: http://www.franksworkshop.com.au/Electronics/Orbee/Orbee.htm
@@ -51,4 +52,5 @@
* - ARPS Locator: http://la3t.hamradio.no/lab//?id=tracker_en
* - Digital Survey Instruments Magnetometer and Pointer: http://www.digitalsurveyinstruments.com/
* - Lightweight CC110x USB dongle for 868MHz Protocols: http://busware.de/tiki-index.php?page=CUL
+ * - BAP, A tiny LUFA based AVR Programmer: http://www.busware.de/tiki-index.php?page=BAP
*/ \ No newline at end of file
diff --git a/LUFA/ManPages/VIDAndPIDValues.txt b/LUFA/ManPages/VIDAndPIDValues.txt
index 296098fc5..e0259141c 100644
--- a/LUFA/ManPages/VIDAndPIDValues.txt
+++ b/LUFA/ManPages/VIDAndPIDValues.txt
@@ -228,7 +228,7 @@
* 0x2060
* </td>
* <td>
- * <i>Currently Unallocated</i>
+ * <i>Benito Programmer Project</i>
* </td>
* </tr>
*
diff --git a/Projects/Benito/Benito Programmer.inf b/Projects/Benito/Benito Programmer.inf
index bd9c8bf14..6af572527 100644
--- a/Projects/Benito/Benito Programmer.inf
+++ b/Projects/Benito/Benito Programmer.inf
@@ -1,55 +1,106 @@
-; Windows LUFA USB to Serial Setup File
+;************************************************************
+; Windows USB CDC ACM Setup File
; Copyright (c) 2000 Microsoft Corporation
-[Version]
-Signature="$Windows NT$"
+
+[Version]
+Signature="$Windows NT$"
Class=Ports
-ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
-Provider=%COMPANY%
+ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
+Provider=%MFGNAME%
LayoutFile=layout.inf
-DriverVer=06/06/2006,1.0.0.0
+CatalogFile=%MFGFILENAME%.cat
+DriverVer=11/15/2007,5.1.2600.0
-[Manufacturer]
-%MFGNAME% = ManufName
+[Manufacturer]
+%MFGNAME%=DeviceList, NTamd64
-[DestinationDirs]
-DefaultDestDir=12
+[DestinationDirs]
+DefaultDestDir=12
-[ManufName]
-%Modem3% = Modem3, USB\VID_03EB&PID_204B
;------------------------------------------------------------------------------
-; Windows 2000/XP Sections
+; Windows 2000/XP/Vista-32bit Sections
;------------------------------------------------------------------------------
-[Modem3.nt]
-CopyFiles=USBModemCopyFileSection
-AddReg=Modem3.nt.AddReg
+[DriverInstall.nt]
+include=mdmcpq.inf
+CopyFiles=DriverCopyFiles.nt
+AddReg=DriverInstall.nt.AddReg
-[USBModemCopyFileSection]
+[DriverCopyFiles.nt]
usbser.sys,,,0x20
-[Modem3.nt.AddReg]
-HKR,,DevLoader,,*ntkern
-HKR,,NTMPDriver,,usbser.sys
-HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+[DriverInstall.nt.AddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
-[Modem3.nt.Services]
-AddService=usbser, 0x00000002, DriverService
+[DriverInstall.nt.Services]
+AddService=usbser, 0x00000002, DriverService.nt
-[DriverService]
+[DriverService.nt]
DisplayName=%SERVICE%
ServiceType=1
StartType=3
ErrorControl=1
-ServiceBinary=%12%\usbser.sys
+ServiceBinary=%12%\%DRIVERFILENAME%.sys
;------------------------------------------------------------------------------
-; String Definitions
+; Vista-64bit Sections
+;------------------------------------------------------------------------------
+
+[DriverInstall.NTamd64]
+include=mdmcpq.inf
+CopyFiles=DriverCopyFiles.NTamd64
+AddReg=DriverInstall.NTamd64.AddReg
+
+[DriverCopyFiles.NTamd64]
+%DRIVERFILENAME%.sys,,,0x20
+
+[DriverInstall.NTamd64.AddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+
+[DriverInstall.NTamd64.Services]
+AddService=usbser, 0x00000002, DriverService.NTamd64
+
+[DriverService.NTamd64]
+DisplayName=%SERVICE%
+ServiceType=1
+StartType=3
+ErrorControl=1
+ServiceBinary=%12%\%DRIVERFILENAME%.sys
+
+
;------------------------------------------------------------------------------
+; Vendor and Product ID Definitions
+;------------------------------------------------------------------------------
+; When developing your USB device, the VID and PID used in the PC side
+; application program and the firmware on the microcontroller must match.
+; Modify the below line to use your VID and PID. Use the format as shown below.
+; Note: One INF file can be used for multiple devices with different VID and PIDs.
+; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
+;------------------------------------------------------------------------------
+[SourceDisksFiles]
+[SourceDisksNames]
+[DeviceList]
+%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2060
+
+[DeviceList.NTamd64]
+%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2060
-[Strings]
-COMPANY="LUFA Library"
-MFGNAME="Dean Camera"
-Modem3="USB Virtual Serial Port"
-SERVICE="USB Virtual Serial Port CDC Driver" \ No newline at end of file
+
+;------------------------------------------------------------------------------
+; String Definitions
+;------------------------------------------------------------------------------
+;Modify these strings to customize your device
+;------------------------------------------------------------------------------
+[Strings]
+MFGFILENAME="CDC_vista"
+DRIVERFILENAME ="usbser"
+MFGNAME="CCS, Inc."
+INSTDISK="LUFA Benito Programmer Driver Installer"
+DESCRIPTION="Communications Port"
+SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file
diff --git a/Projects/Benito/Descriptors.c b/Projects/Benito/Descriptors.c
index cab20326f..9e08a41b2 100644
--- a/Projects/Benito/Descriptors.c
+++ b/Projects/Benito/Descriptors.c
@@ -54,8 +54,8 @@ USB_Descriptor_Device_t PROGMEM DeviceDescriptor =
.Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE,
.VendorID = 0x03EB,
- .ProductID = 0x204B,
- .ReleaseNumber = 0x0001,
+ .ProductID = 0x2060,
+ .ReleaseNumber = 0x0000,
.ManufacturerStrIndex = 0x01,
.ProductStrIndex = 0x02,