I tried running a recent marlin with LaserGrbl but unfortunately there were some issues.
default buttons use grbl specific (non)g-code commands like $H and $30 and such, converting them inline
having a M3/M4 in a G-line is not supported, using "Mx I" instead
S-commands without M/G is not supported, prepend last M command
it requires some defines in marlin of course. here some of them
// i am using an ESP3D for telnet remote and with lower buffer sizes, there were lot protocol errors
#define RX_BUFFER_SIZE 1024
#define SERIAL_XON_XOFF
// obvious
#define LASER_FEATURE
// for the M3/4 I commands and G with S to work
#define LASER_POWER_SYNC
#define PAREN_COMMENTS // Support for parentheses-delimited comments
// not really required as i convert them
#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
finally it converted the various flavours of S-M and G-command mixing properly.
one hint - one should change the postamble (and maybe the focus helper) to contain a "M5 I" to make M3 enable the laser directly.
I tried running a recent marlin with LaserGrbl but unfortunately there were some issues.
it requires some defines in marlin of course. here some of them
finally it converted the various flavours of S-M and G-command mixing properly.
one hint - one should change the postamble (and maybe the focus helper) to contain a "M5 I" to make M3 enable the laser directly.