Buffer encouragement just added. If you’re in TinyG workspace the Serial Port widget encourages you to use the TinyG buffer. If you’re in Grbl you are prompted to choose the Grbl buffer. We will require these buffers in the future, but for now they’re highly encouraged. Changes the whole game for your experience on ChiliPeppr.
Can you give more info on what happens under the hood?
Because ChiliPeppr is in a browser, but the Gcode needs to be super close to the serial port for feeding into the extremely small buffers that CNC controllers have, i.e. 128 bytes on Grbl / 256 bytes on TinyG, you need to buffer up the commands to get massive speed rates of feeding Gcode, you need to add logic to Serial Port JSON Server to know how to buffer correctly. That logic is not on by default. By default you are having the browser buffer where it 1) Send gcode 2) Wait for SPJS response. That is a slow process around 100ms. You need to get it down to around 5ms. So you feed in your Gcode to a fat/huge buffer in SPJS where it has Megabytes of room. Then the SPJS can do 1ms response times on 1) feed in Gcode 2) see response 3) feed in next gcode line.
I assume SPJS understands instant command for pause? E. G.!
All commands that must skip to the front of the line are supported and do. !~% all skip to front of the line to get instant response. If you have 10,000 lines queued up, sending a feedhold ! will still be instant.