TinyG 固件源码分析之二

时间:2024-03-19 11:05:36

2.2 主要后台子任务任务之间的关联

       _controller_HSM函数中包含多个后台子任务函数,其中_command_dispatch实现从串口接收各种文本格式指令,配置参数,解析G码指令产生运动控制指令并写入mb(mpBufferPool_t类型)的缓存,mp_plan_hold_callback实现从mb缓存中取出指令,输出脉冲控制电机。

2.3 固件的基本功能

      固件源码的四大基本功能:G代码解析器,直线段DDA插补器,JSON解析器,串口命令行终端。

    (1)串口命令行终端。从串口或RS-485接收文本数据,解释执行;

    (2)JSON解释器,负载解析终端收到的JSON格式配置信息,保存到EEPROM中;

    (3)G代码解析器,处理G代码字符流,控制电机运动;

   (4)直线段DDA插补器,执行G代码中的直线和圆弧运动指令;

函数调用关系如下图所示:

TinyG 固件源码分析之二

解析G代码指令,按照T型速度曲线规划或者按照传说中 “S型速度曲线规划" 的代码就在mp_aline中。