HAL 设计模式清单
- 命名 (crate 与 Rust 命名约定一致)
- crate 的命名是合适的 (C-CRATE-NAME)
- 互操作性 (crate 与其他库的功能良好交互)
- 包装器类型提供析构方法 (C-FREE)
- HAL 重新导出它们的寄存器访问 crate (C-REEXPORT-PAC)
- 类型实现了
embedded-hal
traits (C-HAL-TRAITS)
- 可预测性 (crate 能够实现清晰易懂且行为与其外观一致的代码)
- 使用构造函数而不是扩展 traits (C-CTOR)
- GPIO 接口 (GPIO 接口遵循通用模式)
- 默认情况下,引脚类型是零大小的 (C-ZST-PIN)
- 引脚类型提供擦除引脚和端口的方法 (C-ERASED-PIN)
- 引脚状态应编码为类型参数 (C-PIN-STATE)