技术分享experimental • 2026-09-08

Laetoly 驱动桥架构与 GRBL 硬件协议设计

详解免安装浏览器工作台、本地 PC 后台 CAM 引擎与数控雕刻机硬件之间的架构分工与低延迟控制设计。

目录索引

系统分层架构

Laetoly 采用清晰的 云端/网页工作台与本地计算控制解耦 架构:

状态:实验性。 本页描述当前内部桥接技术笔记;端点、阈值和硬件兼容范围必须以具体 Driver 与控制器版本核对为准。

  • 浏览器工作台(Laetoly Web):运行于浏览器前端(app.laetoly.com)。负责 2D 矢量设计(SVG/DXF 导入)、刀具库配置、工程云端存取以及三维切削仿真预览。
  • 本地驱动程序(Laetoly PC Driver):安装并运行于用户电脑的后台守护进程。它作为核心 CAM 引擎,执行复杂的刀路计算、进给与下刀量规划、后处理生成 G 代码,并通过本地 USB 串口或 Wi-Fi 维持与 CNC 机床的低延迟指令通信及真机控制。
  • 数控机床硬件(CNC Machine):运行 GRBL 固件的标准 3 轴桌面数控雕刻机。
+------------------------------------+
|       Laetoly 网页工作台 (Web)      |
|   - 2D 矢量画布与图形导入 (SVG)     |
|   - 3D 刀路切削与材料去除仿真       |
|   - 刀具参数配置与项目云端存储      |
+-----------------+------------------+
                  | 本地安全回环 (WebSocket / IPC)
                  v
+-----------------+------------------+
|       Laetoly PC 驱动程序 (CAM)    |
|   - 自研后台 CAM 刀路生成引擎       |
|   - G 代码后处理器与流控分发        |
|   - USB 串口 / Wi-Fi 硬件连接控制   |
+-----------------+------------------+
                  | USB 串口 (115200 波特率) / Wi-Fi
                  v
+-----------------+------------------+
|       GRBL 兼容桌面数控雕刻机       |
|   - 三轴步进电机运动驱动 (XYZ)      |
|   - 主轴电机、限位与急停开关        |
+------------------------------------+

缓冲区管理:字符计数流控法

批准的 Driver V2 技术笔记将 GRBL 或 FluidNC 控制器的接收环形缓冲区描述为 128 字节。为避免缓冲区溢出,Laetoly PC Driver 采用 GRBL 推荐的 字符计数(Character-Counting) 方法:

  1. 在内存中维护可用缓冲变量 buffer_available,初始值为 128 字节。
  2. 每发送一行指令(包含 \r\n),从 buffer_available 中扣除该行字节长度。
  3. buffer_available < 当前待发指令长度,暂停发送,等待机床返回 okerror:
  4. 收到 ok 响应时,将最早一条已完成指令的字符长度退还给 buffer_available

实时特权指令拦截

诸如 !(进给保持/暂停)、~(继续切削)与 ?(实时坐标与状态查询)等单字节控制字符会优先于排队的 G 代码发送。V2 技术笔记规定 WebSocket 断开后先经过 500 ms 防抖,再触发进给保持和 M5;端到端响应取决于操作系统、连接路径、Driver 构建版本与控制器,因此本页不作亚毫秒保证。