#fpga #astronomy #casper #devices #transport #interface #tested

casperfpga

用于监控和控制CASPER FPGA设备的库

4个版本

0.2.2 2024年1月25日
0.2.1 2024年1月21日
0.1.1 2023年7月8日
0.1.0 2023年3月17日

#261硬件支持

每月 31次下载

Apache-2.0 OR MIT

1MB
3.5K SLoC

casperfpga_rs

license docs rustc build status Codecov

用于与CASPER协作FPGA设备接口的Rust库。与Python版本不同,此库旨在用于关键任务部署,其中不允许破坏性更改、内存错误和慢速/解释型语言。此外,此库将进行严格测试、文档编制,并利用完全指定的接口。

目标

  • 轻量级、快速、通过构造正确接口
  • 基于设备信息(FPG文件)的类型检查构造函数
  • 通用回退接口

未来工作

黄色模块

此库中缺少许多黄色模块,主要是由于我没有硬件来测试它们。欢迎提交PR(或捐赠硬件)!

传输

katcp要求与CASPER设备的“已实现”详细信息进行协调,以添加katcp作为传输机制。

设备树

目前,.fpg文件是用于为给定设计自动生成类型安全接口的源文件。如果CASPER采用设备树,我们将编写一个执行相同转换的解析器。

Python集成

我们开始使用py03编写Python包装器,作为Python版本的通用重写。当然,这不会像类型安全那样,但应该作为更稳定、经过更多测试的替代品。

贡献

请在提交前运行cargo +nightly fmt --all,并使用cargo clippy --all检查clippy。

许可证

casperfpga_rs在MIT许可证和Apache许可证(版本2.0)的条款下分发。

有关详细信息,请参阅LICENSE-APACHE和LICENSE-MIT。

依赖关系

~7–16MB
~193K SLoC