#usb #bill-acceptor #bill-validator

bnr

纯Rust实现的BNR XFS USB通信协议

3个版本

0.1.2 2024年3月13日
0.1.1 2024年2月15日
0.1.0 2024年1月24日

#204财务

Download history 104/week @ 2024-03-08 30/week @ 2024-03-15 2/week @ 2024-03-22 20/week @ 2024-03-29 9/week @ 2024-04-05 1/week @ 2024-04-19 16/week @ 2024-05-10 61/week @ 2024-05-17 74/week @ 2024-05-24 47/week @ 2024-05-31 30/week @ 2024-06-07 9/week @ 2024-06-14 2/week @ 2024-06-21

每月 109次下载

MIT 许可证

565KB
12K SLoC

BNR API

此库提供了一个高级、安全、惯用的Rust API,用于与MEI/CPI BNR设备交互。

库组织

项目的文件结构大致遵循MEI/CPI模块的组织结构。

相关的类型被分组在模块中。较大的模块被进一步拆分为自己的模块集,并由父模块全局导入。

未来目标

最终目标是覆盖大部分API界面,然后开始用Rust实现所有功能。

已实现了足够的功能来执行设备初始化、配置、存款、发放和重置。

仍有许多功能需要实现。


lib.rs:

MEI/CPI BNR设备的设备通信库。

此库用于通过USB连接使用BNR/XFS通信协议与BNR现金设备通信。

用户可以使用模块API公开的独立函数,或创建一个[DeviceHandle]的本地实例。

创建[DeviceHandle]的本地实例允许用户直接使用方法调用进行交互。

模块API更接近MEI/CPI提供的C库,并利用[DeviceHandle]的全局实例。这些API对于与已使用MEI/CPI库的应用程序向后兼容更有用。

依赖项

~6–17MB
~221K SLoC