开源改变世界

一些代码暂停蓝牙通信 #482

推推 grbl 2年前 (2023-02-05) 228次浏览
关闭
3个任务
tuxcnc 打开了这个问题 2022 年 6 月 9 日 · 9条评论
关闭
3个任务

一些代码暂停蓝牙通信#482

tuxcnc 打开了这个问题 2022 年 6 月 9 日 · 9条评论

评论

一些代码暂停蓝牙通信 #482
燕尾服 评论了 2022 年 6 月 9 日  

控制板

MKS DLC32

董事会供应商的帮助

  • 是的
  • 不适用

机器描述

XYZ

配置文件

board: MKS-DLC32
name: CNC6040
meta: 
stepping:
  engine: I2S_static
  idle_ms: 255
  pulse_us: 4
  dir_delay_us: 1
  disable_delay_us: 0

axes:
  shared_stepper_disable_pin: I2SO.0
  x:
    steps_per_mm: 200.000
    max_rate_mm_per_min: 3000.000
    acceleration_mm_per_sec2: 200.000
    max_travel_mm: 345.000
    soft_limits: true
    homing:
      cycle: 2
      mpos_mm: 0
      feed_mm_per_min: 500.000
      seek_mm_per_min: 2000.000
      positive_direction: false
    motor0:
      limit_neg_pin: NO_PIN
      limit_pos_pin: NO_PIN
      limit_all_pin: gpio.36:low
      hard_limits: false
      pulloff_mm: 1.000
      stepstick:
        step_pin: I2SO.1
        direction_pin: I2SO.2:high
        disable_pin: NO_PIN
        ms1_pin: NO_PIN
        ms2_pin: NO_PIN
        ms3_pin: NO_PIN
        reset_pin: NO_PIN

  y:
    steps_per_mm: 200.000
    max_rate_mm_per_min: 3000.000
    acceleration_mm_per_sec2: 200.000
    max_travel_mm: 550.000
    soft_limits: true
    homing:
      cycle: 2
      mpos_mm: 550
      feed_mm_per_min: 500.000
      seek_mm_per_min: 2000.000
      positive_direction: true
    motor0:
      limit_neg_pin: NO_PIN
      limit_pos_pin: NO_PIN
      limit_all_pin: gpio.35:low
      hard_limits: false
      pulloff_mm: 1.000
      stepstick:
        step_pin: I2SO.5
        direction_pin: I2SO.6:low
        disable_pin: NO_PIN
        ms1_pin: NO_PIN
        ms2_pin: NO_PIN
        ms3_pin: NO_PIN
        reset_pin: NO_PIN

  z:
    steps_per_mm: 200.000
    max_rate_mm_per_min: 3000.000
    acceleration_mm_per_sec2: 200.000
    max_travel_mm: 100.000
    soft_limits: true
    homing:
      cycle: 1
      mpos_mm: 0
      feed_mm_per_min: 500.000
      seek_mm_per_min: 2000.000
      positive_direction: true
    motor0:
      limit_neg_pin: NO_PIN
      limit_pos_pin: NO_PIN
      limit_all_pin: gpio.34:low
      hard_limits: false
      pulloff_mm: 1.000
      stepstick:
        step_pin: I2SO.3
        direction_pin: I2SO.4:low
        disable_pin: NO_PIN
        ms1_pin: NO_PIN
        ms2_pin: NO_PIN
        ms3_pin: NO_PIN
        reset_pin: NO_PIN

kinematics:
  Cartesian:

i2so:
  bck_pin: gpio.16
  data_pin: gpio.21
  ws_pin: gpio.17

spi:
  miso_pin: gpio.12
  mosi_pin: gpio.13
  sck_pin: gpio.14

sdcard:
  cs_pin: gpio.15
  card_detect_pin: NO_PIN

control:
  safety_door_pin: NO_PIN
  reset_pin: NO_PIN
  feed_hold_pin: NO_PIN
  cycle_start_pin: NO_PIN
  macro0_pin: NO_PIN
  macro1_pin: NO_PIN
  macro2_pin: NO_PIN
  macro3_pin: NO_PIN

