[feat](trx-ftx): add pure Rust FTx decoder crate

Replace the C FFI-based trx-ft8 with a pure Rust implementation
supporting FT8, FT4, and FT2 protocols. Eliminates cc/libc build
dependencies and all unsafe FFI code while providing the same
Ft8Decoder/Ft8DecodeResult public API.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Stan Grams <sjg@haxx.space>
This commit is contained in:
2026-03-18 22:21:12 +01:00
parent 974b9fa9ed
commit de79e8a1e6
21 changed files with 7791 additions and 0 deletions
Generated
+25
View File
@@ -1016,6 +1016,12 @@ version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
name = "hound"
version = "3.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62adaabb884c94955b19907d60019f4e145d091c75345379e70d1ee696f7854f"
[[package]]
name = "http"
version = "0.2.12"
@@ -1797,6 +1803,15 @@ dependencies = [
"getrandom 0.3.4",
]
[[package]]
name = "realfft"
version = "3.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f821338fddb99d089116342c46e9f1fbf3828dba077674613e734e01d6ea8677"
dependencies = [
"rustfft",
]
[[package]]
name = "redox_syscall"
version = "0.5.18"
@@ -2635,6 +2650,16 @@ dependencies = [
"libc",
]
[[package]]
name = "trx-ftx"
version = "0.1.0"
dependencies = [
"hound",
"num-complex",
"realfft",
"rustfft",
]
[[package]]
name = "trx-protocol"
version = "0.1.0"