Repository navigation
Adding FT200X - #2628
Open
Ellerbach wants to merge 3 commits into
Open
Adding FT200X#2628Ellerbach wants to merge 3 commits into
Ellerbach wants to merge 3 commits into
Conversation
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
The test compilation blocker needs correction, and persistent MTP programming requires hardware-backed human validation.
1 open issue
What changed in this PR
Adds an FT200X I2C slave binding using shared FTDI infrastructure.
Changes:
- Adds USB FIFO access and explicit persistent address programming.
- Extends shared FT-X transport and configuration support.
- Adds tests, documentation, and a simulated temperature-sensor sample.
| File | Description |
|---|---|
| src/devices/FtCommon/IFtXSeriesI2cSlaveTransport.cs | Defines configuration operations. |
| src/devices/FtCommon/IFtI2cSlaveTransport.cs | Defines FIFO transport operations. |
| src/devices/FtCommon/FtXSeriesI2cSlaveTransport.cs | Implements native transport access. |
| src/devices/FtCommon/FtXSeriesEeprom.cs | Models FT-X configuration layout. |
| src/devices/FtCommon/FtXSeriesConfiguration.cs | Validates and compares configuration snapshots. |
| src/devices/FtCommon/FtFunction.cs | Adds native configuration and opening APIs. |
| src/devices/FtCommon/FtEepromHeader.cs | Models the common configuration header. |
| src/devices/FtCommon/FtCommon.projitems | Includes shared implementation files. |
| src/devices/FtCommon/FtCommon.cs | Handles enumeration failures. |
| src/devices/Ft200X/tests/TemperatureSensorTests.cs | Tests sensor protocol behavior. |
| src/devices/Ft200X/tests/FtXSeriesConfigurationTests.cs | Tests configuration copying and comparison. |
| src/devices/Ft200X/tests/Ft200XDeviceTests.cs | Tests binding behavior and lifetime. |
| src/devices/Ft200X/tests/Ft200X.Tests.csproj | Adds the test project. |
| src/devices/Ft200X/samples/TemperatureSensor.cs | Implements the simulated sensor protocol. |
| src/devices/Ft200X/samples/Program.cs | Demonstrates transfers and configuration. |
| src/devices/Ft200X/samples/Ft200X.sample.csproj | Adds the sample project. |
| src/devices/Ft200X/README.md | Documents wiring, usage, and programming precautions. |
| src/devices/Ft200X/Ft200XDevice.cs | Implements the public binding. |
| src/devices/Ft200X/Ft200X.slnx | Groups development projects. |
| src/devices/Ft200X/Ft200X.csproj | Configures the binding project. |
| src/devices/Ft200X/category.txt | Categorizes the binding. |
Review effort: Balanced
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
raffaeler
approved these changes
Oct 22, 2026
| /// Represents the native FT_EEPROM_X_SERIES layout, including its separately aligned common header. | ||
| /// </summary> | ||
| [StructLayout(LayoutKind.Sequential, Pack = 4)] | ||
| internal struct FtXSeriesEeprom |
Contributor
There was a problem hiding this comment.
I would ask the Copilot to provide the explicit offsets.
Inverting two of them screws up everything
Member
Author
There was a problem hiding this comment.
Done! And added the source as well of the struct in the intellisense struct somments. I made it for the 2 new ones.
pgrawehr
approved these changes
Oct 22, 2026
pgrawehr
left a comment
Contributor
There was a problem hiding this comment.
Looks good. Seems useful to simulate I2C devices for testing.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Adding FT200X. This is a client I2C device from FTDI.
Adjusted the FTCommon project as there are more FTDI which can be setup as I2C client.
Added tests.
Added a sample with a fake temperature sensor. Make a real test with a real I2C master.
Microsoft Reviewers: Open in CodeFlow