On Tuesday, September 6, 2016 at 11:17:11 AM UTC-4, Devin Hughes wrote: > > Hi Everyone, > > I was hoping someone a little more experienced with the planner could > explain some behavior to me. In the code, there are specific error checks > that do not allow digital outputs to change state if cutter compensation is > turned on. First question, why? What cutter comp logic is broken by a > motion synchronized digital output? M64/M65 look like they could be queue > busters, and maybe the logic get's complex to replan, but I don't > understand the restriction on M62/M63. > > As a test, I commented out the guard checking for cutter comp and used the > following snippet of code: > > M62 P1 (OUTPUT COMES ON HERE) > G1 G41.1D#<_kerf_rad> X0.0000 Y-0.1000 (OUTPUT GOES OFF HERE) > G3 X0.2000 Y0.2000 I0.0000 J0.2000 > G3 X0.0000 Y0.0000 I-0.7510 J0.0000 > M63P1 > G3 X-0.2000 Y0.2000 I-0.2000 J0.0000 > G1 X0.0000 Y-0.1000 > M05 > ... > M62 P1 (OUTPUT COMES ON HERE) > G1 G41.1D#<_kerf_rad> X0.0000 Y-0.1000 > G3 X0.2000 Y0.2000 I0.0000 J0.2000 > G3 X0.0000 Y0.0000 I-0.7510 J0.0000 > M63P1 (OUTPUT GOES OFF HERE) > G3 X-0.2000 Y0.2000 I-0.2000 J0.0000 > G1 X0.0000 Y-0.1000 > M05 > > > I commented above about the side effects I'm seeing. The first call to > turn on the ouput works, but the state is immediately cleared in the next > line. Then, the second time the code is encountered, it works as expected. > There are no hiccups in motion though, it is perfectly smooth. > > To test if I broke something elsewhere, I used the below snippet (which is > above, but without cutter comp, and only the first nonfunctional hole): > > M62 P1 (OUTPUT COMES ON HERE) > G91 G1 X0.0000 Y-0.1000 > G3 X0.2000 Y0.2000 I0.0000 J0.2000 > G3 X0.0000 Y0.0000 I-0.7511 J0.0000 > M63 P1 (OUTPUT GOES OFF HERE) > G3 X-0.2000 Y0.2000 I-0.2000 J0.0000 > G1 X0.0000 Y-0.1000 > M05 > ... > > This version works as expected, the output remains in the requested state. > > I'm a little stumped, why does cutter comp enable/disable affect gpio? > > Thanks for any guidance, > Devin > > Digging further, it seems that all roads lead to emctaskmain.cc. There, the plan function emits the command to control a digital output provided the mode is manual or mdi. Auto mode only handles the case for an auxiliary input. I must be missing something because the spindle / coolant commands all appear in the planner under auto mode cases as well. I would think the auxiliary motion digital outputs would be treated similarly, but they do not appear in the places I'd expect to see them (all the places coolant controls appear, for instance). I still haven't found the cutter comp interaction though - still searching.
-- website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit --- You received this message because you are subscribed to the Google Groups "Machinekit" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. Visit this group at https://groups.google.com/group/machinekit. For more options, visit https://groups.google.com/d/optout.
