libftd2xx icon indicating copy to clipboard operation
libftd2xx copied to clipboard

libftd3xx support / libft260 / python support

Open drebbe-intrepid opened this issue 2 years ago • 14 comments

Hello,

I'm currently maintaining internally projects for ftd2xx, ftd3xx, and ft260 (windows only AFAIK) as Python C modules. They are unfinished and not really worth opening to the public. I'd like to start over in rust. If I can get the initial work done, would you be interested in joining it here under ftdi-rs?

drebbe-intrepid avatar May 22 '23 15:05 drebbe-intrepid

What would be involved in this? I haven't looked into the ftd3xx chips, I know they have a different library, are the functions different enough for this to be a separate crate?

newAM avatar May 22 '23 18:05 newAM

Its similar but different. It kind of feels like FTDI took the existing library and just copy / pasted it for use on the next chip. FT_ListDevices() is similar but FT_Open() is FT_Create() in ftd3xx. FT260 library is completely "different" with FT260_CreateDeviceList() and FT260_Open().

It might be possible once all these are implemented, a higher level crate to glue them all together would be nice. I'm mainly using these libraries for production time programming of the chips.

See below links for the programming guides as a reference.

https://ftdichip.com/wp-content/uploads/2020/08/D2XX_Programmers_GuideFT_000071.pdf

https://ftdichip.com/wp-content/uploads/2020/08/AN_379-D3xx-Programmers-Guide-1.pdf

https://ftdichip.com/wp-content/uploads/2022/05/AN_395_User_Guide_for_LibFT260.pdf

https://ftdichip.com/document/programming-guides/

drebbe-intrepid avatar May 23 '23 01:05 drebbe-intrepid

I did the bare minimum to get bindgen to work (linux x64) and to generate docs here: https://github.com/drebbe-intrepid/libftd3xx-ffi

drebbe-intrepid avatar May 23 '23 11:05 drebbe-intrepid

That sounds good to me! I sent you an invite for the org. I think you have permission to make repositories.

newAM avatar May 24 '23 03:05 newAM

I moved the repository into here, I'll keep working on it to make it functional. Is there a way to contact you (discord) or something?

drebbe-intrepid avatar May 24 '23 15:05 drebbe-intrepid

I'm usually on matrix for IM if you have that @newAM on :matrix.org

newAM avatar May 24 '23 18:05 newAM

@newAM I tried messaging you, not sure if you got it yet.

drebbe-intrepid avatar May 29 '23 00:05 drebbe-intrepid

I haven't gotten anything yet, what's your matrix user?

newAM avatar May 29 '23 04:05 newAM

@drebbe:matrix.org

drebbe-intrepid avatar May 29 '23 16:05 drebbe-intrepid

I sent you a message, hopefully it works. I'm also usually in the #rust-embedded:matrix.org room on matrix.

newAM avatar May 29 '23 23:05 newAM

Did this stop being developed? A libft260 would be nice but I can only seem to find the c bindings.

Sandvoxel avatar Feb 23 '24 02:02 Sandvoxel

@Sandvoxel I haven't had time to develop on this lately. I do need it though. There is a repo up for libftd3xx

drebbe-intrepid avatar Feb 23 '24 03:02 drebbe-intrepid

https://github.com/ftdi-rs/libftd3xx-ffi

https://github.com/ftdi-rs/libftd3xx

I haven't done anything for ft260

drebbe-intrepid avatar Feb 23 '24 03:02 drebbe-intrepid

Thanks for the info I'm going down the route of talking with the ft260 directly with rusb thing seem to be going well with that. I dont really know where that would fit under this project but I'm willing to share it if you would like. It just would not be a full implementation as I only want to talk with the uart portion of the chip.

Sandvoxel avatar Feb 24 '24 14:02 Sandvoxel