[Grbl_Esp32 Issue#67] LaserWeb 4 and Grbl_Esp32

未分类 bolang 3个月前 (10-14) 41次浏览

Issue #67 | 状态: 进行中 | 作者: KrisKelvin1 | 创建时间: 2018-12-08


how to make friends LaserWeb 4 and Grbl_Esp32 via WiFi ?


评论 (30)

#1 – luc-github 于 2018-12-08

Use telnet is not working ?

!image


#2 – KrisKelvin1 于 2018-12-08

not working !


#3 – luc-github 于 2018-12-08

what’s happen ? so details would help


#4 – KrisKelvin1 于 2018-12-08

I click “connect” and after a while comes out with a message

———————————————–
Connecting Machine @ Telnet,192.168.1.101
Machine connected
Work Offset: 0 / 0 / 0 / undefined
No supported firmware detected. Closing connection to 192.168.1.101
Machine disconnected
———————————————–


#5 – luc-github 于 2018-12-08

looks like only smoothieware is supported but here a guy succeed by emulating the Grbl 1.1f welcome string
https://github.com/LaserWeb/LaserWeb4/issues/454

Need to dig laser web code to see what welcome string is expected


#6 – luc-github 于 2018-12-08

Laserweb expect to see Grbl 1.1f ['$' for help] when connection start
But currently nothing is sent


#7 – KrisKelvin1 于 2018-12-08

And it turns out that it is impossible to work with the Laserweb program through the wifi?


#8 – luc-github 于 2018-12-08

Nope it is LaserWeb Limitation – lasergrbl is working fine on telnet (https://github.com/bdring/Grbl_Esp32/wiki/Using-Telnet)

I am checking the impact of adding adding this welcome string in telnet grbl_esp32


#9 – luc-github 于 2018-12-08

I have a solution but I need to clean the code :
on connection telnet send welcome string :
!image

so now laserweb seems happy :

!image

I need to discuss with @bdring if we implement this or not


#10 – luc-github 于 2018-12-08

to clarify there are 2 ways to solve the issue
1 – as lasergrbl do currently, laserweb should send Ctrl-X to reset grbl when connected and get this welcome string.
2 – or by default send the welcome string on connection, in that case better to disable the ctrl-X in lasergrbl to avoid twice welcome message – but this is just cosmetic


#11 – bdring 于 2018-12-08

Sending the Ctrl-X is the best long term solution. That is the method most senders have taken. We could add a conditional compile to add that to a telnet connection if LaserWeb is not resistant to doing that.


#12 – luc-github 于 2018-12-08

Ok I can add a define to enable the telnet welcome string
By default it will be disabled


#13 – KrisKelvin1 于 2018-12-09

it will be very good if there is complete compatibility with LaserWeb4 , the program is very easy to use and I think that many users will be grateful to you!


#14 – luc-github 于 2018-12-09

@KrisKelvin1 The commit is in PR now :https://github.com/bdring/Grbl_Esp32/pull/62/commits/aac8f65ab6977ac5c3c3e1431884f50c88310dc4

I suggest you to open a ticket to LaserWeb4 as I am not sure this code will be integrated as @bdring wrote: send a ctrl-X is the method already used by other senders like lasergrbl, so this PR is a workaround just for LaserWeb and may not be kept for long time


#15 – petervanderwalt 于 2019-01-02

@cprezzi


#16 – cprezzi 于 2019-01-03

@openbuilds-engineer Thanks for tagging in. First time I hear from Grbl-Esp32. Cool project!

We do support “Reset on connect” for serial connections (mostly used for Gbl connected by UART), but not for telnet connections yet. It can be activated by the line “RESETONCONNECT=1″ in a .env file in the installation folder.

I can add this option to the telnet part also, if it’s needed.


#17 – luc-github 于 2019-01-06

@cprezzi yes I think would be great
Also may I know how do you control data flow on telnet in LaserWeb ?


#18 – DE-Koodie 于 2019-01-06

Im also planning to use an ESP32 with GRBL and Laserweb, Hardware is arriving this week – let me know if you need any help. Ported my Co2 to GRBL, i have an osciloscope and am familiar with basic programming.


#19 – cprezzi 于 2019-01-08

Ok, the actual lw.comm-server (4.0.133) has been extended to support the “RESETONCONNECT” feature also for Telnet and ESP8266 connection types. It depends on @jorgerobles when he will compile the new binaries to update the installers.


#20 – cprezzi 于 2019-01-08

@luc-github The flow control is the same as with USBserial and differs slightly depending on the detected firmware. Basically we track the available space in the firmware buffer (by counting sent bytes and responses).

Unfortunately Smoothieware does not have an additional internal rx buffer (only the planner) so we have to wait until each line was parsed and added to the planner until we get an ok. The recommended workaround (to just push the whole file to the USB driver and let it handle the flow) is no option, because we want to have near real time control (like pause, stop…).


#21 – luc-github 于 2019-01-08

@cprezzi thank you for the feedback ^_^


#22 – bdring 于 2019-01-08

@cprezzi

I think reducing the number of times data is sent by putting as much data as possible into each transmission could improve performance. Is there a way we could work together to achieve this? We can increase the RX buffer size.


#23 – luc-github 于 2019-01-08

@cprezzi I am guessing you use this calculation : https://github.com/gnea/grbl/wiki/Grbl-v1.1-Interface#streaming-protocol-character-counting-recommended-with-reservation

It is what LaserGRBL call buffered method


#24 – cprezzi 于 2019-01-09

@bdring A bigger RX buffer in the firmware could help with continous flow but I would need a way to detect that it’s Grbl_Esp32 instead of normal grbl to adjust our internal counter. You could probably change/extend the welcome string slightly (like Grbl 1.1f on ESP32 ['$' for help]) so the frontend can detect it. What do you think?


#25 – cprezzi 于 2019-01-09

@luc-github Yes, we use the character counting method.


#26 – bdring 于 2019-01-09

@cprezzi I would be concerned the welcome string change might confuse other senders. We could send a message string like this right after the welcome string.

[MSG:RX Buffer size,254]


#27 – cprezzi 于 2019-01-10

@bdring I don’t know about other senders, but I guess most of them will just parse for a part of the welcome string like Grbl 1.1f (if they even check it). You could also add ;on ESP32 to the end of the string, because everything after ; should anyways be treated as a comment only.
Adding an additional string which is only used for Grbl_ESP32 and will slow down the detection process is no option for me.


#28 – cprezzi 于 2019-02-19

I got my ESP32 CNC Controller V3.1 and started testing. Unfortunately I only have ESP32 DevKit V1 with 30 pins, which do not match the pin mapping of the NodeMCU-32S. So I had to order some NodeMCU-32S :)

Nontheless I was able to programm the WebUI branch to one of my ESP32s and test it with LaserWeb4. After setting RESETONCONNECT=1 in LW4s .env file, everything seems to work fine. Speed via USB and Telnet seems to be equal.


#29 – bdring 于 2019-02-20

@cprezzi That sounds great.

@luc-github said there were some recent improvements to the ESP32 core that could improve telnet.


#30 – cprezzi 于 2019-02-20

I installed the “esp32 by Espressif Systems Version 1.0.1” board via the board manager (after adding the https://dl.espressif.com/dl/packageesp32index.json url to the presets, which means I did not get the newest dev version.
What I realized is, that when in AP mode, it’s not possible to connect with my mobile (Android 8), but it works with a Win10 notebook.


原始Issue: https://github.com/bdring/Grbl_Esp32/issues/67

喜欢 (0)