{"id":26353744,"url":"https://github.com/apertus-open-source-cinema/ft60x-rs","last_synced_at":"2025-07-30T21:03:11.326Z","repository":{"id":55645690,"uuid":"285635603","full_name":"apertus-open-source-cinema/ft60x-rs","owner":"apertus-open-source-cinema","description":"rust ftdi ft60x libusb driver","archived":false,"fork":false,"pushed_at":"2020-12-16T14:51:09.000Z","size":35,"stargazers_count":16,"open_issues_count":0,"forks_count":3,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-02T06:43:15.939Z","etag":null,"topics":["apertus","axiom","ft600","ft601","ftdi","hacktoberfest","libusb","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apertus-open-source-cinema.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-06T17:51:17.000Z","updated_at":"2024-10-18T02:30:38.000Z","dependencies_parsed_at":"2022-08-15T05:20:57.928Z","dependency_job_id":null,"html_url":"https://github.com/apertus-open-source-cinema/ft60x-rs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/apertus-open-source-cinema/ft60x-rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apertus-open-source-cinema%2Fft60x-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apertus-open-source-cinema%2Fft60x-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apertus-open-source-cinema%2Fft60x-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apertus-open-source-cinema%2Fft60x-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apertus-open-source-cinema","download_url":"https://codeload.github.com/apertus-open-source-cinema/ft60x-rs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apertus-open-source-cinema%2Fft60x-rs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267941384,"owners_count":24169544,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apertus","axiom","ft600","ft601","ftdi","hacktoberfest","libusb","rust"],"created_at":"2025-03-16T11:28:04.611Z","updated_at":"2025-07-30T21:03:11.250Z","avatar_url":"https://github.com/apertus-open-source-cinema.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `ft60x-rs`\nA rust interface library for the ftdi FT60x usb3.0 superspeed FIFO bridge chip series.\n\n## Current State\n`ft60x-rs` can sucessfully stream data from the FT601 to the host in 245 fifo mode.\nStreaming in the other direction is not implemented yet.\nFT600 should work as well but is untested.\n\n## Binaries / Utilities\nShipped with `ft60x-rs` are some examples (found in [`examples/`](examples/)).\n\n* `datastreamer` streams the data it recieves to stdout while printing performance information to stderr. This can be used to record the datastream to disk or process it further using other tools.\n* `stream_checker` checks that the 32bit words recieved from the FT60x form a consecutive counter. If anything is missed, a warning is printed to stderr. This can be used to verify that no data is missed (and therefore to verify gateware). Example gateware that can be used in companion with this tool can be found [in the apertus nmigen-gateware repo](https://github.com/apertus-open-source-cinema/nmigen-gateware/blob/c75fffe/src/experiments/usb3_test.py)\n* `config` configures the ft601 to be used as a fifo in 254 mode.\n* `perf_debug` can help debugging performance issues.\n\n\n## Performance\nUsing the FT601 in 245 FIFO mode, we were able to read ~360Mbyte/s continiously.\nThis is pretty exactly the same performance as we achieved using the proprietary\nD3XX library while this code uses less cpu time.\n\nFurther performance optimization might be possible using the 600 FIFO mode. However\nthis was not investigated further.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapertus-open-source-cinema%2Fft60x-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapertus-open-source-cinema%2Fft60x-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapertus-open-source-cinema%2Fft60x-rs/lists"}