This leads on from the FT60X Configuration Advanced to the FT60X Configuration Initialization. Read the first article as well as the second and then this article. The manual has been added below which you can also read as it have all the graphics in the manual.
FT60X Configuration Initialization
When the user clicks on the “Read Configuration” button, the current configuration values employed during initialization will be exhibited, along with the status information. This status provides an account of the FT60X’s actual configuration outcome once the chip has finished the startup procedure. Presented below is a table outlining the description of the status information pertaining to the initialization of the chip configuration.
The PC should also be installed with the Microsoft Visual C++ 2013 Redistributable (x86) package. Please us the following steps to install it:-
1. Go to https://www.microsoft.com/en-us/download/details.aspx?id=40784
2. Click ‘Download’ button
3. Check the ‘vcredist_x86.exe’ and click ‘Next’.
4. After download completes, run ‘vcredist_x86.exe’ to install the package
Notification messages can be enabled or disabled for all IN pipes. This functionality allows for the sending of notification messages when unexpected IN data is encountered without any existing read requests.
When this feature is set on a pipe, the host application should refrain from actively reading on that pipe. Instead, it should register a callback function. The callback function will be triggered when data becomes available for the pipe.
The purpose of this feature is to handle unexpected short packets, specifically those that are limited to a maximum size of 4kb. These packets often contain error status information transmitted from the FIFO master to the host application.
For instance, in the case of a camera device, a user may opt for a 2-channel settings. This selection necessitates two IN pipes: one for camera data and the other for control/error status information. It is recommended to utilize notification messages exclusively for the control/error status information pipe and avoid using them for the camera data pipe.
The interrupt latency, determined by the bInterval parameter, affects the timing of notification callbacks and GPIO pin state reads. These operations are performed over the interrupt endpoint, resulting in a minimum latency of 2**(bInterval-1) USB frames. By default, the bInterval value is set to 9, yielding a latency of 2**(9-1) USB frames, equivalent to 256 frames. With each frame spanning 125 microseconds, this settings results in a latency of 32 milliseconds.
Modifying the bInterval allows for adjustments to decrease or increase the latency. The minimum permissible value is 1, while the maximum is 16.
The following transition words have been added to improve the flow and coherence of the text:
Status Information Values Description:
Custom Configuration Validity: Indicates whether the settings data read is valid or not. In case of an invalid custom configuration, the chip will resort to using the default settings.
Custom Configuration Checksum: Determines if the settings data has been corrupted by validating the checksum. If the checksum for the custom settings is invalid, the chip will revert to the default configuration.
GPIO Input Used or Ignored: Specifies whether the GPIOs are utilized as settings inputs. It is important to note that GPIOs are only used as configuration inputs when the device is operating with the default settings. The table below illustrates the corresponding pin settings for different modes and channel settings:
- GPIO1 0 – GPIO0 0: 245 mode – 1 channel
- GPIO1 0 – GPIO0 1: 600 mode – 1 channel
- GPIO1 1 – GPIO0 0: 600 mode – 2 channels
- GPIO1 1 – GPIO0 1: 600 mode – 4 channels
- GPIO 0 High or Low: Indicates whether GPIO 0 is set to a high or low state.
- GPIO 1 High or Low: Indicates whether GPIO 1 is set to a high or low state.
Configuration Used Default or Custom: Specifies whether the chip was initialized using a custom chip settings or the default chip settings. Lastly also see the Samsung PM851 Solid State Drive and RTL8187 Wireless Driver Windows 7 on here.