grblHAL / core

grblHAL core code and master Wiki
Other
330 stars 88 forks source link

Breaks in received message #580

Closed karoria closed 1 month ago

karoria commented 2 months ago

Hi @terjeio I don't know where to put this issue in core or iMXRT1062. I get long messages in parts from controller. This makes fetching required data hard. I am not sure whether it has anything to do with firmware code or web sockets driver or browser settings. Please guide me. Screenshot of chrome dev tools console is attached here where T2 tool offsets line is broken in two parts. This message is in response of "$#" command. Thanks in advance. Ravi ToolTable Console

karoria commented 2 months ago

The same behaviour is seen in $$ response also.

terjeio commented 2 months ago

TCP/IP is a packet based protocol and messages might thus be sent in chunks. In addition there is buffering in grblHAL and to improve troughput without adding too much delay messages are sent periodically without waiting for the output buffer to fill completely. So not much can be done at the transmitting end, you will have to parse the incoming data at the receiving end. One option is to wait for the line terminating characters before proceeding, e.g. in ioSender I do so and fire an event for each line received so that the parsing code always gets a complete line at a time.

karoria commented 2 months ago

Got it. Thanks.