HAL设计检查清单

  • 命名 (crate要符合Rust命名规则)
    • [ ] crate被恰当地命名 ([C-CRATE-NAME])
  • 互用性 (crate要很好地与其它的库功能交互)
    • [ ] 封装类型提供一种析构方法 ([C-FREE])
    • [ ] HALs重新导出了它们的寄存器访问crate ([C-REEXPORT-PAC])
    • [ ] 类型实现了 embedded-hal traits ([C-HAL-TRAITS])
  • 可预见性 (crate的代码清晰可读,行为和看起来的一样)
    • [ ] 使用构造函数而不是扩展traits ([C-CTOR])
  • GPIO接口 (GPIO接口要遵循一个公共的模式)
    • [ ] Pin类型默认是零大小类型 ([C-ZST-PIN])
    • [ ] Pin类型提供擦除管脚和端口的方法 ([C-ERASED-PIN])
    • [ ] Pin状态应该被编码为类型参数 ([C-PIN-STATE])