I've recently adapted my LitePlacer pick and place machine to also do some automated liquid dispensing. The LitePlacer is controlled with a 4-axis TinyG and I'm driving it with UGS. I'm having an issue and I'm hoping someone here can help me out.
Problem- I want to draw a lot of short lines with a dispensing needle "tip". This involves some accel/decel time in which I do not want the dispensing enabled. To the best of my knowledge, conventional G code only allows me to-
1) M08 (enable dispensing (open the air solenoid using the coolant i/o)
2) G1 .... (motion starts, runs, then stops)
3) M09 (disable coolant)
The problem is that it starts and stop dispensing when the machine is stationary leaving a wider "blob" at the beginning and end of the line.
What I really want is-
1) G1 ... (motion starts)
2) (after reaching full speed or some static delay) M08 (start dispense)
3) ... (line is being drawn)
4) (before starting decel) M09 (end dispense)
5) (G1 starts decel and slows to at stop)
Is there any way to send commands to a separate buffer and achieve the desired behavior?
Thanks!