Changed Still Image Host class driver to auto-fill TransactionID element of sent...
authorDean Camera <dean@fourwalledcubicle.com>
Sun, 6 Sep 2009 04:15:35 +0000 (04:15 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Sun, 6 Sep 2009 04:15:35 +0000 (04:15 +0000)
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.

15 files changed:
Bootloaders/CDC/LUFA CDC Bootloader.inf
Demos/Device/ClassDriver/CDC/LUFA CDC.inf
Demos/Device/ClassDriver/DualCDC/LUFA DualCDC.inf
Demos/Device/ClassDriver/USBtoSerial/LUFA USBtoSerial.inf
Demos/Device/LowLevel/CDC/LUFA CDC.inf
Demos/Device/LowLevel/DualCDC/LUFA DualCDC.inf
Demos/Device/LowLevel/USBtoSerial/LUFA USBtoSerial.inf
Demos/Host/ClassDriver/StillImageHost/StillImageHost.c
LUFA/Drivers/USB/Class/Host/StillImage.c
LUFA/Drivers/USB/Class/Host/StillImage.h
LUFA/ManPages/ChangeLog.txt
LUFA/ManPages/LUFAPoweredProjects.txt
LUFA/ManPages/VIDAndPIDValues.txt
Projects/Benito/Benito Programmer.inf
Projects/Benito/Descriptors.c

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