Hello everyone!
A plugin was written to register a new command in klipper - parallel_gcode.
After calling this command, gcodes are listed that need to be executed in parallel, but a problem arose - the main thread, which is responsible for the sequential execution of gcode in klipper, is engaged, gcodes are not executed in parallel, and when calling any other, it also does not start to execute.
An idea arose, the basis of which is that it is necessary to modify the addition of gcode to the queue, but it is a little difficult to understand how and where this logic is implemented, can you tell me please what logic is responsible for forming the gcode queue in klipper? And how, for example, it is better to change it to add logic for executing gcode in parallel, without causing critical damage to the logic of sequential execution.