评论
合作者
|
感谢您的信息。我将添加一个可配置选项来更改默认缓冲区大小。 |
作者
|
@cheton与此同时,我手动更改了 src/app/lib/gcode-sender.js 和 src/app/controllers/Grbl/GrblController.js 以反映它工作正常的较大缓冲区。串行缓冲区现在徘徊在 30 左右,而不是 160。虽然有那个选项会很棒。 |
合作者
|
现在缓冲区大小限制为 120,如下所示。我从 127 中减去 7 以确保它不会溢出 Grbl 的接收缓冲区,因为有两个命令( this.sender = new Sender(STREAMING_PROTOCOL_CHAR_COUNTING, {
// Grbl has a 127 character serial receive buffer.
// Use a lower value to deduct the length of regular commands:
// - parser state command ($G\n)
// - current status command: (?)
bufferSize: 120
});
可以自动检测 BF 报告并即时扩大缓冲区大小。例如: bufferSize = Math.max(BF[1] - n, bufferSize);
// where BF[1] is the RX buffer, n is the amount that needs to subtract from the RX buffer
|
合作者
|
在 1.8.14 中添加了自动检测。如果它适用于 grbl-Mega v1.1,请告诉我。 |


@cheton我运行 Arduino Mega 和 GRBL-Mega V1.1。这有很多原因,但我注意到更大的串行缓冲区在 CNC.js 中没有得到充分利用。标准 GRBL 有 15-16 个规划器缓冲区和 127 个串行缓冲区。我的 GRBL-Mega 有 64 个 Planner 缓冲区和 255 个串行缓冲区。规划器缓冲区已被充分利用,但串行缓冲区仍然只使用最多 127 个。我猜 CNC.js 是硬连线的最多 127 个。这是你可以增加或动态检测和连接的东西,或者有一个选择缓冲区大小的选项?