As the originator of this request, I've left my feedback in detail elsewhere, but let me summarize my request for this thread: After an hour or more of spiral carving with Fusion's linuxcnc postprocessor, I end up around A556200 (for example), then Fusion does G0 A0 to "reset" the rotary for the next op. That takes many minutes of high speed spinning, and is totally unneeded. I would like to skip this massive unwind. This is a common complaint online, and the usual response is to use G10 to change the WCS offset before the G0 A0 but that has its own drawbacks. Doing something similar in the G0 itself would be much more consistent across the machine's operation. Yes, WRAPPED_ROTARY, but there are times when you don't want to use that.
Don't expect the standard LinuxCNC postprocessor in Fusion360 to be 100% compatible. It was created by people unfamiliar with LinuxCNC and who don't respond to error reports—this is a common problem with some basic HSM posts. This is especially true for the LinuxCNC post for turning—it's completely unusable without modification.
To work with the WRAPPED_ROTARY function, the post needs to be modified so that the A-axis output is in the range 0-360 and the sign indicates the direction of rotation.
If you can't do this yourself, I can help with instructions later.
grandixximo post=346054 userid=3182
What I want to hear: does this behavior fit how your CAM emits G-code, would M26 default plus plain absolute output Just Work for you or would you need M27 sections, are there kinematic configs (coupled 5-axis TCP, gantry rotary, weird mappings) where you think this would behave badly, and do you have test G-code you would like me to run through it before merge.
Most CAM systems support any logic, but this needs to be configured in the post. This isn't done by default.
In any CAM, the postprocessor requires settings specific to the specific system. The fact that some users experienced problems with the rotary axis returning to 0 only means they didn't configure this setting and were using the wrong postprocessor. Having done this, there are no problems working with the current logic.
Regarding changes, I think the ideal change would be to simply add the ability for the WRAPPED_ROTARY function to automatically handle values >360 in absolute mode.
However, giving users the option to toggle is also a good option.
But I don't understand the difference between m27 and the current wrapped rotary mode; as far as I understand, they are identical. Perhaps in this case, adding another INI line isn't necessary; adding wrapped_rotary=2 (type=2) will suffice, which will set the default mode for the rotary axis (m26 or m27).
I also believe that M27 is the primary mode for operation.
Reducing all transitions (in m26) is difficult to debug and lacks the ability to strictly define the direction of transitions >180.
Most 5-axis mechanisms don't have infinite rotation capability, and this is critical for them. Otherwise, additional functions have to be added to the post to separate movements >180 into two separate lines - that's an additional overhead.
Also, incremental mode is not recommended for use in CAM—it's prone to error accumulation during multiple short movements, which is what most programs consist of.