Description
Hi Nikolay!
First off, GREAT project, and big ups for pushing the envelope when others say "it cant be done" and "you need realtime" - i have immense respect for your attitude to prove them wrong (;
Secondly, I have a Pi3 hooked up to a testbench (DQ542MA drivers and motors on the bench, with a custom cable to quickly swop between PyCNC wiring and Grbl to run some comparative evaluations (:
I have configured the instance of Grbl to be the same as the default config shipped with PyCNC (since i assume the config you have here on git is reasonably optimal already - i figured best to compare apples to apples by changing Grbl to match, thus not messing with your proven settings.
I did have to adjust table_size to match the gcode as one of the files has some moves over 200mm...
I am also running Pypy as per your readme.
pi@raspberrypi:~/PyCNC $ pypy -V
Python 2.7.13 (1aa2d8e03cdf, Mar 31 2017, 10:21:21)
[PyPy 5.7.1 with GCC 4.7.2 20120731 (prerelease)]
On long moves, things are working stellar! No complaints. But I am attaching two sample GCODE files - where I can hear the motors vibrating quite a lot when ran through PyCNC, but runs smooth when run through Grbl.
My assumption is that since Grbl has a move planner it handles the short moves, as long as the serial can keep up (; - but since PyCNC is a new concept to me (mind blown) I am not sure why it can't keep up.
I did repeat my batch of experiments with INSTANT_RUN = False too, same result
Hope this helps you debug it (or figure out that I'm doing something wrong lol)
ZIP of two sample gcodes testgcode.zip