Silicon Labs USBXpress SDK 6.7.6 Release
Silicon Labs USBXpress SDK 6.7.6 Release
The enhancements to the USB SPI library for the CP2130 significantly improve data transfer reliability. The fix to the USB 'direction' bug for the CP213x_GetLock() function resolves an issue where the device entered a stall, causing subsequent API calls to fail . Additionally, correcting an improperly closed file descriptor in CP213x_TransferWriteRead prevents resource leaks that could have impaired continued data transfer operations . Together, these changes bolster robustness and operational reliability for the CP2130, which is crucial for ensuring accurate and stable data transfers.
The CP210x Manufacturing library has been enhanced with several updates across versions. Notably, version 6.7.6 introduced support for GetFirmwareVersion() in the manufacturing library for CP2105 and CP2108 devices, allowing for better device management . Additionally, CP210x_GetDeviceInterfaceString() function was fixed to correctly handle calls for devices configured with the USBXpress PID 0xEA61 . These enhancements improve reliability and functionality by addressing device compatibility issues and facilitating firmware version management.
Statically linking Silicon Labs libraries in Mac/Linux binaries, as introduced in the 6.7.6 release, allows developers to create self-contained applications that do not rely on external dependencies at runtime. This eradicates issues associated with library mismatches and simplifies the deployment process. Developers benefit because their applications will be more portable and less prone to errors caused by missing or incompatible shared libraries on user systems .
The SDK has included practical examples to help developers utilize GPIO pins on different OS platforms. For macOS, the SDK version 6.7.6 added an example program named MacGPIOExample, demonstrating how developers can leverage GPIO pins using the 5.x Mac VCP Driver . Additionally, this assists developers in implementing GPIO functionality consistently across platforms.
In version 6.7.6, the documentation enhancements specifically supporting developers working with the CP2114 included the addition of a QuickStart Guide and a User Guide . These documents aim to facilitate developers' understanding and implementation of the CP2114 into their projects, providing essential information and guidance for consistent and efficient application development.
The Silicon Labs USBXpress Host SDK for Windows provides support for VCP (Virtual COM Port) and HID (Human Interface Device) devices by including interface libraries, header files, and example programs specifically for these types of devices. The SDK supports multiple Silicon Labs products, including CP2102N (VCP UART), CP2110 (HID UART), and CP2114 (USB Audio). The benefit of the combined SDK package is that it consolidates software development tools for Silicon Labs USB bridge products into a single, unified software development kit, thereby eliminating the need for separate per-device installer packages. This approach simplifies installation and management for application developers as they can choose support for one or all devices during installation .
To address installation issues related to missing DLL dependencies in the CP2615 utility, the release notes for SDK version 6.7.6 indicate that problems were fixed where the CP2615 utility would fail to start in the absence of necessary Microsoft redistributable DLLs . This change ensures that the utility can start properly without requiring the manual installation of additional DLL components.
In the SDK version 6.7.6, the HID UART library was updated to fix a device indexing problem specifically for the CP2114 devices that are configured as OUT-only or IN-only. This fix addresses issues with device interfaces being improperly recognized in these configurations .
The release of the combined host SDK unified Silicon Labs' software support systems by integrating software development tools for both their classic and USBXpress USB bridge devices into one comprehensive package. This change was first implemented in version 6.7.5 . By consolidating these tools, the SDK alleviates the need to manage multiple, device-specific installer packages, thereby streamlining the development process. Developers now benefit from a singular software package that simplifies the access and installation process of necessary interfaces and example programs for different Silicon Labs devices.
The inclusion of a dependency on libslabhiddevice in the Linux versions of libslabhidtosmbus and libslabhidtouart libraries streamlines development efficiency by reducing the complexity of linking dependencies for developers. This means that Linux applications using these libraries no longer need an explicit linkage to libslabhiddevice, simplifying the build process and reducing the potential for configuration errors . This change enhances efficiency by automatically managing necessary dependencies, allowing developers to focus on higher-level application development rather than dependency management.