Implementing M8 M9 is post processor I see that issuing M8 activates OUT2. I was expecting OUT1 to activate.
This is correct. There is some more in-depth info in the documentation at this link:
We are building out the documentation every day - if there is anything you think is missing let me know and we’ll get it added.
Yes, I know, I had my dust collection hooked up to OUT1 and my vacuum pump on OUT2. When I execute M8 the vacuum pump turns on.
Are you going to implement M7?
I see you are referencing LinuxCNC in the Gcode, would be nice if you implement variables and subroutines.
We can definitely implement M7 and point it at OUTPUT2. I think I would go with the standard implementation where M9 turns off both M7 and M8.
It would probably also make sense to adopt the Marlin interpretation (vacuum) of M10 and M11 and point them at OUTPUT 3.
Your thoughts?
Noted. I’ve added this to our roadmap to investigate.
Since your using LinuxCNC as a reference I would follow the guidelines for creating custom M codes using scripts that call halcmd to set whatever output to true. E.G.
``#!/bin/bash
halcmd sets output_pin_name true
exit 0``
Then the user can change whatever they want by modifying the script tied to the M code.
In LinuxCNC, the M10 and M11 codes are not included as standard commands out of the box. These M-codes are often used in other CNC systems to open (M10) and close (M11) the chuck or control outputs, but LinuxCNC requires custom setup to use them.
To use M10 and M11 in LinuxCNC for functions like chuck open/close or output control, you need to create custom user-defined M-codes. This involves creating executable script files named M10 and M11 in the appropriate LinuxCNC directory (commonly linuxcnc/nc_files). These scripts can then execute commands such as toggling pins through HAL or running bash commands to control hardware.
This has been my experience. I currently use my Masso with a more traditional ATC spindle and use the M10/M11 to control the solenoids for clamp/unclamp.