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代码中的直线和圆弧运动指令;
函数调用关系如下图所示:
解析G代码指令,按照T型速度曲线规划或者按照传说中 “S型速度曲线规划" 的代码就在mp_aline中。