[Grbl_Esp32 PR#46] Add Telnet Feature

未分类 bolang 4个月前 (10-14) 38次浏览

Issue #46 | 状态: 已关闭 | 作者: luc-github | 创建时间: 2018-10-28


Update latest index.html.gz


评论 (8)

#1 – bdring 于 2018-10-28

I am getting 2 OKs after sending each command.

$H
ok
ok
G91
ok
ok

Extra OKs could cause senders to overfill the buffer.

I tried using LaserGrbl’s telnet feature. It reports an error and Grbl goes into a WD reset loop.


#2 – gflaser-au 于 2018-10-28

I noticed the double OK on the serial port over the weekend, so I think this was an issue before this PR.
I was using the serial port to stream GCode, (LaserGRBL) and it has been working ok. (I haven’t noticed any buffering issues / missed instructions)


#3 – luc-github 于 2018-10-29

This is in GRBL itself – I have same behavior with Master (no Web UI code)
This depend if sender send \r\n or just \n by serial or telnel
I think by default telnet terminal send \r\n
I think FW should ignore standalone \r and \n

I will check LaserGrbl’s issue


#4 – luc-github 于 2018-10-29

I can reproduce issue with LaserGRBL default settings:
!image

Issue seems due to :

E (105102) boot: Assert failed in pbuffree, /Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/lwip/lwip/src/core/pbuf.c:765 (pbuffree: p->ref > 0)
E (110099) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
E (110099) task_wdt: - IDLE0 (CPU 0)
`
Which look like tcp buffer overflow to me
too many status queries without flow control drive wifi server crazy...

changing settings to :
!image

and also ignoring \r` in telnet bridge solve the issue
With these adjustments:
!image

I am checking if I can avoid overflow of TCP buffer now to secure the problem


#5 – luc-github 于 2018-10-29

looking at laserGRBL code:

public static ThreadingMode Slow
{ get { return new ThreadingMode(2000, 15, 4, 2, 1, "Slow"); } }

public static ThreadingMode Quiet
{ get { return new ThreadingMode(1000, 10, 2, 1, 1, "Quiet"); } }

public static ThreadingMode Fast
{ get { return new ThreadingMode(500, 5, 1, 1, 0, "Fast"); } }

public static ThreadingMode UltraFast
{ get { return new ThreadingMode(200, 1, 0, 0, 0, "UltraFast"); } }

public static ThreadingMode Insane
{ get { return new ThreadingMode(100, 1, 0, 0, 0, "Insane"); } }

doing query more than once every 1s make no sense in telnet as it is slow
about Buffered vs Synchronous : the synchronous make sense to avoid an oververflow,


#6 – bdring 于 2018-10-29

You are right about the \r\n causing the double OK. I try some of those other LaserGrbl settings.


#7 – luc-github 于 2018-10-29

I have pushed some changes that should help – but so far use synchronous and slow or quiet are mandatories


#8 – luc-github 于 2018-10-30

thank you ^_^


原始Issue: https://github.com/bdring/Grbl_Esp32/pull/46

喜欢 (0)