coolant:
  flood_pin: gpio.5
  mist_pin: NO_PIN
  delay_ms: 0

probe:
  pin: gpio.22:low
  check_mode_start: false

macros:
  startup_line0: 
  startup_line1: 
  macro0: 
  macro1: 
  macro2: 
  macro3: 

start:
  must_home: false
  deactivate_parking: false
  check_limits: false

user_outputs:
  analog0_pin: NO_PIN
  analog1_pin: NO_PIN
  analog2_pin: NO_PIN
  analog3_pin: NO_PIN
  analog0_hz: 5000
  analog1_hz: 5000
  analog2_hz: 5000
  analog3_hz: 5000
  digital0_pin: NO_PIN
  digital1_pin: NO_PIN
  digital2_pin: NO_PIN
  digital3_pin: NO_PIN

arc_tolerance_mm: 0.002
junction_deviation_mm: 0.010
verbose_errors: false
report_inches: false
enable_parking_override_control: false
use_line_numbers: false
PWM:
  pwm_hz: 5000
  direction_pin: NO_PIN
  output_pin: gpio.32
  enable_pin: I2SO.7
  disable_with_s0: false
  s0_with_disable: true
  spinup_ms: 0
  spindown_ms: 0
  tool_num: 0
  speed_map: 0=0.000% 24000=100.000%

启动消息

$SS
[MSG:INFO: FluidNC v3.4.7]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.1-1-gb8050b365e]
[MSG:INFO: Local filesystem type is SPIFFS]
[MSG:INFO: Configuration file:config.yaml]
[MSG:INFO: Machine CNC6040]
[MSG:INFO: Board MKS-DLC32]
[MSG:INFO: I2SO BCK:gpio.16 WS:gpio.17 DATA:gpio.21]
[MSG:INFO: SPI SCK:gpio.14 MOSI:gpio.13 MISO:gpio.12]
[MSG:INFO: SD Card cs_pin:gpio.15 detect:NO_PIN]
[MSG:INFO: Stepping:I2S_static Pulse:4us Dsbl Delay:0us Dir Delay:1us Idle Delay:255ms]
[MSG:INFO: Axis count 3]
[MSG:INFO: Shared stepper disable I2SO.0]
[MSG:INFO: Axis X (0.000,345.000)]
[MSG:INFO:   Motor0]
[MSG:INFO:     stepstick Step:I2SO.1 Dir:I2SO.2 Disable:NO_PIN]
[MSG:INFO:     All Limit gpio.36:low]
[MSG:INFO: Axis Y (0.000,550.000)]
[MSG:INFO:   Motor0]
[MSG:INFO:     stepstick Step:I2SO.5 Dir:I2SO.6:low Disable:NO_PIN]
[MSG:INFO:     All Limit gpio.35:low]
[MSG:INFO: Axis Z (-100.000,0.000)]
[MSG:INFO:   Motor0]
[MSG:INFO:     stepstick Step:I2SO.3 Dir:I2SO.4:low Disable:NO_PIN]
[MSG:INFO:     All Limit gpio.34:low]
[MSG:INFO: Kinematic system: Cartesian]
[MSG:INFO: PWM Spindle Ena:I2SO.7 Out:gpio.32 Dir:NO_PIN Freq:5000Hz Res:13bits]
[MSG:INFO: Using spindle PWM]
[MSG:INFO: Flood coolant gpio.5]
[MSG:INFO: Probe Pin: gpio.22:low]
[MSG:INFO: BT Started with CNC6040]
ok
b'$G\n'
[GC:G0 G54 G17 G21 G90 G94 M5 M9 T0 F0 S0]
ok

用户界面软件

不要紧

发生了什么?

指的是执行 g 代码程序,而不是使用终端。
这是 test.nc 程序:

$H
$SS
M3
G0X10
G0X0
M5
M30

它从 SD 卡运行良好。
它通过 USB 连接运行良好。
它通过蓝牙连接在 $H 之后挂起。
为了排除发件人问题,我只使用了 Linux 终端:

cat test.nc > /dev/ttyUSB0
cat test.nc > /dev/rfcomm0

