gcode multiline buffering, ack problem and proposal February 25, 2014 12:29PM |
Registered: 14 years ago Posts: 177 |
Re: gcode multiline buffering, ack problem and proposal February 25, 2014 03:12PM |
Registered: 14 years ago Posts: 177 |
Re: gcode multiline buffering, ack problem and proposal February 25, 2014 11:55PM |
Registered: 14 years ago Posts: 177 |
Re: gcode multiline buffering, ack problem and proposal February 26, 2014 04:37AM |
Registered: 12 years ago Posts: 1,236 |
Re: gcode multiline buffering, ack problem and proposal February 26, 2014 09:55AM |
Registered: 14 years ago Posts: 177 |
Re: gcode multiline buffering, ack problem and proposal February 26, 2014 03:51PM |
Registered: 14 years ago Posts: 177 |
Re: gcode multiline buffering, ack problem and proposal March 01, 2014 07:51AM |
Registered: 10 years ago Posts: 91 |
M951 >> 256 G1 X123.456789012 Y123.456789012 Z123.456789012 E123.456789012 // FIFO=[63] G1 X123.456789012 Y123.456789012 Z123.456789012 E123.4567890 // FIFO=[63, 61] G1 X123.456789012 Y123.456789012 Z123.456789012 E123.45678 // FIFO=[63,61,59] G1 X123.456789012 Y123.456789012 Z123.456789012 E123.456 // FIFO=[63,61,59,57]. No space for next command, since sum(FIFO)=240. Some time passes. >> ok // FIFO=[61,59,57]. Can now send another command. G1 X123.456789012 Y123.456789012 Z123.456789012 E123.4 // FIFO=[61,59,57,55]. No space for next command, since sum(FIFO)=232. Some time passes. >> ok // FIFO=[59,57,55]. Can now send another command. G1 X123.456789012 Y123.456789012 Z123.456789012 E123.4 // FIFO=[59,57,55,55]. Host has no more commands. >> ok // FIFO=[57,55,55]. Host has no more commands. >> ok // FIFO=[55,55]. Host has no more commands. >> ok // FIFO=[55] Host has no more commands. >> ok // FIFO=[]. Host has no more commands.
Re: gcode multiline buffering, ack problem and proposal March 02, 2014 03:22PM |
Registered: 14 years ago Posts: 177 |
Re: gcode multiline buffering, ack problem and proposal March 02, 2014 05:00PM |
Registered: 10 years ago Posts: 91 |
Quote
sam0737
Your scheme doesn't address data corruption.
What if the command sent was corrupted? The host does not know if the command is received and working (D4/M116 will take a long time), or the command is not received properly such that firmware can't response with an ok.
The further question is what if the firmware response is corrupted.
Re: gcode multiline buffering, ack problem and proposal March 03, 2014 04:41AM |
Registered: 14 years ago Posts: 177 |
Re: gcode multiline buffering, ack problem and proposal March 03, 2014 06:07AM |
Registered: 10 years ago Posts: 91 |
Quote
sam0737
> Whenever a packet is transmitted without errors it should be recognized as such by the receiving side.
I don't agree. The either thing could get lost - Maybe the UART TTL line is simple disconnected, maybe the firmware hangs.
The host must be able to recognize this without confusing with lack of activity in high level means (like waiting for G4), maybe due to the lack of response from the firmware.
Quote
sam0737
Yet there are rooms of improvement for lower and middle layer.
Re: gcode multiline buffering, ack problem and proposal March 03, 2014 06:13AM |
Registered: 10 years ago Posts: 91 |
Re: gcode multiline buffering, ack problem and proposal March 03, 2014 12:53PM |
Registered: 14 years ago Posts: 177 |
Re: gcode multiline buffering, ack problem and proposal March 14, 2014 08:03AM |
Registered: 13 years ago Posts: 7,616 |
Generation 7 Electronics | Teacup Firmware | RepRap DIY |