On Sat, 15 Jan 2022 at 02:40, Leonardo Marsaglia <[email protected]> wrote:
> I have a little question about inhibiting jogging motion. I know I can do > that with G CODE but I would like to know if there's an easy way to extend > it to JOG motion. That depends on the source of the jog motion. I don't think that you can do this for keyboard jogging in Axis, for example. For jogwheel jogging in the HAL layer you can set the jog-enable pin to false for the axis in question. axis.L.jog-enable IN BIT / joint.N.jog-enable IN BIT For continuous HALUI jogs I think you would need to set scale and / or increment to zero to inhibit. (which does not affect keyboard / mouse jogs from the GUI) halui.axis.x.increment / halui.axs,jog-speed etc A linked problem is deciding when to allow jogs to get away from the limit shape. The GUIs tend to do this internally. If you are on the positive limit then they allow negative jogs. For a more complicated bounding box it is altogether more complicated. I think that my approach would be to define the limits with an STL file. The reason being that STL is a rather simple format, but contains facet normal information. Luckily jogging generally only happens in straight lines along each axis (Not necessarily the case with analogue joypad jogging) so at the start of motion you can pre-calculate the face that will be hit and where. Then, if the combination of the direction if that face normal, the intercept point on the face, and the jog direction indicates that motion should be allowed, then allow motion. I would write this as a HAL realtime component, but it would probably work OK as a Python userspace component, and then there would be existing libraries available. -- atp "A motorcycle is a bicycle with a pandemonium attachment and is designed for the especial use of mechanical geniuses, daredevils and lunatics." — George Fitch, Atlanta Constitution Newspaper, 1912 _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
