From 064e6a2f32719da5b7ed2ff3a8a32c5788e753d0 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Sun, 6 Sep 2009 04:15:35 +0000 Subject: [PATCH] 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. --- Bootloaders/CDC/LUFA CDC Bootloader.inf | 113 ++++++++++++----- Demos/Device/ClassDriver/CDC/LUFA CDC.inf | 113 ++++++++++++----- .../ClassDriver/DualCDC/LUFA DualCDC.inf | 114 +++++++++++++----- .../USBtoSerial/LUFA USBtoSerial.inf | 113 ++++++++++++----- Demos/Device/LowLevel/CDC/LUFA CDC.inf | 113 ++++++++++++----- .../Device/LowLevel/DualCDC/LUFA DualCDC.inf | 114 +++++++++++++----- .../LowLevel/USBtoSerial/LUFA USBtoSerial.inf | 113 ++++++++++++----- .../StillImageHost/StillImageHost.c | 6 +- LUFA/Drivers/USB/Class/Host/StillImage.c | 52 +++++--- LUFA/Drivers/USB/Class/Host/StillImage.h | 6 + LUFA/ManPages/ChangeLog.txt | 2 + LUFA/ManPages/LUFAPoweredProjects.txt | 2 + LUFA/ManPages/VIDAndPIDValues.txt | 2 +- Projects/Benito/Benito Programmer.inf | 113 ++++++++++++----- Projects/Benito/Descriptors.c | 4 +- 15 files changed, 711 insertions(+), 269 deletions(-) diff --git a/Bootloaders/CDC/LUFA CDC Bootloader.inf b/Bootloaders/CDC/LUFA CDC Bootloader.inf index 6df089ab78..80b8d69bc8 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 d9d9ed63a9..4cdf594351 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 10ba560f82..741bf28eb7 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 bd9c8bf142..10a6a8ce28 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 d9d9ed63a9..4cdf594351 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 10ba560f82..741bf28eb7 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 bd9c8bf142..10a6a8ce28 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 d60db097be..ef073abd51 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 a3b150848d..ecaed3a890 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 7e33fc4b1b..75f76eb8e5 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 60f00ed15e..db91efe7b7 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 * * Fixed: * - 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 752bf7b2b0..f58dc88f0e 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 296098fc51..e0259141cb 100644 --- a/LUFA/ManPages/VIDAndPIDValues.txt +++ b/LUFA/ManPages/VIDAndPIDValues.txt @@ -228,7 +228,7 @@ * 0x2060 * * - * Currently Unallocated + * Benito Programmer Project * * * diff --git a/Projects/Benito/Benito Programmer.inf b/Projects/Benito/Benito Programmer.inf index bd9c8bf142..6af572527b 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 cab20326fa..9e08a41b28 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,