G Codes in Easel sending M codes

Why does it send an M7, and M20 code when I download the g code from Easel?
It automatically sends it as a file from GRBL or Gimp when I download the G code from Easel. I removed Gimp from my computer and then it went directly to GRBL for the file. Do I have to get rid of GRBL too? It wont give me an option to save as. I then have to download that G code and then go and open it in Word or Notebook and take out the M codes and then save it to my Offline controller that way.

The M7 is to turn on coolant (which is really just the name of the relay connector on the x-controller which could have flood (or in my case dust collection so it starts and stops (M9) with the carve. That way I never forget it and don’t forget to shut it off (as it is loud)

Is there any way to get rid of them? It won’t work otherwise. I want them to not be sent in the g code when downloading. I don’t want them or need them nor will it work with them. If they are there it’s giving me a code error of 20 or something.

Are you using an X-carve or some other machine? GIMP being an image editor should have zero effect on any of this (I suppose your machine may have some weird file extension association from .gcode (you didn’t say what OS you are running under). The x-carve should not care about the M7 (you didn’t say what the problem is that the M7 is causing). If you have something on your machine that uses M7 (if it is an x-carve it should power up the coolant connection which you can use for anything you want to happen during a carving job which is why I have it turn on the dust collector/off at the end with a M9). I am not sure what it means “it went directly to GRBL”. do you have a program running GRBL on your computer (GRBL typically runs on the controller of the CNC since it takes those commands (such “G0 X0Y0” will rapidly move to the origin) and turns g-code commands into stepper motor motion. Unless your computer is the hardware controller for your CNC (totally OK if that is the case but wasn’t obvious and is not the case in the Easel/X-Carve pairing). In that case, Easel makes G-Code commands which it transmits via USB/Serial over to the controller (either the old-school controller or the X-controller) which runs GRBL which interprets those G-Code commands and turns them into stepper commands within the controller (i.e. the CNC) which then turns the wheels of the milling machine and moves the tools around (sorry if you know this, just trying to set a base level of layout here)

Do you have “Accessory commands” selected when you export?

Are you sure about the M20?

M20 doesn’t sound right to me - M20 is a command to list all printable files on the SD card back to the requesting serial port in compact DOS 8.3 format. Only files with .gcode, .gco, and .g extensions will be listed. Hidden files (beginning with .) will not be listed.

Hosts or serial controllers should send M20 to get a DOS 8.3 file listing of the active media device that includes file sizes.List SD Card | Marlin Firmware

@JamesWNZ That has nothing to do with GRBL. M20 is not a standard gcode for CNC routers/mills, and as you found, is a very specific and unused command for a specific firmware for 3D printers.
I was trying to get the OP to clarify what he meant. My guess is that he saw an M2 or an M02 which both should be ok. If something is not working, it’d be useful to know exactly what.
My guess is that the OP’s sender or his offline controller is having issues with the M commands. If it’s just the M7, Easel only generates that if you tell it to. If the issue is with the M2 (or M02…same thing), then the problem is the sender or offline controller as any decent CAM program will output an End of Program command.

I sent in a picture of the M codes that I am getting. There is nothing I am doing to request an M code all I do is drop-down menu g code and I get these 2 M codes.

@NeilFerreri1 makes sense. I was just trying to help with a direction of where to look in case a M20 request was being issued (which I agree makes no sense)

Are you sure this isn’t checked?

Can you upload your gcode here?