通过 USB 发送程序并且运行良好,通过蓝牙发送程序,但只做归位,然后停止,不做任何其他事情。
不要问为什么程序里有$H,因为它可以有用,可以工作。
顺便提一句。M30之后也有同样的问题(Sender一直在等待程序结束)。

其他信息

没有反应

一些代码暂停蓝牙通信 #482

cat test.nc >/dev/rfcomm0违反了 Grbl 流量控制协议。您不能在不等待“ok”确认的情况下全速发送任意数量的数据。

不要问为什么程序里有$H,因为它可以有用,可以工作。

它在某些情况下“可以工作”这一事实并不一定意味着它在所有情况下都有效,也不意味着它受到支持。

一些代码暂停蓝牙通信 #482
作者

cat test.nc >/dev/rfcomm0违反了 Grbl 流量控制协议。您不能在不等待“ok”确认的情况下全速发送任意数量的数据。

程序长度为28字节,缓冲区大小不成问题。
问题是如何完成一些代码。
在没有定义 home 开关的机器上,程序显示:

$H
[MSG:ERR: 未定义归位周期]
ok

然后继续。
它只挂在 M30 上,发件人在程序结束时永远等待,尽管程序结束了……
这里有全部:

ok
G90
[MSG:ERR: No homing cycles defined]
ok
$H
[MSG:INFO: FluidNC v3.4.7]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.1-1-gb8050b365e]
[MSG:INFO: Local filesystem类型是 SPIFFS]
[MSG:INFO: Configuration file:config.yaml]
[MSG:INFO: Machine CNC1310]
[MSG:INFO: Board MKS-DLC32]
[MSG:INFO: I2SO BCK:gpio.16 WS:gpio.17 DATA:gpio.21]
[MSG:INFO: SPI SCK:gpio.14 MOSI:gpio.13 MISO:gpio.12]
[MSG:INFO: SD Card cs_pin:gpio.15 detect:NO_PIN]
[MSG:INFO: Stepping :I2S_static Pulse:4us Dsbl Delay:0us Dir Delay:1us Idle Delay:2ms]
[MSG:INFO: Axis count 3]
[MSG:INFO: Shared stepper disable I2SO.0]
[MSG:INFO: Axis X (-1000.000, -1000.000, 0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: stepstick Step:I2SO.1 Dir:I2SO.2:low Disable:NO_PIN]
[MSG:INFO: All Limit gpio.36:low]
[MSG:INFO: Y 轴 ( -1000.000,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: stepstick Step:I2SO.5 Dir:I2SO.6 Disable:NO_PIN]
[MSG:INFO: All Limit gpio.35:low]
[MSG:INFO : Z 轴 (-1000.000,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: stepstick Step:I2SO.3 Dir:I2SO.4:low Disable:NO_PIN]
[MSG:INFO: All Limit gpio.34: low]
[MSG:INFO: Kinematic system: Cartesian]
[MSG:INFO: PWM Spindle Ena:gpio.27 Out:gpio.32 Dir:NO_PIN Freq:5000Hz Res:13bits]
[MSG:INFO: Using spindle PWM]
[MSG :INFO: Flood coolant gpio.5]
[MSG:INFO: Mist coolant I2SO.7]
[MSG:INFO: Probe Pin: gpio.22:low]
[MSG:INFO: BT Started with FluidNC]
ok
$SS
ok
M3
ok
G0X10
ok
<Run|MPos:-9.998 ,0.000,0.000|FS:1320,0>
<运行|MPos:-9.995,0.000,0.000|FS:1320,0>
<运行|MPos:-9.993,0.000,0.000|FS:1320,0|WCO:- 10.000,0.000,0.000>
<运行|MPos:-9.988,0.000,0.000|FS:1320,0>
<运行|MPos:-9.980,0.000,0.000|FS:1320,0>
<运行|MPos:-9.975, 0.000,0.000|FS:1320,0>
<运行|MPos:-9.967,0.000,0.000|FS:1320,0>
<运行|MPos:-9.945,0.000,0.000|FS:1320,0>
<运行|MPos :-9.932,0.000,0.000|FS:1320,0|Ov:100,100,100|A:SM>
<运行|MPos:-9.917,0.000,0.000|FS:1320,0>
<运行|MPos:-9.910,0.000,0.000|FS:1320,0>
<运行|MPos:-9.900,0.000,0.000|FS:1320,0|WCO:-10.000,0.000,0.000>
<运行|MPos: -9.882,0.000,0.000|FS:1320,0>
<运行|MPos:-9.608,0.000,0.000|FS:1500,0>
G0X0
正常

一些代码暂停蓝牙通信 #482
作者

再次:
USB –
蓝牙 – 不工作

一些代码暂停蓝牙通信 #482
所有者

不受控制的数据流违反了协议。蓝牙和 USB 在硬件和软件缓冲区方面有所不同。

与这个不受支持的问题相比,我们有更高的工作优先级。如果您发现合规发件人遇到问题,我们将给予更高的优先级。

我们很快解决了您的其他问题。

一些代码暂停蓝牙通信 #482
作者

不受控制的数据流违反了协议。

您从 Linux 控制台中发现了什么?
这只是一个排除发件人问题的测试。
我用的是bCNC,也是一样的。
在蓝牙协议的 FluidNC 中有一个错误。
再次说明:
该程序可从 SD 卡运行。
该程序通过 USB 工作。
该程序无法通过蓝牙运行,因为蓝牙有问题。
支持或不支持——这有什么关系?
存在蓝牙错误,应予以修复。

一些代码暂停蓝牙通信 #482
作者

是否支持 M0 代码?

那么,程序是:

M0
G0X10
G0X0
M2
M30

通过 USB
工作 NOT WORKS 通过蓝牙工作。
通过蓝牙它挂在 M0 之后。
(我用的是bCNC)

现在这是一个问题,值得解决吗?

一些代码暂停蓝牙通信 #482
所有者

好的

一些代码暂停蓝牙通信 #482
作者

类似的问题,在通过蓝牙的 Fluidterm 中我无法将文件发送到 SD 卡:

— Fluidterm on /dev/rfcomm0 115200,8,N,1 —
— 退出:Ctrl+] 或 Ctrl+Q | 上传:Ctrl+U | 重置:Ctrl+R —
ok
路径 /opt/fluidnc-v3.4.7-posix/test.nc
— 发送文件 /opt/fluidnc-v3.4.7-posix/test.nc 作为 /SD/test.nc —
[MSG:INFO: Reception failed or was cancelled]
error:160
发送错误:预期为 NAK、CRC、EOT 或 CAN;收到 b’o’
发送错误:预期 NAK、CRC、EOT 或 CAN;收到 b’k’
发送错误:预期 NAK、CRC、EOT 或 CAN;收到 b’\r’
发送错误:预期的 NAK、CRC、EOT 或 CAN;收到 b’\n’
发送错误:预期的 NAK、CRC、EOT 或 CAN;收到 b’o’
发送错误:预期 NAK、CRC、EOT 或 CAN;取消了 b’k’
XModem 接收

Grbl 3.4 [FluidNC v3.4.7 (bt) ‘$’ 寻求帮助]

Grbl 3.4 [FluidNC v3.4.7 (bt) ‘$’ 寻求帮助]
ok
ok

通过 USB 没问题:

— /dev/ttyUSB0 115200,8,N,1 上的 Fluidterm —
— 退出:Ctrl+] 或 Ctrl+Q | 上传:Ctrl+U | 重置:Ctrl+R —

好的
路径 /opt/fluidnc-v3.4.7-posix/test.nc
— 发送文件 /opt/fluidnc-v3.4.7-posix/test.nc 作为 /SD/test.nc —
$Xmodem/Receive= /SD/test.nc
[MSG:INFO: Received 28 bytes to file /sd/test.nc]
ok

相信我,蓝牙中有一些错误的代码……

一些代码暂停蓝牙通信 #482 MitchBradley 提到了这个问题 2022 年 6 月 10 日
一些代码暂停蓝牙通信 #482
所有者

关闭,用户被阻止。