grblHAL,HAL驱动接口
驱动程序只有一个固定入口点,driver_init()
用于启用串行流、非易失性存储和初始化所需的函数指针。请注意,grbl 核心可以并且将只能通过此函数调用和已发布的 HAL 条目访问驱动程序。然而,驱动程序可以随意调用 grbl 核心中的公共函数和引用数据结构,因为它认为合适。
注意:这是一个不完整的细节、初步和非常简洁的文档。
启动顺序:
该main()
函数应该调用 grbl,或者将 grbl 作为任务启动,grbl_enter()
作为最后一次调用。这将永远不会回来。
这反过来:
- 清除 HAL 结构
- 设置 HAL 版本号
- 然后调用
driver_init()
:- 验证 HAL 版本号是否匹配。
- 初始化串行流。
- 如果可用,初始化非易失性存储。
- 设置 HAL 函数指针(进入驱动程序)。
- 设置驱动程序功能。
true
如果一切顺利返回
- 设置 HAL 回调函数指针(到 grbl)。
- 可选地初始化 EEPROM 仿真(需要堆内存,如果没有足够的可用内存将会失败)。
- 加载设置。
- 调用
hal.driver_setup
以便驱动程序可以配置硬件。 - 设置内部变量并启动主协议循环。
正在切换到生成的文档,它的临时主页在这里。
为方便起见,这里直接链接到 HAL 结构。
请注意,完成它需要一些时间。
2021-06-17