USBXpress Package Release Notes Copyright (C) 2015-2016 Silicon Laboratories Inc. This release contains the following components: * Customization * AN220SW_DriverCustomizationWizard * CP21xx_Customization (v1.2.1) * AN721SW_Linux * CP210x_InterfaceLibrary * CP21xxCustomizationUtility * AN721SW_MacOSX * CP21xxCustomizationUtility * AN721SW_Windows * CP210x_InterfaceLibrary * CP21xxCustomizationUtility * Documentation * ApplicationNotes * Datasheets * Datashorts * Errata * QuickStartGuides * UsersGuides * Driver * Examples * AN200SW_Bootloader_Example * CP210x * WinCEPB42 * WinCEPB50 * WinCEPB60 * Windows * FileTransfer * Device * C8051F326_7 * C8051F32x * C8051F34x * C8051F38x * Host * Windows * VB2005 * VB6 * VC6 * TestPanel * Device * C8051F32x * C8051F34x * C8051F38x * C8051T620_1_T320_3 * C8051T622_3_T326_7 * Host * Windows * VB2003 * VB6 * VC2005 * VC6 * Library * Device * C8051F326_7 * C8051F32x * C8051F34x * C8051F38x * C8051T620_1_T320_3 * C8051T622_3_T326_7 * Host * WinCEPB42 * WinCEPB50 * WinCEPB60 * Windows * Windows_98SE * ReleaseNotes.txt (this file) Supported operating systems: Microsoft 7, 8, 8.1 and 10. When using this package with CP210x devices, you must change the default factory Product ID (PID) from 0xEA60 to 0xEA61. Install the device as instructed in your CP210x Development Kit along with the Virtual Serial Port Drivers. Once the device is installed, use the CP210xSetIDs.exe program to change the PID to 0xEA61. Then you may load the USBXpress device driver included in this package. Known Issues and Limitations ---------------------------- 1) A call to SI_GetProductString with 'Options' set to SI_RETURN_DESCRIPTION will return only the driver description string, and not the one in the device. 2) When using SI_SetBaudRate with CP2101, only the valid baud rates listed in the CP2101 data sheet should be used. Attempting to use other baud rates will return SI_DEVICE_IO_FAILED. 3) When using overlapped I/O with USBXPress 4, CancelIo is not longer supported. Instead use the new SI_CancelIo() function. Release Dates ------------- USBXpress Development Kit v6.7.3 - May 4, 2016 USBXpress Development Kit v6.7.2 - November 23, 2015 USBXpress Development Kit v4.0.3 - March 23, 2015 USBXpress Development Kit v4.0.2 - October 15, 2013 USBXpress Development Kit v4.0.1 - September 11, 2013 USBXpress Development Kit v4.0 - July 3, 2013 USBXpress Development Kit v3.5.1 - June 6, 2011 USBXpress Development Kit v3.5.0 - April 8, 2011 USBXpress Development Kit v3.4.1 - March 15, 2011 USBXpress Development Kit v3.4 - March 1, 2011 USBXpress Development Kit v3.3a - February 1, 2011 USBXpress Development Kit v3.3 - July 23, 2010 Revision History ---------------- Version 6.7.3 - AN220 CustomUSBDriverWizard.exe updated to v6.17 Version 6.7.2 Refresh release. Add support for Windows 8.1 and Windows 10. Updated to use latest Windows IDE. Bug fixes and stability improvements. Version 4.0.3 CP21xx Customization Utility (AN721SW) updated to v1.2.1 Corrections ----------- - Fixed handle leak in SI_Read() and SI_Close(). - SiUSBXp.dll updated to v3.9.0.2 Version 4.0.2 - AN220 CustomUSBDriverWizard.exe updated to v6.12 - removed AN200 Bootloader - AN721 updated to v1.1.0 - Firmware library updated to v3.7 Version 4.0.1 Corrections ----------- - Library Host Windows x86 dll (siusbxp.dll) updated to support USBXpress WinUSB Driver v4.0 - AN220 CustomUSBDriverWizard.exe updated to v6.11 to support USBXpress WinUSB Driver v4.0 New Features/Enhancements ------------------------- - Installer simplified, maintenance mode added, version added version 4.0 New Device Support ------------------ Support added for CP2105 and CP2108 devices. New Features/Enhancements - Driver ------------------------- - Moved driver architecture to WinUSB for more stability - Added support for Windows 8 - Moved to DPInst installer New Features/Enhancements - DLL ------------------------- - Created SI_CancelIo function to support canceling of I/O for the WinUSB solution version 3.5.1 Corrections ----------- - Corrected issue with overlapped objects incorrectly used internally in the DLL - DLL updated to 3.5 version 3.5.0 Corrections ----------- - Corrected SI_SetBaudRate for CP2104 in the DLL - DLL updated to 3.4.1 version 3.4.1 Corrections ----------- - Corrected bug in DLL which caused an exception in the application if LoadLibrary is used more than once within an application - Corrected bug which would cause the application to crash in certain circumstances of multithreaded apps due to a minor bug found in the DLL's multithreading behavior - DLL Updated to version 3.3.1 version 3.4 Corrections ----------- - Added support for C8051F38x, C8051T620_1_T320_3, and C8051T622_3_T326_7 device families. - Firmware library updated to v3.5 version 3.3a Corrections ----------- - Corrected INF date from 2009 to 2010 which caused problems in updates from 3.2 to 3.3 - Updated to use 3.2 version of the DriverInstaller version 3.3 Corrections ----------- - Corrected an incorrect return value when an open fails - Corrected an issue in the SiLib which could cause the driver installation to lock version 3.2.2 Corrections - Firmware Library v3.4 ----------- - Fixed Block_Write to correct issue in v3.3 library for writes greater than 63 bytes. Corrections ----------- - Corrected problem with WriteLatch/ReadLatch being called that would corrupt actively transmitting data New Features/Enhancements - Firmware Library v3.4 ------------------------- - Added support for Raisonance; Keil, Raisonance, and SDCC libraries are now included. version 3.2.1 Corrections ----------- - Corrected more issues with multi-threading and open/close issue - Corrected and enahnced several error return values - Corrected error during flow control specification New Features/Enhancements ------------------------- - Updated Driver for Windows 7 and re-certified through Winqual for 2K/XP/S2K3/Vista/Win7 - Added function to obtain the Product String from the device - Added support to restore GPIO settings on a CP210x if power is lost during standby Corrections - Firmware Library v3.3 ----------- - Added fix to STALL bad feature requests New Features/Enhancements - Firmware Library v3.3 ------------------------- - Added support for SDCC; Both Keil and SDCC libraries are now included. - Added support for vendor-specific request "GetPartNum" version 3.2 Corrections ----------- - Fixed a multi-threading bug where an Access Violation occurs when opening and closing a device over multiple threads. There was code in the DLL to clean up and close handles that weren't explicitly close by the user. This code has been taken out and it is up to the user to ensure their handle gets closed on exit. version 3.1.1a New Features/Enhancements ------------------------- - Added a 64 bit version of the SiUSBXp.DLL library. Corrections ----------- - Corrected to not allow the DLL to clean up an open handle on a thread detach. version 3.1.1 New Features/Enhancements ------------------------- - Updated Visual C++ 6.0 Test Panel example source to correctly handle open/close and timeouts. - Added Visual C# .NET 2005 Test Panel example source code. version 3.1 New Features/Enhancements ------------------------- - Updated Driver for Vista and re-certified through Winqual for 2K/XP/S2K3/Vista(x86/x64) - Updated the USBXpress Driver Installer to version 2.0 which includes Vista. - Added two functions to the DLL, SI_GetDriverVersion and SI_GetDLLVersion. version 3.0.5 Corrections ----------- - Corrected SI_CheckRXQueue so that the correct number of bytes is returned, and is a meaningful value. The flags are also confirmed for this function. - Addressed blue screen issue for surprise removal of USBXpress device that is connected and opened. - Updated the USBXpress Installer to version 1.5. This eliminates rare Windows 2K errors which claim that the driver cannot be uninstalled. version 3.0.4 New Features/Enhancements ------------------------- - Modified the driver to pend multiple I/O requests. - SI_Read now allows reads to complete with less than the data requested, as long as there are more than 0 bytes. Check the buffer length returned from the SI_Read function to determine the exact number of bytes that are returned. Corrections ----------- - Updated the USBXpress Installer to version 1.4. This eliminates errors when trying to install/uninstall read-only files. version 3.0.3 Corrections ----------- - Modfied SI_Read and SI_Write to cancel IO operations that timeout or fail. - Corrected a bug in the driver which returns an incorrect amount of bytes for SI_Read. - Changed the return value when SI_Read is called for a second time and the first SI_Read is still pending, it will show up as a system error. version 3.0.1 Corrections ----------- - Corrected the DLL Thread/Process Detach functionality to call the updated version of SI_Close. - Changed the default DLL Timeout values to be infinite instead of 0. This prevents timeouts occurring on current code, and makes calls the do not set any timeouts to be synchronous but non-blocking. version 3.0 New Features/Enhancements ------------------------- - This verison of the driver is certifiable, and has been certified for XP and Server 2003. - SI_Read is no longer a blocking call. The interface now has an added overlapped object parameter that can be passed to the function. Otherwise, old code will work because the parameter defaults to NULL. If it is NULL, then the SI_Read function will not block, and performs the wait inside of the SiUSBXp.DLL. - A new installation utility has been introduced which will clear old installations to always successfully upgrade the Driver to the latest version. This new utility can be customized without breaking the driver's certification. Corrections ----------- - SI_GetProductString was fixed so that the requested string is correctly returned. - SI_Open change to return INVALID_PARAMATER instead of the incorrect INVALID_HANLDE_VALUE whenever an invalid HANDLE pointer is provided. version 2.42 Corrections ----------- 'USBXpress Host API Fixed the constant SI_WRITE_FAILED return when USING SI_Write(); Version 2.41 Corrections ----------- 'USBXPress Host API: Wrong build of the Interface DLL replaced with the correct build. Version 2.4 New Features/Enhancements ------------------------- No changes to host-side driver and DLL; version numbers incremented to v2.4. 'F3xx firmware libraries: USBX_F320_1.LIB firmware library is compatible with 'F320/1 and 'F34x devices. Added FileTransfer and TestPanel examples for 'F34x devices - please note that these examples are the same as those for 'F32x device because those devices are code-compatible. Added new firmware library for C8051F326/7 devices (USBX_F326_7.LIB). Added FileTransfer example for C8051F326/7 devices. If you are porting an existing application from 'F320/1 to 'F326/7, please note that these two families are not exactly code-compatible. See the device datasheets for more details. Added function USB_Get_Library_Version to library that returns a 2-byte BCD value (0x0241=2.41); Previously, the only way to determine the version was by the file date. Corrections ----------- 'F320/1 firmware library: Fixed issue in v2.3 library that ignored a IN endpoint halt command. Version 2.31 Version 2.3 New Features/Enhancements ------------------------- Application Note AN169 has been updated from Revision 1.5 to Revision 1.6: Updated Return Values for SI_Open, SI_Read, SI_FlushBuffers, and SI_GetPartNumber. 'F320/1 firmware library: Library renamed from USB_API.LIB to USBX_F320_1.LIB USB_Clock_Start() function added to improve flexibility. See UpgradeNotes.txt for steps to upgrade existing applications. Corrections ----------- Added GetPartNumber support for CP2101. Close function now sets a handle passed by reference to INVALID_HANDLE_VALUE. Updated invalid handle and invalid parameter checks in the API. 'F320/1 firmware library: Fixed USB_Disable() hang issue. Eliminated unnecessary delay in Block_Write() when sending a zero-length packet. Corrected USB clock startup code to check if clock multiplier is already enabled. Removed default values for USB_Init() parameters to save code space; NULL cannot be used any more to choose defaults. Version 2.11 License Agreement updated. Version 2.1 Corrections ----------- FlushBuffers IO Control Request fixed for F32x devices, make sure to update both the device driver and the dll from your previous version. Version 2.0 New Features/Enhancements ------------------------- 64KB FIFO Read buffer added to the device driver. Functions added to support CP210x devices. Added customizable device driver Installer and Uninstaller. Corrections ----------- ResetDevice function removed. Version 1.4 New Features/Enhancements ------------------------- Added Windows XP certified drivers to Kit. Certified drivers located in the "Driver/Windows Certified" directory. Corrections ----------- Fixed Windows 98SE issue where the serial number string was not being returned. Fixed driver load issue under Windows 98SE. Version 1.3 New Features/Enhancements ------------------------- Converted to Silicon Laboratories branding. Version 1.2 New Features/Enhancements ------------------------- Added Visual Studio .Net(Copyright Microsoft Corporation) support Corrections ----------- Fixed Keil Linker incompatibility which would give the following linker error: Fatal error L251: Restricted module not supported. Version 1.1 Corrections ----------- Fixed Windows 98SE issue where the serial number string was not being returned. Version 1.0 New features/Enhancements ------------------------- Initial release. Corrections ----------- Initial release.